More and more, the devices in our pockets are nothing more than extremely intricate computers, and no matter what, there will be variations in hardware and software on any computer system. Those variations can cause problems with specific hardware configurations, but overall everything works across versions. That's why your Windows XP machine at work can run the same software as your Windows 7 machine at home, or your OS X Mountain Lion can run the same apps as your cousin's OS X Leopard machine. Android, iOS and other mobile platforms are no different, except in Apple's definition, which makes Android somehow the odd one out.
As we've said before, "fragmentation" is nothing more than a negative marketing buzzword coined by Apple to attack the up-and-coming Android platform that was threatening to (and eventually did) take Apple's mobile market share. There are two things that people often point to when claiming that Android is "fragmented": 1) multiple software versions and 2) various hardware setups. As we said, that doesn't make a platform "fragmented", because if it did, then every platform in the world is "fragmented".
If those are the criteria for fragmentation, then Apple's iOS is just as guilty as any other platform. There isn't one singular iOS device. In fact, there are now 3 different iPads, 4 different versions of iPod Touch, 5 different iPhones, and 3 versions of Apple TV, which run a modified version of iOS. For clarity, we'll just be counting the mobile devices, which means 12 total variants of iPad, iPhone and iPod Touch.
This means the iOS ecosystem is filled with multiple screen resolutions, screen sizes and internal hardware. And, the ecosystem is also filled with multiple software versions. If Android 1.5 and 1.6 still account for about 1% of the Android devices in the wild, it seems reasonable to assume that there are still original gen iPhones and iPod Touches out there, which aren't compatible with iOS 4 or higher. It's also safe to assume that there are iPhone 3G and 2nd gen iPod Touches in the wild, and those have limited compatibility with iOS 4 and are not compatible with iOS 5. This is something unique to iOS: you can get an update, but not all the features associated with that update. At least with Android, if you get the update, you get all the features as well. So, that means there are 4 of the 12 mobile iOS devices that are incompatible with the newest version of the operating system, which means only 66% of mobile Apple devices are even compatible with the newest OS. Sure, the same can be said about Android, but that's exactly the point: there will always be outdated devices in an ecosystem.
Of course, it's also important to remember that having a device compatible with the newest update and having that update readily available doesn't mean that everyone has updated to the newest version of the software. Apple doesn't release statistics about how many users are running what version of iOS like Google does with Android, so it makes it harder to pin down the numbers. Chitika measures iOS update rates via browser traffic, but only for the first month or so after an update release, so even this doesn't help. Regardless, the point is that updating is voluntary, and as a general rule people tend to be a bit lazy about updating. This statement is obviously not directed towards the incredibly passionate and engaged users that we get reading and commenting on our site, but the general public, many of whom don't update software with that much regularity. Additionally, there are those who have jailbroken their devices and can't update until reliable untethered jailbreaks can be made for each new OS version and hardware variation.
So, this means the iOS ecosystem is not the unified whole that people make it out to be. There are multiple hardware setups and various software versions, just like Android. However, Apple also does something that is rarely mentioned, which makes it so that the "fragmentation" of iOS is designed to benefit developers, not users. This doesn't mean that iOS is necessarily easier or has better tools for development. We mean that Apple splits the iPhone and the iPad into two categories, where Google doesn't.
Android does some things better for you, not developers
Apple, just like Google, has given developers the tools to make their apps work across the board on all devices, except that's not how it works in practice. Sure, all the apps made for the iPhone will work on an iPad, but it doesn't go the other way. This has lead to a phenomenon where there are often two versions of every app in the iTunes store: one for the iPad and one for the iPhone, because while iPhone apps will work on the iPad, they are lower resolution, and don't look good. Developers can make one single listing in the iTunes store for an app which will work on both iPhone and iPad, but often there will be two separate listings because the iTunes store does a good job of splitting browsing and search results into iPhone and iPad sections.
The result of this, and the reason we say that Apple's way benefits developers as compared to Google's is because with developers often having two listings in iTunes, they charge you twice for the same app if you want it on both your iPhone and iPad. This isn't always the case, for example Infinity Blade is one price and one listing for both the iPhone and iPad, but many apps or games will cost you twice, like Dead Space, which is $7 for the iPhone version and another $10 if you want it for your iPad as well. On Android, there is one listing, and thus one price. If you want Dead Space, it costs $7, and that is good for your phone and tablet. That's a big benefit for users, although maybe not so much for developers.
Google has always pushed towards having one listing in the Google Play Store. There was a brief period where developers would have two listings on Android: one for Gingerbread and lower, and one for Honeycomb. To avoid this, Google began allowing developers to have multiple installer files
on each listing, which would automatically be delivered based on the user's version. And from here on, it isn't just the same OS that will be on Android tablets and phones, but the same apps will work on all devices as well.
App compatibility is not fragmentation
And, that leads us to the number one issue cited as a problem: developer support. Developers claim the platform is too troublesome because of device specific variations, but the reality is that it's just that developers don't think they make enough money to justify that work. This could be because of the single listing and therefore single purchase of apps, but it's really just a vicious cycle where developers don't put enough support into the ecosystem, and so the ecosystem doesn't support developers.
This leads to the biggest cause of what some call fragmentation, but we would rather call inconsistency: developers don't make apps available to all devices. Google has done everything it can short of mandating compatibility, but developers keep apps tied to certain devices and certain OS versions. If you build an app using the API level for Gingerbread, it will work on all devices newer than Gingerbread, unless specifically excluded by the developer. The tools are there, so if there is anyone to be angry at about any fragmentation issues on Android, it is developers, because it isn't so much fragmentation as app incompatibility as dictated by the developers. Calling it "fragmentation" shifts the blame to Google, when it should really be with the developers.
Updates are not fragmentation
Just one last thing that deserved its own space before we wrap this up, since it was our opening salvo. Slow updates are not the same as fragmentation. Yes, there is a delay in Android updates because of the manufacturer and carrier layers of the update process, but let's not delude ourselves into thinking that this is the definition of fragmentation or even a part of it. As we made clear before, the availability of an update does not ensure an updated device. If it did, 100% of iPhone 3Gs, 4, 4S, iPad, iPad 2, and new iPad devices would be running iOS 5, and that simply isn't the case.
Manufacturers and carriers slow down the Android update process considerably, but there would still be multiple Android versions in the wild even with an update model similar to Apple or Microsoft. And, that model also means no uniqueness from device to device. Like it or not, if it weren't for the custom UI layer on Android, the HTC One X
, the Samsung Galaxy Nexus
, and Sony Xperia S
would all be the same device, just with minor variations in shape and CPU. Just remember, if you don't like that about Android, there's always Windows Phone and iOS. A feature of a platform is not an insult to you, it is a choice for everyone.
All of that said, there is something of an issue with Android that may fall under the heading of fragmentation, which is the forks made by companies like Amazon with the Kindle Fire and Barnes & Noble with the Nook Color/Tablet. The trouble with tagging that as "Android fragmentation" is that many users may not even know those platforms are Android at all. But, that's a whole different topic that we'll cover in another column either tomorrow or Monday, so please don't yell at us in the comment thread here about that issue. We'll cover it. Promise.