Terrence O’Brien recently penned a great piece in Switched assessing whether or not Google’s Android OS is growing too fast for its own good.
After getting off to a slow start, Android phones have gone gangbusters. As of last July, there was only one Android-powered device available in the U.S., but that number has since exploded. Now, there are eight Android phones available stateside, with more expected to debut in the coming months. So things must be looking pretty great for the mobile OS from Google, right?
Not necessarily. A few issues have both Google and the developers of Android-friendly applications worried. For the most part, the issue can be reduced to the term “splintering.” Right now, those eight phones share three different versions of the Android core: 1.5, 1.6, and 2.0. The phones also have vast hardware differences between them; for instance, some models have keyboards while others don’t, and some cameras have flashes while others do not. Then, there are the customized interfaces (or skins), like HTC’s Sense on the Hero and Motorola’s Blur on the Cliq. These differences make it difficult to build apps, since even basic updates need to be tested against every possible combination of hardware, skin, and Android version. And a smartphone OS lives and dies by its developers.
On the same topic, Russel Beattle recently opined on the distinct advantage Apple holds over its competitors to the extent that every iPhone model ever sold (going all the way back to the 1st generation Edge device) runs the same OS, a fact which makes developing for the platform a seamless process for developers across varying iPhone models.
In contrast, developers often face the complete opposite scenario when coding for platforms like Symbian and Google’s Android.
On the flip side of this is what Nokia (my employer) has done, which is slightly tweak the Symbian/S60 version of the OS for every new phone that comes out, letting the carrier add additional tweaks, and not really attempting to homogenize the various versions through (rarely applied) updates. Multiply the number of models per year (10-20) by the number of years Symbian’s been around by the various custom carrier modifications, and you get complete developer and consumer confusion.
Okay, now you have Android. I recently bought an Archos 5, which I’m very happy with as a gadget. However, it’s stuck on v1.5 of the Android OS right now, with a custom GUI extension added to make up for its lack of keys and home/menu/back. Additionally, it’s not a Google-sanctioned distribution, so there’s no Android Marketplace, nor able to run any of the important Google apps: Mail, IM, Maps, etc.
… As a technical user I can understand why this is happening – the platform is young, manufacturers are rushing out products and there hasn’t been any sort of standards put in place yet.
But to a normal end user – they expect that if they see the friendly green Android on the box, that it’ll work the same and run the same software as their shiny new smartphone. Right now that isn’t the case, nor will it be in the foreseeable future. Compare the Verizon Droid to the T-Mobile G1 to the Archos 5 to the various other products (eBooks, HTC phones) running on Android and you get very vastly different experiences and capabilities. Whether or not that’s “technically” splintering doesn’t matter – it makes things difficult for everyone involved: developers, consumers, manufacturers, etc.
A varied lineup of Android phones, for example, not only puts developers into a less than ideal position, it also means that the installed base of users who can download and use a particular app is necessarily smaller than the actual number of users running Android. With the iPhone platform, it’s the exact opposite. 40 to 50 million iPhone and iPod Touch users means that there are literally 40 to 50 million users capable of downloading and using your app (save some of the apps that rely on features specific to the iPhone 3GS such as a video camera). For a developer, the decision seems easy.