A prominent Google engineer involved in the development of the Android OS has given an explanation on why so many people are still waiting for an upgrade to the latest version of this operating system, even though it debuted near the end of last year.
Jean-Baptiste Queru is the lead technical developer for the Android Open Source Project (AOSP), the group at Google that develops and maintains this OS. He has a couple of reasons why the roll-out of Android OS 4.0 (Ice Cream Sandwich) to already existing devices is not proceeding as quickly as some might wish.
First off, Queru points out that ICS is significantly different than Android OS 3.2 (Honeycomb), the version used on tablets released last year. The changes are even more severe with Android OS 2.3 (Gingerbread), the previous version for smartphones. Queru said "Under the hood Ice Cream Sandwich is quite different from Honeycomb (and upgrades from Gingerbread are likely to take longer as those differences are huge)."
ICS combines the features of OS 2.3 and 3.2, re-merging the tablet and smartphone versions of this operating system after they were split apart last year. This is the source of many of the changes.
Smartphones are not "white boxes" that can run a generic version of an operating system. Device makers need to tweak OS 4.0 for each of their models. In addition, companies like HTC, Samsung, and others have custom user interfaces that they apply to differentiate their products. These have to be updated for each new version of an OS. This all takes time.
The other reason cited by Queru is delays caused by wireless carriers. These companies have to approve each upgrade that is released, and they will do so only after extensive and lengthy testing.
This process isn't done with tablets that don't have wireless radios, as well as smartphones that are sold unlocked, directly to the public and not through a carrier. This is one of the reasons Queru is happy that Google is now offering an unlocked version of the Samsung Galaxy Nexus in the Google Play store.
The Fragmentation Problem
Because of the way Android OS upgrades are handled, smartphones and tablets are running a wide variety of versions. According to the most recent figures from Google, about 64% of devices are on OS 2.3. The remaining number are split between OS 2.2 (23%), OS 2.1 (6%) OS 3.x (3.3%), and even OS 1.6 and OS 1.5 (about 1%). Five months after Google released it, less than 3% of all units are running ICS.
But the situation is even more complicated. As mentioned earlier, companies tweak the generic version of the operating system for each of their models. This means that every smartphone and tablet is running a slightly different version of Android.
And many users have no choice about upgrading -- because of the expense of development and testing, many older (and even some newer) devices aren't offered upgrades. These are left behind, running an older version of Android.
This situation is called "fragmentation" and it makes it nigh impossible for developers to test their software with every version of Android before an app is released. This leads to a great deal of hassle and expense as app writers have to fix problems that occur with just one or two devices and were discovered by users only after the software was released.
Contrast this with the rival iOS. There are only a handful of iPhone and iPad models, and Apple releases a new version of its operating system for them at the same time. Every device released in the two years gets an upgrade all at the same time. As a result, after the release of iOS 5 last fall, within a few months over 75% of all devices were running it. During its heyday, adoption of iOS 4.0 approached 100%.
This situation makes developer's jobs much easier, and its a reason often cited why some apps are released first for the iOS, and sometimes only for the iOS.
Got an opinion on the speed of OS upgrades or the state of Android fragmentation? Share it in the Brighthand forums.