This article may contain personal views and opinion from the author.
*Writer's note: I started this article last Friday, when Apple first released the image in question. I had hoped to be able to add a new chart to the Apple section which showed more accurately the fragmentation of the iOS device ecosystem. I had asked Chitika to run numbers for me, but as I was told "big data is a tricky thing", and the data has been delayed until next week. But, I didn't want to delay this article anymore. The points all still stand, but I'm sorry I don't have the fancy chart to go along with it.
Last Friday, Apple released the image
that it used during its Worldwide Developers Conference keynote to "prove" that there was no fragmentation in iOS compared to the "problem" with Android. Of course, this is the narrative that Apple wants, and it is maddening how often this argument keeps popping up, and how often the media runs with the flashy headline rather than explaining the issue as it is. The fact of the matter is that Apple's chart doesn't prove anything, all it does is mislabel the argument, and hide the real issues with iOS.
I have written at length before about how silly it is to lump together the various issues
that face Android under the heading of "fragmentation", and even worked to rid our website of using the inappropriate term. I've also written about the issues facing iOS
, and how Apple is more than a little hypocritical to be calling out Android on these issues. The truth is that there are issues on both platforms, and in both cases, they are issues that plague developers more than they cause any trouble for consumers.
The truth behind the Android platform distribution chart
The chart that Apple has released is the accurate Android platform distribution chart, and it does show accurately exactly what it is designed to, which is different from what Apple uses it for. The point of the Android platform distribution chart is to give developers a guide as to what API level they should use when developing an app
. Each API level has certain advantages, and OS features of which developers can take advantage.
Apple took a shot at Google during its keynote calling the chart "the most ideal state of Android" because it only shows Android devices that check in with the Google Play Store. But, counting this way makes perfect sense, because once again: the chart is designed for developers. The change in the way Google counted proved that many users with older devices (Android 2.x) don't ever go to the Play Store to download apps. So, why would a developer care about users that never downloads apps?
There is obviously a user side to the chart, but it is less insidious than Apple would imply. While there is a vocal group of users who know that their devices haven't been updated to the newest version of Android, and are angry about it, the majority of users don't know or care what version of Android they have (repeat: the majority of users, not the majority of PhoneArena readers, I know that you guys are disproportionately in the know on these things.) So, there are users that don't get certain features because they don't have the newest version of Android. For example, only 33% of Android devices are on Jelly Bean, which means 64% of devices don't have Google Now.
But, as we know by now, just because you have the newest version of iOS doesn't mean that you have all the features.
The truth behind the iOS platform distribution chart
Apple has been very clear that just because you upgrade to iOS 6, you shouldn't expect to get all of the improvements
, and the same will hold true for iOS 7
. The trouble is that Apple doesn't release the information about device distribution in the wild. If you have an iPhone 4S, iPhone 5, iPad 3, or iPad 4, you're in luck and your device got all of the goodies included in iOS 6. However, if you have an older device, you'll be missing some key elements like Siri, turn-by-turn navigation, and FaceTime over 3G. For iOS 7, it's actually worse, because you'll only get the full range of iOS 7 features if you have an iPhone 5. Even if you have an iPad 4 or iPad mini, you won't get the Panorama feature, and iPad mini users also won't get the photo filters.
But, of course, that's just the user side of the iOS platform distribution chart. We can't fully explain the troubles for developers, because the data doesn't exist. We'll try to break it down the best we can: for iOS developers, there is little-to-no interaction between apps, and few hooks into the iOS platform itself, so the iOS version doesn't matter too much when it comes to developing an app. The iOS version does matter, but the far more important metric is screen resolution.
As it stands right now, there are five different screen resolutions in the iOS ecosystem, even when you exclude the iPhone and iPhone 3G neither of which can run iOS 6: the iPhone 3Gs is at 320x480, iPhone 4/4S are 640x960, iPhone 5 is 640x1136, iPad 2/mini are both 768x1024, and the iPad 3 and newer are 1536x2048. (This is where I had hoped to have a chart showing what proportion of the iOS ecosystem is held by the various screen resolutions, but unfortunately, that data is extremely hard to come by.) This is the real issue for developers because iOS does not do responsive design, aside from scaling down app assets made for the 640x960 screen to display on the iPhone 3Gs screen.
This means that developers have to specifically build assets for each screen resolution, because iOS doesn't do responsive design like Android does. On Android, you build your app once, and it will scale. If you don't build it properly, it may not scale well, but it will still work. On iOS, if you don't build the assets for new devices with different screen resolutions, your app may work, but it won't look good. Apps not updated for the iPhone 5 are letterboxed, "universal" apps without iPad assets run at iPhone size, and lower-res assets on a Retina display look a bit fuzzy compared to properly updated apps. All of this leads to pressure to developers to upgrade apps, but it also causes more work for developers, and inconsistent UI of apps on various devices.
As I have argued in the past, it isn't that there are no problems with Android, but calling every problem "fragmentation" confuses the issue and places blame in the wrong place. Android has problems with slow updates, which is partially due to Google not making it easier for manufacturers to customize without needing to mess with the system layer itself, and partially due to manufacturers having limited resources to support too many devices, and carriers having absurdly long testing phases. Of course, except for a small, but vocal minority, most users don't really care what version of Android they are using, because the apps still work. Android has issues with apps not scaling well to tablets, but that is a problem with developers not building apps properly. The tools are there, and the users are there as well. Calling it all "fragmentation" makes it sound like all the problems are issues that Google should be able to fix alone.
On the other hand, the term "fragmentation" works far better for the iOS ecosystem, because Apple controls everything from top to bottom, so if there is a problem, Apple would be the one to fix it. Apple is constantly retiring devices, but that doesn't make them disappear from use. And, just as often, Apple is adding new devices with a higher resolution screen, or different aspect ratio, which causes "fragmentation" problems for developers, because Apple doesn't update the development tools to include responsive design options. Each new upgrade adds new features, but Apple doesn't allow all new features on older devices, so there are "fragmentation" problems for users. The best Apple can say is that most of the userbase has the newest security updates, but if Apple wants to toss around accusations of "fragmentation", it works best if there are no such issues with iOS. Apple can hide them with incomplete charts, but as the saying goes, "People in glass houses shouldn't throw stones."