Programmers and fanboys fixated on the thorny problem of Android fragmentation had reason to pay attention to Google statistics that this week showed the latest version of Android, Jelly Bean, surpassing the two-and-a-half-year-old Gingerbread as the most-used version of Android.
It’s a notable achievement for Google, which has been trying to push the Android world toward the modernized features and interfaces of Android 4.x for years. It introduced Android 4.0, aka Ice Cream Sandwich, in late 2011, then refined it with 4.1 and 4.2, aka Jelly Bean, starting in May 2012.
The operating system variety is one facet of the fragmentation problem. With so many versions of Android in circulation, programmers must make sure their software works with each of them. Programming interfaces change with operating system updates.
With a modern version of Android finally on top, Google has come one step closer to licking the fragmentation problem. But the situation is actually more complicated than a mere pie chart: Fragmentation is a persistent issue, despite lots of progress. Read on for some details on the ups and downs.
Fragmentation persists
First, with Gingerbread at 34.1 percent, it must still be reckoned with, just as many Windows programmers must reckon with 12-year-old Windows XP. Its reign is ending, but it still holds power.
One reason for its continued use is that Gingerbread still ships on low-end new phones because Android 2.x can get by on lesser hardware than Android 4.x. Indeed, if you search Amazon.com for unlocked Android phones, you’ll still find Android 2.2 “Froyo” phones in the bargain-basement section.
Second, part of the reason Jelly Bean is the king is because the dauphin hasn’t claimed the crown. Android 4.0 never unseated Gingerbread because its reign was short, but Jelly Bean has had more than a year now.
But guess what happens when Key Lime Pie arrives? Once again, the ruling monarch will behind the times.
Apple fanboys, often eager to shine a spotlight on Android’s fragmentation, enjoy pointing out how fast iOS updates are embraced. iOS 6 spread to 22 percent of devices within 36 hours of its debut, and 61 percent in a month. iOS6 runs on the 2009-era iPhone 3GS. It’s a much more orderly transfer of power.
In the Android market, Google issues OS updates for Nexus-branded devices relatively swiftly, but there’s not much of a guarantee of longevity. The Nexus One arrived in early 2010 and is stuck at Android 2.3. The Nexus S arrived at the end of that year and is stuck at Android 4.1.2.
And for the vast majority of Android device users, who don’t have Nexus devices, operating system updates are even more chancy. Sometimes it’s because devices don’t get much support once their shelf life ends, but even higher-end phones don’t get updates quickly because of the difficulties of adapting their customized versions of Android.
“Manufacturers and carriers basically have to treat each OS upgrade as a new OS for a complete testing procedure before both approve it and finally roll it out to users,” my colleague and CNET phone reviewer Jessica Dolcourt said.
Third, fragmentation issues aren’t just about operating system version. Android developers also must reckon with a hardware variety — different screen sizes, graphics chips, processor horsepower, orientation sensors, and more. Want to tap into native processing horsepower with the Native Developer Kit? Your code written for an ARM-based phone won’t work on an Intel-based phone.
Things have settled down some — the trackball on early Android phones has vanished and physical keyboards are increasingly uncommon — but there is a bewildering array of phones and tablets to test software on.
It’s not all bad news
Google has been dealing with the fragmentation issue with software changes to Android itself.
“Honestly, yes, it’s a problem but ultimately the best tool you have for dealing with fragmentation is by choosing the support library,” said Patrick Julien, a programmer who in his spare time writes the Listen Up podcast app for Android. Google supplies this library of code that that lets software written to take advantage of newer OS features work on older OSes, too.
“They keep backporting features from newer platforms to older ones, all the way back to Donut [Android 1.6] but I don’t think anything older than Gingerbread is realistic,” Julien said.
Another force counteracting fragmentation is Samsung, whose successful Galaxy S line has become dominant Android smartphone. Even though the Samsung Galaxy S4 has been joined by variations that are cheaper and smaller, rugged, or photographically augmented, programmers still have one obvious flagship device where they can get started testing their software.
One more note: fragmentation isn’t all bad. It’s a mess for developers, but it’s an effective way for a host of independent companies to try lots of new designs and home in on what works.
Apple does a superb job designing a mainstream phone that will work for a very large customer base, but the Android market has found ways to gain competitive advantages — an earlier embrace of 4G networking, larger screens, and the phablet phenomenon for those who enjoy really big screens.
Don’t forget that the reason Google develops Android and gives it away free is to accelerate use of the mobile Internet. To do that, it chose to encourage diversity over monoculture. It’s a fragmented mess, but it’s a thriving fragmented mess.
Updated at 1:23 p.m. PT to correct that the Nexus S was updated to Android 4.1.2.