Google Trying New Strategy to Fix Fragmentation
CWmike writes "Google announced a new version of Android this week with some impressive new features, but it's unclear if it's done enough to solve a problem that has dogged its mobile OS: fragmentation. Even as it announced the imminent launch of Android 4.1, or Jelly Bean, the majority of users are still running Gingerbread, which is three major releases behind. According to Google's own figures, just 7 percent are running the current version, Ice Cream Sandwich, which launched last October. That means apps that tap into the latest innovations in the OS aren't available to most Android users. It also means developers, the lifeblood of the platform, are forced to test their apps across multiple devices and multiple versions of the OS. So when Google's Hugo Barra announced a Platform Developer Kit during the opening keynote at I/O this week, the news was greeted with applause. The PDK will provide Android phone makers with a preview version of upcoming Android releases, making it easier for them to get the latest software in their new phones. But is the PDK enough to secure for developers the single user experience for big numbers of Android users that developers crave? In a 'fireside chat' with the Android team, the packed house of developers had more questions about OS fragmentation than Google had answers."
...enabling users to upgrade the devices themselves? And actually forcing all carriers to open source everything?
Fragmentation has been getting less and less of an issue for Android over time, it's a lot more complex than Apples presentations would have you believe.
The first issue is that a lot of features announced as part of new Android releases are actually new features of the apps, and those apps are often backported to old OS releases and released through the Play store. For instance, basically any feature added to Maps becomes available all the way back to at least Gingerbread, and I think also Froyo. Voice search, upgraded Gmail apps, upgraded YouTube apps, new versions of the Play app etc, all backported. Apple tends to announce new app features as part of new iOS releases, and then remove them from the "upgrade" distributed to old devices. Therefore you can be running a new iOS or an old Android yet have the same or better features!
So what about from a developer perspective? Well, here too the issue is more complicated than it looks. A lot of the new APIs that are "pure software" have also been backported through compatibility libraries. These are drop-in libraries you include with your app download that provide the API on older phones that don't have them natively. The APIs that remain are often hardware oriented and wouldn't be available on older iPhones either.
The final issue is upgrades that aren't. I used to think that OS upgrades on a phone were a no-brainer and if you didn't get them, you got screwed. Since then I've seen a few things that changed my mind. One is that manufacturers including Apple have sometimes (not always) released updates for old devices that can't really keep up and which seriously degrade performance. Typically you can't go back, so that's a problem. The upcoming iOS 6 might be seen as a downgrade on the Maps front as well.
Another is that the Gingerbread to ICS was a huge change in user interface - for the better, I think - but time and time again the software business has learned that some users just don't want big UI changes, period. I'm pretty sure if every Gingerbread device became Jellybean tomorrow, a lot of Slashdot readers would rejoice and a lot of our friends/relatives/etc would hate Android with a passionate fire, just because it's a big change that would take them by surprise. Apple has largely avoided this problem by not making any big UI changes over the iPhones lifetime. You could argue they got it right first time, I guess ;)
The most important reason is you'd riot if your laptop couldn't be upgraded, but the carrier business model depends on you signing a new 2 year contract in exchange for a new "free" phone... with upgraded software.
If the vast majority of people were only able to buy laptops via their ISP, their ISP would use upgrades as a lever to force 2 year contracts, just like cell phone operators.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
7% is even more pathetic than it sounds. Let me back up and start with a different observation...
I keep reading that 80% of iOS users are on the latest release, and it seems too high to me that 80% of users would upgrade. Well, they didn't. iOS sales are growing at about 100% per year. Which means that at any point in time, approximately half the units ever sold were sold in the past year. So 50% of iOS devices run the latest version because they were bought since it came out. Now, only 60% of the remaining 50% have to actually upgrade--and I haven't accounted for old devices that are no longer in use and therefore no longer show up in these stats, and therefore increase the proportion of newer devices.
Well, guess what? Android device sales have been growing even faster than iOS. More than 50% of units shipped in the last year. But only 7% of units have the version that was released 1.5 years ago??? This means the device manufacturers are doing a unbelievably bad job of keeping up to date. If this continues, then only 7% of devices will be running Jelly Bean by about the beginning of 2014. Now there are certain things about the way that Android is distributed which mean that new versions will necessarily spread slower than iOS to some degree, and this announcement is an attempt to change that. But given the current spread of new OS versions, I think it's pretty obvious that the handset manufacturers (and carriers) don't even care and are not even trying AT ALL. Given that, I'm not sure that making it easier for them will be enough.
I don't know how google solves this, but they sure need to! This is a good (and necessary) step, but I worry that device manufacturers will not be sufficiently motivated to take advantage and stay as up to date as they should...