by Caroline Gabriel, Rethink Wireless
Android is gaining plenty of ground among handset OEMs, but it has major challenges still. It is fragmenting as its licensees introduce their own tweaks, so that only very carefully written applications are truly cross-vendor. Every time a new functionality is introduced, the platform gets more confused, and now the Android drivers have been removed from the main Linux kernel altogether, exploding the myth of some harmonised underlayer for the various mobile Linux variants.
Most recently, Google added full multi touch support, with pinch-to-zoom, to Android 2.1, but so far has released this only for Nexus One, not phones like Motorola Droid. When questioned on why it appeared to be favouring its own product, the company said: “Once we make this software update (2.1-update1) available to operators and handset makers, they can update their Android powered devices accordingly”. This reinforced the misgivings of many partners and developers, that this supposedly open source platform is as tightly controlled by Google as Apple’s iPhone.
Last week – even as Linux inventor Linus Torvalds was blogging that the Nexus One was the only handset he had ever liked – Novell Fellow and Linux developer Greg Kroah-Hartman deleted Google’s Android driver code from the Linux kernel. He said the mobile OS was now incompatible with the project’s main tree, meaning that Android is now a Linux fork (a variant that is rejected by the mainline community, or seen as a sideline).
Forking is not necessarily a bad thing, but it is arousing considerable suspicion from Linux developers who have already been critical of Google’s poor communication with its community, and its limited support for native Linux tools. The search giant has now released a native development kit (NDK) for Android, but most Android apps run on Dalvik, Google’s own Java virtual machine (JVM).
This, in turn, has attracted criticisms for not being a standard JVM, capable of working with Java apps for other platforms, and for hindering the performance of Android. This is becoming a critical consumer issue too, as the OS moves into high powered devices with PC-like functionality, like the 1GHz Nexus One and upcoming HTC Bravo.
Here, at least, some help is on the way, from Myriad Group, the Swiss mobile software firm that numbers handset JVMs among its specialities. It has released Dalvik Turbo, which replaces the vanilla Dalvik virtual machine and claims to boost the performance of Android applications threefold.
Not that Myriad has been uncritical of Google’s Android policies itself. The firm’s influential CTO, Benoit Schillings, formerly in the same post at Trolltech and Nokia, commented recently: “They are using Java, but they aren’t implementing any well-known Java framework, and really that just creates another standard to support. The risk they take here is that they might fragment the market further.”
However, Myriad has been focusing hard on Android enhancements. Dalvik Turbo increases application execution speed by up to three times, supporting more complex programs and promising substantial battery life improvements. The firm says it “enables developers to take full advantage of Android, allowing them to create games boasting advanced graphics and complex models while retaining full compatibility with existing software”.
The new VM runs on ARM, Intel Atom and Mips processors. Myriad is a founder member of the Open Handset Alliance, the industry body that supports Android, and is responsible for the OHA’s Compatibility Test Suite.