OK, Seriously, Shut Up About Android’s Fragmentation

19 Sep

So I very often see arguments about Android and it’s, "fragmented"/"diverse"/whatever nature and whether it’s a good thing or a bad thing. Very often, it’s iPhone users that are complaining that first, Android is fragmented and that’s bad for consumers, and second, that fragmentation makes it harder for developers to write applications for Android. Neither of these make any sense to me what-so-ever, and I’m going to explain why.

Fragmentation: The Consumer

This is a rather silly argument to start with, because we already have another very real, yet very successful case of, "fragmentation": walk into any computer store and look around. There are computers running Windows Vista and Windows 7, and sometimes you’ll even see a netbook running Windows XP. If fragmentation is the overwhelming issue that I’ve heard time and time again people say it is, then computer users are in some nightmarish hell because they want Windows 7 and, horror of horrors, there’s a Windows XP machine right there!

The alternative: the user walks past the Windows XP machine and buys a Windows 7 machine.

In all seriousness, when did this become a massive user-facing issue? If a user doesn’t want an old Android 1.6 device, they can walk past it and buy an Android 2.1/2.2 device instead. If they are content with Android 1.6 (as many people are content with Windows XP), they can instead opt to buy an Android 1.6 device. There is no, "horror of horrors" because Android 1.6 and 2.1/2.2 devices are sitting on the same shelf.

People also like to complain that the same applications won’t run on 1.6 and 2.1/2.2. Quite frankly, this is only half-true: applications written for Android 2.0+ won’t run (fully) on 1.6, while applications written for 1.6 will work with 2.0+. This is no different to running a Windows XP application on Windows 7: sure, you might not get pretty Aero glass, but for a good application it won’t matter anyway.

Fragmentation: The Developers

Non-developers also like to complain that developers will have a hard time with all the different possible screen resolutions and versions of Android, which is hilarious in itself. Anyway, screen resolution is a non-issue: when you write an application, you’ll likely write it as a series of widgets (buttons, content views, text boxes and the like) that you lay out in a flexible grid. That’s why Google states that Android applications written under the Google UI design format will simply rescale to any resolution.

Now, the main issue can occur when coding for different versions of Android, but this is just an issue of whether you want to hit the largest user base or use the most new features. Windows XP is still the most widely used version of Windows, and will be until people need to replace their computers, so you’ll likely sacrifice pretty Aero glass for the ability to write one application and run it on Windows XP, Windows Vista and Windows 7 without worry. Similarly, unless you absolutely need some major new features in Android 2.1 or 2.2, you can likely write your app for 1.6 and hit every Android device out there. Alternatively, if you are so bothered about it and can be bothered to do something about it, you can write two versions of the app, but I don’t think there’s anything massively new and important in Android 2.0+ that you can justify that choice.

So, all things considered, I don’t think fragmentation will exactly kill Android right now, and with Google moving to yearly releases I think it’s going to become less and less of an issue.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: