23 Comments

Summary:

In May of 2010, I examined the Android fragmentation issue. Is it still a problem? Yes, but based on various Google actions that time, the data shows it’s far less of an issue than it was. And it will always exist under the current licensing model.

fragmentation
photo: Horia Varian

Android fragmentation has long been a hot topic and for good reason. Google was iterating its mobile platform quickly; handset makers couldn’t keep up without investing more time, money, or both; and developers showed frustration with the many versions of Android and handset configurations. That led to various versions of Android in customers hands with different features, application support and no guarantees of future upgrades. But the situation is getting better.

Steps to fix the problem

About 18 months ago, I highlighted the problem of fragmentation and noted some steps Google was taking to alleviate it. Breaking out core Google applications from the Android platform has helped, because the updated software for Mail, YouTube and Maps, for example, are all available in the Android Market. Handset owners don’t have to wait for Android updates to get the latest version of these apps.

Google has also slowed down the pace of Android updates, now that it can. By that, I mean it had to initially mature Android quickly in order to compete — at least in terms of features — with Apple’s iOS. I’d say that for most people, Google has “caught up” to iOS in terms of the most used features. Sure there are still differences, but I’d argue that the ones that remain are fairly negligible. And where there are gaps in either mobile platform compared to the other, these can often be addressed through third-party software.

How bad is the problem now?

The slowed pace of updates has led to a majority of handset owners now running variations of Android 2.2 or 2.3: Google reports that of all Android devices visiting the Android Market over the two weeks prior to Sept.2, 81.9 percent run these two main versions, or a sub-version like 2.3.3. Android 1.5 and 1.6 only account for 2.8 percent of all Android devices, while there are still 13.3 percent running Android 2.1

I’m making a distinction and lumping Android 2.2, 2.3 and 2.3.3 together. Why? As a long-time daily Android user, Android 2.2 (Froyo) brought huge improvements to the platform in May of 2010. Android 2.3, and its subsequent minor point updates, haven’t added as much, or at least not much that users are complaining about.

Each version or sub-version of Android adds new APIs for developers to use, but even here, the last few Android updates have provided relatively little compared to versions from last year or earlier. Android 2.3.4, not shown yet in the data, is rolling out now to the Nexus S, but only includes bug fixes and no new APIs.

This approach of bundling Android 2.2, 2.3 and 2.3.3 is certainly arguable, and the first question I’d pose to any such argument is: “What key functions are you missing if you’re running Android 2.2 and not a higher version?” There are a few, but not too many of high impact to most consumers, in my opinion.

Carriers are the other factor

Google doesn’t dictate which phones launch with which version of Android, nor does it really have any say about existing handset upgrades. These decisions generally lie with network carriers, with the lone exceptions of the Google Nexus handsets; Google pushes updates directly to these smartphones as they see fit — a key reason I bought and still use a Nexus One.

In May, Google announced the Android Update Alliance to bridge the gap between Android releases and carrier updates. Key partners include Verizon, HTC, Samsung, Sprint, Sony Ericsson, LG, Motorola, AT&T and Vodafone. The group promises handset updates for up to 18 months after a phone is introduced. I think it’s bit early to assess the effort, but Justin Shapcott did just that in an insightful post at Android and Me. This chart, broken down by carrier, shows the current state of Update Alliance Members.

Based on this look, it’s clear the carriers have work to do: They need to nudge their handset partners to invest the effort into creating updates and then, in turn, the carriers need to test and push those updates out. However, more phones are appearing with Android 2.3 or better out of the box, which will help.

Is it as bad as it was?

While the fragmentation issue looks a little dire in the above graphic, I still think it’s getting better, but perhaps that’s because I don’t make much of a distinction between Android 2.2 and any subsequent version. The situation also took two to three years to create; it’s not going to magically disappear over time. But as I look back, I do see less of an issue due to the small steps Google has been taking to address it.

An additional effort has much to do with Android tablets as well as phones. Ice Cream Sandwich, the next major version of Android, will unify the platform between both device types, which should ease future problems as Android continues to mature.

Unfortunately, fragmentation will never be completely addressed. Android will always be fragmented by definition if any handset maker can use it in any way they see fit. Various screen sizes, hardware component choices, development budgets and target price points affect Android devices and the versions of Android that they run.

The only way to eliminate the problem is for Google to either cease licensing the platform and build its own devices, like Apple, or for the Android-maker to be very specific in terms of hardware requirements, like Microsoft. I don’t expect either of those things to happen. And that’s OK, because the fragmentation issue is less of a problem than it was 18 months ago.

  1. Interesting piece. I wonder how much fragmentation Ice Cream Sandwich will cause since it is a much more drastic change in UI if we are to believe the rumors of not having any buttons, they way that Honeycomb Tabs don’t have them.

    It also seems that a lot of devices will not be upgraded to ICS and many others will probably be slow to be upgraded given the custom overlays that HTC, Samsung and Moto have put on their devices. It seems more like a seismic shift may be ahead.

    Share
    1. Google/Android is screwed in the long-term! They definitely won’t be able to get ICS on every device + older models will be slow to upgrade (fragmentation). But lets pretend that Android manages to get ICS on everyone of their devices, including tablets. That would mean Android would be giving up their OS market-share to iOS. Apple sells more iOS devices than all of Google/Android combined! Even if Amazon Kindle’s + B&N Nook’s were included. I’m not sure if Google wants that to happen.

      Share
      1. ” Apple sells more iOS devices than all of Google/Android combined!” – Actually that’s not even remotely true…recent worldwide figures place Android marketshare at around 50%, with iOS at around 20%. In the U.S. it’s a little closer (43% to 28%) yet Android still has a sizable lead.

        Share
  2. I’d certainly like to see more standardization, but I wouldn’t like to see Google go as far as Microsoft with WP7, where they’re still using hardware from a year ago, and reminds me of RIM and Nokia, who always seem to release phones at current prices, but with last year’s tech. Actually, it’s not just last year’s tech, it’s one chip period, which in the long term would seriously affect competition, and it helps commoditize WP7 phones faster.

    So it’s good to keep in mind that “fragmentation” which by default has a negative connotation, actually has many benefits, too, like seeing cutting edge hardware as soon as it’s ready, different phone sizes, designs, prices, which are very important factors for a regular user, too. You also get to see some new stuff from manufacturers that otherwise you’d have to wait for Google to implement.

    But unity and standardization is important, too, so you can have a bigger reach, and developers better know what to expect from the platform. If we take a scale from more open to closed, and it’s like this Android -> X -> desktop Windows -> WP7, I’d like to see Android move in X’s position. That would probably be the ideal and most balanced position between very open and very closed.

    Share
  3. Fragmentation isn’t going away any time soon, but I don’t think that the resulting compatibility challenges are seriously damaging to Android. Google has found practical ways to minimize the impact of fragmentation and to keep the broader Android ecosystem marching to the same beat.

    Share
    1. Hamranhansenhansen Thursday, September 8, 2011

      I disagree with you. There is an opportunity cost.

      Android is big right now, but not sticky. It is not sticky because the apps are just baby Java apps, they are very minimalist phone-type apps, they can easily be created on any other platform or even have their functionality reproduced by Web apps. In other words, it is easy to switch a user from an Android phone where they only run a Twitter, Facebook, and Skype app to a Windows Phone where they only run a Twitter, Facebook, and Skype app. It is much harder to switch an iOS user. Where is Keynote for any other mobile? Where is iMovie or GarageBand? I have dozens of sophisticated native C music and audio apps on my iPhone that I can’t live without because that is my work. I’m stuck on iOS forever. Nobody else is trying to get me as a customer. There is nobody stuck on Android like I’m stuck on iOS.

      The thing that made Windows dangerous to the Mac was that non-Jobs Apple sat still for 10 years and gave Microsoft time to clone the Mac API. It became straightforward for Adobe to port Photoshop from Mac to Windows. Nobody has even started to attempt to do that same thing to iPhone. iOS is still the only system on ARM that can run native C/C++ apps from PC’s and consoles and large computing systems. iOS is also the world’s only malware-free computing platform. At some point, some other vendor is going to finally do another instance of both of those things and they are going to become Pepsi to Apple’s Coca-Cola. Google totally blew that opportunity when they did Java instead of native C/C++; did an unmanaged platform instead of malware-free; and declined to do a centralized software updating and installation system. If they had done that, they would have 500,000 apps, now, too.

      The Android ecosystem is not marching to the same beat. It is not only not doing that, they are deliberately marching to different beats.

      Share
  4. Android situation in America is a joke
    American Carriers are major hurdle.. it looks like all mobile users in America are Slaves (with contracts and all) and are at mercy of American Carriers.

    Share
  5. You focused mostly on version fragmentation, not nearly as problematic as device fragmentation and the various Android forks that are coming out.

    Share
    1. Hamranhansenhansen Thursday, September 8, 2011

      Yes, the author acts as though the only versions of Android are the 5 or 6 Google versions, as if everyone is still following Google’s plan. The problem is all the stuff that is outside of Google. Android releases from non-Google, different GPU’s in every device, different interfaces on every device. You can buy 2 different Android phones from the same company at the same time and not only get 2 different versions of Android, you get 2 different interfaces and each device runs a different set of apps.

      A really, really big part of iPhone sales is users falling in love with an iPhone app they see running on a friend’s phone. They can then go and buy “an iPhone” and they can tap App Store and tap the app they fell in love with and they are good to go. If you recreate that scene with Android, it is hit or miss if the app the guy wants ends up running on the device he buys.

      If you can’t run the same apps, you are not part of the same platform. Period.

      Share
  6. Fragmentation is both at the hardware and software level – and is used to cover both.
    This article seems to only cover OS version fragmentation and doesn’t cover hardware handset fragmentation (and the associated carrier OS fragmentation due to overlaid software and applications for branding etc). It is also handset diversity but it does fragment the username for handsets as Android users are spread over so many different handsets. It’s normal to have it through updating each year but having multiple vendors exacerbates it.

    Share
  7. Interestingly, one manufacturer that has been lethargic in rolling out updates for Android has been Motorola. In most non-US markets, it has to be the manufacturers that roll-out the updates and not the carriers as most phones are sold without contracts.

    Hopefully Google will address this lethargy of Motorola!

    Share
  8. “Android 2.3.4, not shown yet in the data, is rolling out now to the Nexus S, but only includes bug fixes and no new APIs.”

    Share
    1. Ok, my comment got cut off. Here is the missing part:

      ???

      Didn’t 2.3.4 roll out months ago? Didn’t Google just push out 2.3.6 recently? Is this an article that was written awhile back and just published?

      Share
  9. Hamranhansenhansen Thursday, September 8, 2011

    Nice try, but no … fragmentation is much worse, for many reasons. But you are wrong even if you only look at this one reason: there are many more Android devices now than a few months ago. The problem is much bigger now that Android is replacing feature phones.

    We have moved past the time when devices ran different versions of Android because of incompetence and lack of planning or management on the part of Google or the handset makers, and into a time when devices run different versions of Android DELIBERATELY, in order to differentiate their device and avoid the bad reputation of Android. We’re past the time when everybody wanted the Android logo and the Google logo and the Google apps and to be all one happy platform and we’re into the time when handset makers not only don’t want the Android logo and Google apps, they don’t even want to admit that the core of their device is a version of Android. The Chinese Android handset makers see themselves as either Apple or Google, they do not see themselves as part of a larger Android platform. One of them licenses their own Android variant to other handset makers.

    The root of the problem is that Google does not know how to manage a platform. Putting software on device A that is called “Android” and software on device B that is also called “Android” does not mean that those 2 devices are part of a platform. They not only both need to be the same version today, they both need to be the same future version at this time next year. If 50% of iPhones were running iOS v3 right now, App Store would not be the success that it is.

    So saying “Android has 70% smartphone market share” is exactly equivalent to saying “Linux has 70% smartphone market share,” or “WebKit has 99% smartphone market share.” Great to know. So f’ing what? It means absolutely nothing. It is more germane to note that ARM has 100% smartphone market share, because at least ARM is a company that actually sells into a market, not an open source project that is used by lots of software engineers to build almost entirely unrelated products.

    Share
    1. I think they know how to manage a platform. They just don’t care. Their focus is not on the user experience and never has been. The user is the product they sell to advertisers.

      Share
    2. By “different versions” I think you’re referring to the different skins (e.g. Sense, TouchWiz, Motoblur, etc.) that the OEMs put on the devices, right? Those skins don’t impact development at all. The underlying APIs are exactly the same. That’s part of the conditions to having Android Market installed on the devices. And go ahead: ask me how much developers care about devices without Market. We don’t.
      And at least in the U.S. and most of Europe, Android has a fairly good reputation. Far from manufacturers trying to hide the fact that they run Android, almost all of them tout it as their greatest feature. China is a curious exception largely caused by Google leaving the country due to human rights concerns (Apple doesn’t care). Even then I’ve never seen MIUI and other variants try to hide their Android roots.
      With respect to your platform version argument: Android 2.x makes up around 97% of Android devices on Market. iOS is harder to track since Apple doesn’t release that data publicly, but http://blog.jcmultimedia.com.au/2011/03/is-it-worth-supporting-ios-3-in-2011.html puts iOS 4.x at 89%. Even if we only look at Android 2.2+ we’re still looking at 83.9%. Want to compare against the last API changes? Android 2.3.3: 30.7%. iOS 4.3: 20%. You tell me who has the version fragmentation issue.

      Share
    3. Market share percentages mean a good deal. Developers will go where the users are, and users will go where the developers are. All else being equal, if I can reach 40% of users on platform A, and 20% of users on platform B, I’m going to write for platform A first and then think about platform B. I probably won’t even consider platform C at 3%. I’m not really sure where you were going with that argument.

      Share
  10. Ludicrous article. Android fragmentation is worse than ever, especially in the tablet space. Ask any Android developer.

    Share
    1. As an Android developer, fragmentation is not a problem, especially not on tablets. Heck, at least with tablets we’re pretty much guaranteed a Tegra 2 processor.
      Size and feature fragmentation is by design, and we have plenty of tools to deal with it and even take advantage of it. Even iOS has a little bit of this due to the Retina screen, iTouch devices, and the desire to create universal builds for iPhone/iPad. Don’t get me started on desktop devices (and it’s even worse for web developers).
      Processor fragmentation can be a small hiccup to game devs and other low-level programming devs, where the actual instruction set matters, but for that a few if statements (or worst case some Market filters) and the problem goes away (most modern processors use the same or equivalent instruction sets anyway). To everyone else, that’s the advantage of running Java: you don’t have to worry about your hardware. Once Renderscript becomes widely available (ICS), many game devs can use it instead of native code and eliminate this problem all together.
      The “skins” OEMs put on the devices don’t really impact development, and really only make it slightly difficult to give a “do this, then this” sort of over-the-phone instructions, but any reasonably customizable platform (see windows, linux) will have this issue. If you have the device in your hand it’s not hard at all (I worked retail at T-mobile for a while too). This is another area where I see a small amount of fragmentation is good for the overall ecosystem because it allows for innovation.
      That really only leaves version fragmentation, and the above article did a pretty good job of explaining that one. Are there some neat APIs that I’d like to use in Gingerbread? Kinda. Really what Gingerbread added was a lot of hardware support, so if the device could already run on 2.2, there wasn’t much that 2.3 would bring to it. Sure the memory management/gc in Gingerbread is nicer, but a lot of that only helps during the development time (it makes hunting down memory leaks easier). As long as the dev has a GB phone available, he’ll have those features.
      All in all, there will always be corner cases where the developer won’t anticipate something, but that’s why a good programmer always looks both ways before crossing a one way street. Android development requires a mindset that’s more similar to web development than iOS development, and you do your best to make as few assumptions as possible (unless it’s specifically called out in the compatibility guidelines). Once you have that mindset, though, writing for Android is fantastic. It gives you a lot of great tools that you won’t find on more limited platforms like iOS.

      Share
  11. Fragmentation means NO individual phone gets traction & the Android Market makes NO money! That’s the price of “open”. Google wants ad-dollars, but how do you make money of users, when they’re NOT using your services. Google hooked-up with Android & got themselves into a proftiless-money-pit!

    Share
    1. Sorry, but unfortunately the facts tend to disagree with you. Android has upwards of 40% smartphone market share right now, and shows no signs of slowing down. Android has been extremely profitable to not only Google, but the OEMs as well. Even a year ago Android was pulling in $1 billion / year(http://blogs.computerworld.com/17169/android_brings_in_1_billion_a_year_to_google_helps_drive_soaring_profits). Not bad for acquiring Android for $50 million. HTC, Samsung, and even Asus are all pulling in record profits thanks to Android.
      And the suggestion that since no one model will dominate the whole platform is doomed is laughable. I’m pretty sure there isn’t one model of PC that dominates the market, so should people stop writing software for Windows?

      Share
  12. I don’t think android os fragmentation is the issue at all. You can’t say it is then go and say apple isn’t fragmented with it’s multiple os versions and limited upgrade paths for devices that aren’t the latest iteration.
    The bigger problem is differences in devices, for example samsung devices require a different method for texture compression. Even though there are differences, google has always supplied a method to get around them and offer either a method that works for both or a way to handle both separately.
    The biggest problem for developers is being able to test on devices they don’t own. There is currently no way to resolve an issue that affects a specific device if you don’t own it.

    Share
  13. Fragmenting any device usually slows down their performance for a while, but after fragmentation is done, you can now see a big change on its spaces and its toolbar icons. I think by keeping on fragmenting sometimes damage the device so keep it safe.

    Share

Comments have been disabled for this post