This post was first published on: Jan 16, 2014.
Android fragmentation is often brought up as the Achilles’ heel of the OS. Critics often point to fragmentation as being the key factor in why Apple’s iOS is the better mobile operating system, despite the fact that 81 percent of the world’s smartphones run on one version of Android or another. In fact, we have six versions of Android running on more than 11,000 types of devices.
In general terms, fragmentation is when something is broken down into separate parts, and doesn’t function as a whole. When applied to Android, it basically means that there isn’t a standard Android version or device on the market. Fragmentation actually encompasses two different, but related issues: hardware fragmentation and software (or OS) fragmentation.
In this post, we’re going to look into the implications of this problem, the repercussions it has on the mobile OS market and what Google is doing about it.
Fragmented Market Share
Being open source, Android can run on pretty much any level of hardware specification or screen size – thus, unlike for iOS devices, there’s no standard for manufacurers to stick to when it comes to running Android. So, you have anything from low-end smartphones with sub 4-inch screens to top-of the line quad-core smartphones with 5 inch screens and everything in between, running on Android.
The image below, taken from OpenSignal’s July 2013 report on Android fragmentation, shows just how many different Android devices downloaded their app in the first half of 2013. As you can see, there’s quite a large number of devices out there. This is called hardware fragmentation.
Getting OS Updates
Android is also quite fragmented on a software level. Here’s what the Android OS landscape looked like as of December 2013.
Nexus devices received the Android 4.4 KitKat update soon after it was launched, but phones such as the Sony Xperia Z1 are still running older versions (usually 4.2.2 or 4.3). Some lower-end or older Android devices might not even be running a 4.x version – Android 2.3.x (Gingerbread) still has a 24.1% market share – and probably won’t be getting updates any time soon.
The fact that Android is open source is, again, the main reason for the OS fragmentation. This means that updates are really out of Google’s hands: once Google releases a new version, the manufacturers have to take it, make any necessary modifications, and then roll the update out to their devices. As you can imagine, this often takes quite a while.
Device manufacturers can make their own modifications to Android, for example, the custom user interface layers you get in smartphones from HTC (HTC Sense) and Samsung (Samsung TouchWiz). It doesn’t help that device manufacturers are in the business of selling you phones, and thus will use new Android versions to get you to upgrade to a newer device.
Android Vs iOS
To really put the severity of Android’s OS fragmentation into context, let’s take a look at iOS. A quick look at Apple’s Apple Developer site shows that more than 78% of users are on iOS 7 as of 29 December 2013, as measured by the App Store.
As you can see, the pie charts for the two operating systems couldn’t be more different. This really boils down to the fact that the Apple ecosystem is more tightly controlled hardware-wise. Thus, users are able to download updates immediately after they go live, without having to wait for manufacturers (or even carriers) to adapt the newest update to fit their specific devices.
Pros And Cons Of Fragmentation
In the rush to pass judgement on the fragmented Android ecosystem, it’s all too easy to forget that fragmentation, like a lot of things, can be both good and bad.
Pro: More Choices For the People
One of the biggest positives to fragmentation is simply the fact that it gives consumers more choice. There’s an Android device out there that will fit almost any budget and fulfill any number of feature or hardware requirements.
Compare this with Apple’s iOS ecosystem, which has a relatively limited selection of devices and commands generally premium prices outside of the United States, and it’s not hard to see why Android has over 80% of the mobile device market. It just has more reach, which is almost entirely down to the options available to consumers.
In fact, it’s not hard to see the iPhone 5c as an attempt by Apple to reach potential customers who may previously have been put off by the prices of the 5 and 5s, and to compete with higher-end Android smartphones. No, the 5c doesn’t make the iOS ecosystem fragmented like Android does it, but it is a reminder that fragmentation is not inherently undesirable.
Pro: Larger Potential Audience
The sheer number of devices running Android means that there’s a large potential audience for app developers to tap into.
In fact, Android seems to have closed the gap to iOS in terms of developer popularity and revenue. As reported in Business Insider’s The Future of Digital, Android is now as popular with developers as iOS. In addition, developer revenue for Android apps has closed to within a few hundred dollars compared to iOS developers.
This may have something to do with the lower barriers for developer entry; developing for iOS requires access to a Mac development machine and a $99 developer fee, while Android has no such requirements.
Cons: Now You have It, Now You Don’t
Despite the positives of fragmentation, it’s not all rosy. It’s difficult to overcome hardware or software inconsistencies if your app relies on a particular feature that is not available on all Android devices.
Take, for instance, Bluetooth Low Energy support. Not only does it need compatible hardware, it also requires Android 4.3 and above. Not every Android device out there meets both requirements. This has been cited as one of the reasons that Nike’s FuelBand app has not yet been ported to Android.
Cons: Development Pains
The large number of possible device and software combinations can also result in technical support headaches for developers. Since there’s no one version of Android or one level of hardware specification, there’s a lot that can go wrong.
Developing for Android also involves having to take into account these inconsistencies, adding to development time and costs. It has to be said, though, that there are developers who have argued that it’s really not that bad. It’s also worth pointing out that Google themselves provide clear guidelines on developing apps that scale well to different screen sizes.
Cons: Android Doesn’t Do BYOD Well
Fragmentation can also be problematic in enterprise mobility situations, especially when bring your own device (BYOD) policies are implemented. Having to deal with two or three different versions of Android and the different security issues with each, can make app management and device security quite problematic.
What Has Google Done?
As one might expect, Google hasn’t just sat by idly and watched the Android ecosystem became more and more fragmented.
That said, ot’s unlikely that Google will ever do anything about hardware fragmentation; it is still, after all, primarily a software company. Besides, attempting to exert control over the way that Android can be implemented on devices may actually hurt the ecosystem, removing Android’s biggest advantage over its competitors: its reach.
On the OS side, one of the most important steps Google took was to turn Google Play services into a powerful system-level service. In other words, with Google Play services, Google has taken back some control over OS updates.
Google Play services is the platform on which all of Google’s apps and APIs run. It updates itself quickly and, most importantly, runs on Android versions as far back as Android 2.2. This means that even if manufacturers don’t provide version updates for particular devices, Google can ensure that users (again, running at minimum Android 2.2) will get the latest Google APIs and security updates.
This goes hand in hand with Google’s decision to to migrate most of their non-system OS apps onto the Google Play Store, so they can be updated piecemeal without having to wait for a new version of the OS.
Lower Memory Footprint
Another step Google has taken with the latest version of Android, 4.4 KitKat, is to reduce its memory footprint so that it can run on a wider variety of devices and specifications. KitKat was designed to run on devices with as little as 512MB of memory. This means that future entry-level smartphones, most of which run on older hardware, should be able to run Android 4.4. The idea, of course, is that this will help reduce software fragmentation in the long run.
Android’s hardware fragmentation probably won’t go away anytime soon. After all, it’s one of the reasons why the OS became so popular in the first place, and the constant stream of new smartphones and tablets coming out each year isn’t going to stop. But this isn’t necessarily a bad thing, after all.
On the OS side, it’s too early to say whether Android 4.4 will have any effect on OS fragmentation. The slow rate of adoption isn’t helping, but the true test is whether 4.4 becomes the go-to version for upcoming smartphones and tablets across all levels of hardware specifications.
Even if it doesn’t, though, Google Play services may just render the problem irrelevant anyway. Sure, version numbers and user interfaces may differ, but Google Play services makes sure that 99% of all Android devices are running the latest APIs and will support almost all of the latest apps. Fragmentation doesn’t look so bad now, does it?