The NeoSmart Files

Android: A Fragmented Platform or Not?

If you were to believe the latest headlines at Business Insider, Android is a fragmented mobile platform and has a negative effect on the applications, for developers and end-users alike. Android is currently in a heated battle with the other two big names in mobile technology (the iPhone and the BlackBerry being the other two), and this is a serious matter definitely worthy of discussion.

But Dan Frommer’s allegations in his latest post on BI don’t really add up. Frommer contends that the official twitter app for Android, which only works on Android v2.1 and up, is proof that Google’s mobile OS isn’t as “unified” as the competitors, and that this is a sign of early-onset serious fragmentation that will only get worse down the line. The thing is… it’s not.

It’s true that Android, available for deployment on any device manufacturers are willing to bundle it with, faces certain compatibility issues. With a multitude of devices, each with its own mostly-unique set of hardware and features, creating software that will run the same for everyone isn’t as easy as it is on the iPhone. But it’s nowhere near as much of an issue as Frommer makes it out to be.

For one thing, his “proof in the pudding” example of the official twitter app being unsupported except on v2.1+ has nothing to do with fragmentation. As any platform grows, matures, and gains new APIs, backwards compatibility is never a guarantee (unless you are Microsoft, that is!). It’s only natural that developers will need to set a cut-off point for which devices and platforms will be supported. And this isn’t an Android problem – every device out there, be it a cell phone,  a laptop, or a mainframe suffers from the same problem. Take the iPhone for example. Apple’s own OS 4 will be completely unavailable on the original iPhone. And even on the iPhone 3G, it’ll be there only in a highly-crippled form with no multi-tasking support.

The thing is, minimum OS/hardware specifications are not an indicator of platform fragmentation. They have absolutely nothing to do with it. While Android definitely does have some issues related to the wide range of hardware upon which it’s deployed, even that doesn’t necessarily have to result in fragmentation.

So you have a device that has a GPS chip and another that does not. Obviously a mobile map routing solution written for the first won’t work on the second – but who would expect/want it to anyway? A game that relies on the presence of accelerometer? Well, it’s not targeting users without an accelerometer in their device anyway! The point is – so long as the code goes through a single API to access any particular feature – whether or not that feature is actually available isn’t “fragmentation” at all. It’s just economics: you get what you pay for.

What would be fragmentation is if a mapping application for one Android handheld w/ GPS support doesn’t work on another Android handheld that also has GPS support just because the chips are different. Or because it has different drivers. But that’s not the case here! Android gives you a non-fragmented API to access the functionality of the hardware beneath – should your device support those features in the first place.

And that’s just about it. Pointing out that twitter requires OS v2.1 and above is a silly reason to accuse Android of being a fragmented platform – it’s like saying the iPhone is a failed experiment because an application designed to take advantage of multi-tasking 6 months from now won’t run on a device released 3 years prior: who cares!