If there’s one topic surrounding the Android OS that comes up time and time again, it’s the issue of fragmentation. With so many devices and variations of the OS, developing for Android can be difficult. Before deciding if this is a real problem or simply a non-issue, let’s take a step back and define what we’re talking about.
Put simply, Google developed the core code for Android and has allowed device manufacturers such as Motorola, Samsung, and HTC to create custom variations of this code. Google likes this because it gets their OS on a wide variety of handsets. The device manufacturers like this because the bulk of the software work is done for them and they can focus on customizing the OS. End users like this because they have a plethora of choices, all with the same basic features that they’re looking for. Developers, on the other hand, aren’t as keen about the whole situation.
Back in October, the popular Twitter client, TweetDeck, shared some information regarding the variety of devices and OS’s that their app was currently running on.
At first glance, there are quite a few OS versions to support. That said, looking at it differently you could conclude that a good 80% of users are on Android 2.1 and above. If you write an app to support OS 2.1 and higher, you can expect it to work on the majority of Android handsets with very little issue, right? Well, maybe. For some applications, this is entirely true.
For others, however, writing an application that works is far different than writing one that works properly. With all the custom variations of the OS, an application may not behave as expected. If you’re a developer writing for Android, guaranteeing that your app works on all Android device means buying dozens of devices to test it on. For most developers, this simply isn’t feasible.
I think we can all agree that fragmentation on the Android platform exists. So the question becomes “is it a problem?” In my opinion, almost. What I mean by this is that unless it’s addressed, it could spiral out of control to the point that it simply isn’t manageable. It may get to the point that certain apps only work on certain devices. Want to play Angry Birds? Get a Samsung phone.
That said, I don’t think it will get that far. In fact, Google has already released a tool to help curtail the issue, and they recently partnered with manufacturers to help ensure devices are kept up to date. Is it enough? Maybe for now, but it’s not a complete solution. So how does Google minimize the imminent fragmentation problem while maintaining the openness that many of us love about the Android platform? Well, that’s the big question, now isn’t it?