Google: There's no Android fragmentation

One thing that Google has been praised for lately is the constant development of the Android platform and the introduction of new features and functionalities in the form of OS updates every few months . Unfortunately the nature of the Android market which is composed of OEMs and Carriers freely building Android devices with different hardware specifications and UI customization results in the fragmentation of the ecosystem. Google is also guilty of sometimes working closely with an OEM on an updated Android version and leaving the rest of the partners in the dark (Android 2.0 -> Motorola Droid and Android 2.1/2 -> Nexus One). The immediate consequence is that phones bought less than a year ago (like the Hero, Magic etc) can’t or won’t be updated to the latest version of the OS (or will receive 2.1 when 2.3 will be out..) and that new applications usually require the lastest version of the OS to be installed on the phone.

A couple of hours ago, Google’s Open Source & Compatibility Program Manager Dan Morrill post a blog post about Android’s Fragmentation and tried to explain to the world that it didn’t really exist:

Another meme I remember is… yes, “fragmentation”. Literally before the close of business on the same day we announced Android (4:46pm to be precise), I saw the first article about Android “fragmentation.” The first day wasn’t even over yet, and the press had already decided that Android would have a “fragmentation” problem.

The thing is, nobody ever defined “fragmentation” — or rather, everybody has a different definition. Some people use it to mean too many mobile operating systems; others to refer to optional APIs causing inconsistent platform implementations; still others use it to refer to “locked down” devices, or even to the existence of multiple versions of the software at the same time. I’ve even seen it used to refer to the existence of different UI skins. Most of these definitions don’t even have any impact on whether apps can run!

Because it means everything, it actually means nothing, so the term is useless. Stories on “fragmentation” are dramatic and they drive traffic to pundits’ blogs, but they have little to do with reality. “Fragmentation” is a bogeyman, a red herring, a story you tell to frighten junior developers. Yawn.

To me this looks like Google is burying its head in the sand. Android is fragmented, even the iPhone is fragmented (original iPhone vs iPhone 3G vs 3GS etc) it is inevitable because of the way hardware evolves. The problem with Android is that it only took 1 year to become a total mess. Windows Mobile is the prime example of this ecosystem fragmentation and the only solution found by Microsoft to fix this in Windows Phone 7 was to enforce strict hardware requirements and software requirements (similar to the iPhone’s approach but with many OEMs) so that users worldwide will always have the same version of the OS at the same time. Google will have to find a way to compensate this problem (fragmentation will always happen anyway) and it looks like  Andy Rubin’s announcement that OS updates will only be released once a year in the future is a proof that Google acknowledges the problem (unlike Don’s blog post):

So we launched it, and from our internal 0.8, we got to 1.0 pretty quickly, and we went through this iteration cycle. You’ve noticed, probably, that that’s slowed down a little bit. Our product cycle is now, basically twice a year, and it will probably end up being once a year when things start settling down, because a platform that’s moving — it’s hard for developers to keep up. I want developers to basically leverage the innovation. I don’t want developers to have to predict the innovation.

Source: Android Dev Blog & Techcrunch