As Google prepares to kick off its annual Google I/O developer conference
Wednesday, the wireless industry -- including many open source mobile app developers -- are anticipating the Android 2.2 release, dubbed Froyo
, not only because of its faster processing features but also for its potential to mitigate the nascent OS's fragmentation issue.
Handsets powered by Google's Android are becoming increasingly popular, but the open source smartphone platform is facing a threat that could cause it to self-destruct.
The threat is fragmentation, because the Android operating system exists in so many different versions. Applications written for one version may not work on other versions and, to compound the problem, handsets supplied with one version may not be upgradable to other versions.
Mobile App Devs Fretting Over Linux-Based Android Fragmentation
Fragmentation is a concern to handset owners, but it is also a consideration for developers who have to try to ensure that their applications run on as many versions of Android as possible.
"Fragmentation is a key issue for developers in the sense that it creates much more work for them than would otherwise be the case," Chris Schreck, analyst at IMS Research
, says in a report. "Differentiating between strains of an OS, modifying code for each strain, and ensuring that a user obtains the appropriate version of a program, aren't practical possibilities for many mobile developers. Developer resources are notoriously limited, and adding incompatible strains within platforms to the already crowded smartphone OS space makes their uphill climb even steeper."
This is a serious problem because modern smartphone platforms live or die by the availability of a wide selection of apps that the devices can run -- the rush by Google, BlackBerry, Nokia and Microsoft to establish marketplaces that mimic Apple's AppStore testifies to this fact.
"In the case of Android developers, you already have a much smaller installed base of devices than exist for some of the other smartphone platforms. When you further segment that group into different OS strains, the actual potential market for your application starts to look pretty small. Without Google addressing this issue, Android developers are going to find themselves working harder to reach fewer people," Schreck adds.
Android hit the market around eighteen months ago, and since then there have been no fewer than six versions of the OS. Using data based on the number of Android devices accessing the Android Market during a fourteen day period up to May 3, 2010, it is clear that there are now three main strains of Android being used - Android 1.5 (37.2 percent), Android 1.6 (29.4 percent) and Android 2.1 (32.4 percent) The other three versions (1.1, 2.0 and 2.01) account for just 1 percent.
The large number of Android versions that have been release in less than a year and a half reflects Google's "release early, release often" strategy for its desktop apps and services: many of these are first released as bare bones apps that are fleshed out over time with new features. This has meant that big changes have been made to Android in a relatively short space of time.
"Android started as a relatively immature platform, so the changes that have been happening have been at the fundamental, core level," says Schreck.
Apache Agreement Means Reciprocity Not Required
Aside from being inconvenient for the all-important developers there is another, far greater, potential problem when it comes to fragmentation. Android is distributed under the Apache software license, and this allows handset vendors to modify Android to their own requirements, without having to contribute these modifications back to Google for others to use.
"The question is how much handset vendors will manipulate the Android code. You could get a situation where a vendor makes changes and proliferates these changes though its entire product range, without Google being able to rein it in.
"While this license characteristic serves to encourage licensees to innovate on the platform (without fear of having to share IP), it also allows licensees to alter the platform in isolation, a recipe for fragmentation," according to Schreck's report.
This contrasts with the approach taken by other mobile operating system makers. Nokia with its open source Symbian operating system -- and more recently by Nokia and Intel with MeeGo -- have strong governance models and distribution licenses which ensure that the operating systems can't be fragmented in this way, Schreck says.
Microsoft appears to be taking steps to sidestep the problem by defining just three hardware profiles that all handset makers that wish to use its forthcoming Windows Phone 7 operating system must comply with.
And while Apple's iPhoneOS software has gone through three major versions in the three years since it was first released, fragmentation has not been an issue because all three existing versions of the iPhone have been user-upgradable to the latest software using iTunes.
Google can't take Apple's or Microsoft's approaches because manufacturers are free to decide on the hardware profiles of their individual handsets, making universal compatibility impossible, and because when new versions of Android are released, users have to wait until an upgrade is available from their handset vendor or carrier.
These wait times can vary widely: for example, users of Motorola's Droid handset can upgrade to Android 2.1 today, while a similar upgrade for its Backflip handset is not planned until some time in the third quarter of this year. A possible 2.1 upgrade for the Devour handset is "under evaluation" but a date for its availability has yet to be announced.
What can Google do to prevent and reduce fragmentation? One possibility that has been raised is to "decouple" as many of the OS's applications and components as possible from the core operating system code.
These could then be made available directly from Google through the Android Market, instead of via the handset manufacturer, in the same way as iPhoneOS updates are available directly from Apple via iTunes (and in fact the way that Google has allowed Android users to update the Android Maps application.)
Google could also slow down the pace of its Android development. While this sounds unlikely, the operating system is now much more sophisticated and mature than it was just a year ago, so core changes are likely to happen less frequently. "I can't think of anything else I'd like to see in the core operating system," says Dan Schroeder, a Pennsylvania-based Android developer. "I started developing for the G1 phone and it was a bit basic, but now I have a Nexus One running Android 2.1 and it is much better."
Meanwhile, Kevin Tofel writes at GigaOm that Android 2.2 will bring better performance to handsets, as well as less fragmentation to the ecosystem.
"While Google doesnt control which Android handsets will see Android 2.2 -- thats left to the carriers, with the lone exception being Googles own Nexus One -- the speed bump isnt all Im expecting next week. I suspect that Google will continue pulling its applications out of the core Android platform and make many of them available to device versions through the Android Market.
"While that wont completely remove the fragmentation issue caused by Android 1.5, 1.6 and 2.1, it will reduce the effects -- handsets with Android 1.5 or 1.6 would still have the older user interface, but would see more feature parity with Android 2.1 devices. The ideal situation would be for all capable handsets to run Android 2.2, but given the carrier control, thats highly unlikely -- a shame really, because many older handset, such as the original G1, run just fine with the Android 2.1 ROMs found on enthusiast sites and forums," said Tofel.
For now the specter of fragmentation seems to have done little to dampen enthusiasm for the Android platform: smartphone sales figures for the first quarter of this year from the NPD Group show that Android phones have overtaken Apple's iPhone in popularity to take the number two spot behind Research in Motion's Blackberry devices. How Google deals with fragmentation -- and if Froyo 2.2 addresses it -- will likely have a huge bearing on whether these strong sales continue into the future.