Sunday, September 16, 2012

0 Why you'll never have the latest version of Android


Android Central

Inside the broken Android updates process

If you have an Android phone, chances are its not running the most recent version of the OS, 4.1 Jelly Bean. According to Googles own figures, just 1.2 percent of active devices run the latest version of Android. Some 57.5 percent remain on Android 2.3, a version rapidly approaching its second birthday.

If you were lucky enough to buy a Nexus device -- the right Nexus device -- you might get the latest sweet treat from the Mountain View chocolate factory immediately, or within a few weeks of it being finalized. But for most of the countless millions of active Android devices, its quite a different story. Theyll probably never run the latest vers ion of Android, whatever that may be. Theyre on ICS if theyre lucky, Gingerbread if theyre not, and by the time they get Jelly Bean well already be singing the praises of Key Lime Pie.

This vicious cycle is a product of Googles approach to its OS, combined with a mess of other factors including carriers, manufacturers and users own expectations. Its one of the platforms most significant issues, and one thats all but impossible to solve. Read on to find out exactly why, as we dissect the Android software update process.

Android Central

Update anxiety

You buy a phone, you pay your $200, you commit to a 2-year contract with a service provider. It used to be that the manufacturers involvement in developing a device ended once it shipped. Instead, as smartphones have become more prevalent, theyre constantly evolving, even after release. New software updates arrive, adding features, changing up the look and feel, and enhancing performance months after purchase. Major updates could even move devices up to a new platform version.

As updates become more common, and consumers become more tech-savvy, theres an increasing awareness that devices can be updated, and an expectation that they should be updated. With that comes a sort of update anxiety. If youve dropped by any smartphone message board, such as our own forums or XDAs, youll know what we mean by this. Threads abound asking when ICS, or Jelly Bean, will be available for certain devices. In the event of delayed or even canceled updates, Internet denizens swear theyll never buy another phone from that manufacturer or carrier again. Its an entirely negative ownership experience.

While this isnt representative of the entire user base -- n ot by far -- its an example of how many power users experience Android smartphones. Theyre always behind the curve, always waiting on an update, never fully enjoying the product that theyve bought as theyve bought it. Part of that is the fault of the tech press -- were always focused on whats new, and that means talking about software that hasnt yet reached most folks.

Theres also the problem of phones being advertised as update-ready. Even now, devices that ship with ICS are being marketed as upgradeable to Jelly Bean, in a move that essentially allows manufacturers and carriers to turn the lack of certain software into a feature in its own right. Right from the start, owners are instructed to wait for updates, acutely aware that their new phone has old software. The HTC Rezound was marketed as ICS-ready at announcement in November 2011. It received Android 4.0 over-the-air some nine months later, in August 2012. Needless to say, thats a lot of waiting for an adverti sed feature.

But updates dont just happen, and there are valid technical reasons why that new version of Android youve been waiting for might take the better part of a year to arrive.

Android Central

Coding is hard

When a new version of Android is released, its put out through the Android Open Source Project (AOSP). AOSP is available for anyone to download, tinker and build Android at their leisure, regardless of whether theyre a major smartphone manufacturer, a custom ROM-maker. But when the code is pushed out, its designed to work on Googles reference devices alone. For Android 4.1 Jelly Bean, it was the Galaxy Nexuss OMAP 4460 platform and the Nexus 7s Tegra 3.

Getting a new version of Android up and running on any devi ce running different hardware requires a significant amount of additional work, and even more effort is needed to bring across proprietary code from chipmakers. For example, a Snapdragon S4 device needs Jelly Bean-friendly Qualcomm drivers for the CPU and GPU. The build process the needs to be tailored to the phones hardware, and existing customizations need to be worked into the new version of Android without breaking anything.

Even on apparently similar hardware, therell often be other proprietary components to work into the mix. For example, the (international) HTC One X is a Tegra 3 device, but includes HTCs ImageSense chip, something not found on the Nexus 7. It also lays out its internal storage differently, with a separate partition for media. Then theres the cellular radio firmware to consider. Suddenly, youve got a lot of work to do to bring a Tegra 3 device up to Jelly Bean.

Sony explained the entire coding and porting process in great detail in a blo g post late last year. It's worth a read if you want to develop a newfound sympathy for the programmers who have to handle these kinds of updates.

The task isnt limited to code, though. There are often design changes to be considered, especially when updating from Android 2.x to 4.x -- a version change which brought in sweeping UI enhancements throughout. As Sony explained to us at its recent design roundtable in Germany, manufacturers have little warning as to what Google may be working on, so they cant plan ahead. Admittedly, Googles trying to change this with its Platform Developer Kit, which gives OEMs early access to certain parts of the framework in new versions of Android. However, the PDK is focused on getting new devices ready for launch, not upgrading old ones. And if the underlying Android design language changes, so too must any customizations that sit on top of it.

Updating an Android device isn't easy, and there's much more to it than dropping in the new code from Google and hoping for the best. Its a hell of a lot of work, and thats before you even think about getting it all approved and pushed out onto handsets. If radio changes have been made, the new code must be certified by regional authorities, as well bodies like the Bluetooth SIG and Wifi Alliance. That all takes precious time, and in its blog post last year, Sony identified certification as the most time-consuming part of putting out new software.

Android Central

The carrier problem

Heres where we meet the great hate figures of the mobile space -- the carriers. A necessary evil in our connected world, mobile operators have great influence into what goes out on their networks, especially in markets like the U.S. and Japan. Tha t power includes the requirement that manufacturers submit updates for approval before theyre pushed out.

The carrier certification process can be lightning-fast or arduously long-winded. Minor updates, particularly on GSM carriers outside of the U.S., are often subject to quick approval. A good example is Three UKs approval of a bug fix patch for the HTC One S. This passed certification in a couple of days, as only minor changes had been made, and the carrier was satisfied nothing in there was going to break its network.

At the other end of the scale are major updates on some of the U.S. carriers. Were going to pick on the Verizon Galaxy Nexus here, but there are plenty of other examples on rival networks. Big Reds Gnex took upwards of two months to pass certification for its Android 4.0.4 update, and Jelly Bean for the Nexus, completed in July, still isnt out. Its impossible to know exactly why things have been held up, or who, if anyone, is to blame. But its an example of how extra weeks of waiting can be added if issues crop up during the certification process.

Carriers are generally slow moving, and theyll always err on the side of caution. They also have limited resources when it comes to certifying smartphone software, and the priority, naturally, will always be given to approving new devices ready to go on sale. Thats how you make money. And a similar attitude prevails at some OEMs, too. If a phone hasnt sold well, or it's a budget model, it might just not be worth the time and money to develop and certify an update. Smartphone manufacturers are businesses, after all.

Android Central

Android versus Android-based

But these are Android phones, right? Why is it so difficult to kee p Android phones on the latest software, especially when the likes of iOS and Windows Phone seem to manage a much quicker, more elegant upgrade process?

The answer is variety. Apple has no more than three current phones at a time, making the task of syncronizing updates across its devices far easier. The iPhone range also has less internal variety from one model to the next. Whats more, Apples tight control over every aspect of hardware and software means it can easily anticipate future software versions in a way Android phone makers cant.

As for Microsoft, its almost as controlling as Apple. Its phones are limited to Qualcomm Snapdragon CPUs and a fixed range of display resolutions. Certain areas of the OS are off-limits even to OEMs, and there are strict requirements for Windows Phones, such as particular button setups and memory quotas. Windows Phone OEMs are also extremely limited in the changes they can make to the UI. All of these factors make it easier t o push out updates across seemingly diverse hardware from different manufacturers.

We should also point out that Android phones, as we tend to think of them, arent just Android phones. Theyre Android-based phones.

A few months back, Googles Vic Gundotramade a post on Google+, singing the praises of his new Nexus 7 tablet, along with an attached photo. When followers asked him what he used to take the picture, he replied in very precise, deliberate language -- it was taken on his Android-based Galaxy S3. Gundotras wording illuminates a crucial distinction between Nexus and Google Experience devices, and the Samsung, HTC and Motorola-branded phones that dominate the walls of most stores. Android is whats released by Google. Once manufacturers get hold of it, the end product is Android-based. Theres stuff in there that Google doesnt directly control, meaning its no longer just Android.

The HTC One X is an Android-based HTC Sense phone. The Galaxy S3 is an Android-based Samsung TouchWiz phone. Though they're compatible with Android and shares some of its features, they're different operating systems. By the same token, Apples OS X is Unix-based, but not Unix.

Android Central

The perils of variety

Being an open-source OS, OEMs are free to do pretty much whatever they want with Android. The only real limiting factor is the Android Compatibility Test Suite -- a set of testing programs designed to ensure they havent messed with the framework in a way that breaks third-party apps. Phones must pass this test in order to get the Google seal of approval. But theres no provision in the CTS for making sure a manufacturer-customized build of Android is easy to update, and as su ch there are no guarantees about update timings.

You might say thats a bad thing, especially if youre a fan of vanilla Android. If Microsoft can force manufacturers not to mess with the Windows Phone UI, why doesnt Google do the same for Android? Well if it did, Android would become a whole lot less attractive to Googles real customers -- carriers and device manufacturers. They want to slather Android with their own software and design language to differentiate themselves in the crowded and competitive mobile market. We're they unable to do this, they simply wouldnt make as many Android phones, and consequently customers wouldnt buy as many Android phones.

Fewer Android phones would mean fewer ad clicks in Google search, and fewer mobile users funneled into Googles app and content ecosystems. Google doesnt want there to be fewer Android phones. Google wants hundreds of millions of Android phones, and to reach that goal it must open Android up to customization.< /p>

As a result, Google, as a platform holder, is powerless to force updates onto Android-based handsets. Its OSs vast market share relies on having a multitude of devices on sale, and that in turn leads to endless variety in hardware specifications, manufacturer customizations and carrier requirements. Its that variety which makes fast, frequent updates for devices such an utterly impossible task, for the technical reasons weve already discussed. Simply put, theres no way Android as a whole can have fast updates and a large market share. Its precluded by the nature of the platform, and more importantly, Androids place in Googles business strategy.

Unfortunately, despite token offerings like Motorolas 100 bucks if your phone doesnt get Jelly Bean, and the ill-fated Android Update Alliance, things show no sign of changing.

Android Central

Is it a problem?

It may be inevitable, but having to wait longer than youd like for an update is never a good thing. Customers dont care about why their shiny new Android phone is one or two versions behind the latest. They just observe, with envious eyes, iPhone users getting iOS 6 on time and see that theyre being short-changed by their manufacturer.

Modern consumers are acutely aware that smartphones are no longer phones, but computers, and that they can be updated with exciting new features. Though technical and business reasons may prevent every Android phones from being up-to-date, these devices are put out to compete with the latest from Apple and Microsoft, and when theyre one or two major versions behind the cutting edge, it makes for a clear area of weakness for competitors to exploit. That makes it a problem for everyone with a stake in Android.

In preparation for this article, we ran a small, unscientific survey on Google+, asking Android Central followers how their experiences with updates had been on their phones. The response was almost uniformly negative -- even fans of the platform described update roll-outs in terms like bad terrible and absolute shit. Thats a side of the Android experience that has a serious image problem among power users.

The other side of that argument is that Android is booming, despite its update woes. Its the worlds most popular smartphone OS. Devices continue to fly off store shelves, and the platform has a strong community following, despite the majority of handsets being on older software versions.

You could argue that most mainstream consumers dont care about updating their phone at all, and youd probably be right. And for those who absolutely must have the latest version of Android, theres always the latest Nexus phone, though the appeal of the Nexus brand has been somewhat diluted by update delays on Verizon and Sprint.

Android Central

Is there a solution?

The only true solution to the Android update problem is a change in mindset, or if that doesnt work, a change of handset. Android will never be able to offer across-the-board updates like Apple does -- its technically impossible for the wide variety of reasons weve already covered.

Android phone owners, community members and fans need to appreciate that updates are hard to develop, and take time and money to put out, and when carriers get involved, they can be subject to long, tedious delays. Thats not the case with iOS and Windows Phone, but theyre very different operating systems. Painful as it may be to admit, waiting for updates will be part of the Android experience for many years to come.

But if Android is the problem, then perhaps Android can also be the solution, at least for technically adventurous users. Androids openness enables it to run on multiple hardware platforms, but Googles OS is also eminently hacker-friendly. Many leading devices have a vibrant custom ROM scene, where custom-built firmwares are available, often based on later versions of Android than are officially available for those phones. That means if you really, really care about running the latest version of the OS, you can crack open your bootloader and do so, at the cost of stability (and perhaps your warranty).

Thats not a perfect solution, but its as close were ever likely to get. Then open -- or openy -- nature of Android has its advantages -- a wide variety of hardware, hackability and custom ROM support, endless choice in screen sizes, software customizations, multimedia chops, chassis styles and industr ial designs. But it comes with one major Achilles heel -- the labyrinthine, time-consuming and expensive process of getting phones updated with a new version drops. Its not anyones fault, it's a weakness that's built into Android's DNA, and one we doubt will ever be overcome.

0 comments:

Post a Comment

 

Android Freeware Copyright © 2011 - |- Template created by O Pregador - |- Powered by Blogger Templates