Nobody talks of “fragmentation” in the windows world. No one talks about “fragmentation” in the Mac world. Yet for some reason no one talking about mobile neglects to talk about “fragmentation” in Android.
Yes there are multiple versions of the OS out there and running on handsets, so what? There are still people – albeit a very small fraction of total users – running Windows 98 or ME. There are still people that run Tiger or Panther or even older versions of MacOS, so what? They run this because that’s what works on the hardware that they have or they need an app that won’t work on a more modern version or because they just don’t want to upgrade.
Developers programming for a desktop (and by desktop I mean, non-mobile) environment are used to dealing with multiple screen resolutions, different OS versions and all the other issues that can arise because of the choices that users make. People who develop for Linux have even more issues – there are so many variations of Linux out there that there are bound to be issues because you wrote and tested your application on Ubuntu but not on Red Hat. This is a part of the development world.
Just because Apple in its infinite wisdom has decided to create a closed system in the mobile space where only certain screen resolutions are supported and everything is very neat and tidy doesn’t mean that this is the best thing for users – or for developers. The truth of the matter is that people like being able to choose what’s best for them. The Apple system is fine – it gives a good uniform user experience and makes life a little bit easier for developers because they know exactly what they are going to be seeing on the handset. With that, it’s not right for everyone.
Android – with all of its issues – gives the user the choice of how s/he wants the phone to look and behave. The control of exactly what OS version is running. The choice of a bigger screen or a higher resolution. Yes developers have to work a little bit harder to take these things into account and yes this can lead to having an app that doesn’t work on one phone or another. Most developers, when they run into a phone specific issue go out and fix them – and usually pretty quickly.
Android is not a fragmented system. Nor is MacOS, Windows or Linux. each offers different options and capabilities to users and developers. Enough already with the F-word. Start calling it what it is – choice for developers. Choice for handset manufacturers. Most importantly, it’s choice for users.