A Chink In Android's Armor

75 million phones running the Android operating system will be sold in 2012, says research firm Gartner, which if right, would eventually make it the second most popular mobile OS after Symbian.

This makes sense, because the operating system is free (unlike Windows Mobile), and it gives mobile carriers and handset manufacturers who aren’t Apple and RIM (the closed off guys) the ability to create a smartphone that someone may actually want to use. I’ve switched to Android now based largely on deep integration with Google Voice. And that is despite the fact that Android is still just an infant. Version 1.5, which most people are using, has an imperfect user interface and is somewhat laggy on today’s hardware.

But hold on. There’s just one problem. Android, an open source operating system, must avoid the fate of J2ME, an open source mobile applications platform. Open source is great, until everyone splinters off into their own world. That’s what happened to J2ME, and a number of frustrated Android developers are now saying that there is a risk Android will follow the same path.

New Android devices are being announced and shipped in bunches. HTC, Samsung, Dell, Verizon and others have phones on the way. Each has different hardware, and different software, than the others.

We’ve spoken with a number of high profile Android application developers. All of them, without exception, have told me they are extremely frustrated with Android right now. For the iPhone, they build once and maintain the code base. On Android, they built once for v.1.5, but are getting far less installs than the iPhone.

And now they’re faced with a landslide of new handsets, some running v.1.6 and some courageous souls even running android v.2.0. All those manufacturers/carriers are racing to release their phones by the 2009 holiday season, and want to ensure the hot applications will work on their phones. And here’s the problem – in almost every case, we hear, there are bugs and more serious problems with the apps.

There are whispers of backwards and forwards compatibility issues as well, making the problem even worse.

More than one developer has told us that this isn’t just a matter of debugging their existing application to ensure that it works on the various handsets. They say they’re going to have to build and maintain separate code for various Android devices. Some devices seem to have left out key libraries that are forcing significant recoding efforts, for example. With others, it’s more of a mystery.

Imagine if Windows developers had to build different versions of their applications for different PC manufacturers. Or even different versions for various models by a single manufacturer. That’s what some Android developers are saying they are facing now.

Some manufacturers/carriers are opting out of the Android marketplace altogether, and only allowing custom applications on the phone. These devices can still use the Android robot logo, which is creative commons, but they aren’t able to use the Android text logo, which requires that they pass a compatibility test suite.

Developers are frustrated. And consumers will be confused when their “Android” phone won’t let them download their favorite third party applications.

When Steve Ballmer said open operating systems are hard, he wasn’t kidding. And Google, which is currently building two separate operating systems (Android and Chrome OS) doesn’t have 30 years of experience in getting it right.

But Wait…Keeping the Cart Behind The Horse

First of all, the compatibility between versions issue may be overblown. The reported problems have been limited to an Android developer contest, where developers were building on v.1.5 and being reviewed on v.1.6. We haven’t heard of any major app developers complaining of backwards or forward compatibility problems. Also, I’ve now upgraded my phone from 1.5 to 1.6, and every application continues to work fine.

The bigger issue of a general splintering of Android cross-partner may also be overblown. As I said above, the carriers are rushing to get devices to market by end of year, and they are pushing developers to ensure that their apps work. In most cases the test devices developers get aren’t running final software, and so the final devices at launch may not have these problems.

The real test will come in a month or so when sales of multiple devices running v.1.6 of Android ramp up. If apps are running bug-free cross-device without tons of developer frustration, Android may be looking good. But if developers are forced to create and maintain multiple versions of their apps for various devices, Android may be in trouble. The whole idea of Android is to let app developers build once and let users install on any Android device. Right now, it’s not a certainty that will happen.