Now I’m an Android fan and enthusiast through and through, I write for Land of Droid because of my passion for the little green robot, but a lot still bugs me. Part of it is to do with the complete mess that is Android’s update structure.
Now I tweet my musings quite often about my issues with a few things and it invariably gets a response, this of course mainly is down to the passion from Android users and fans just like me, but it also draws similar outcry’s from many a disgruntled user with the same issues that still plague Android. Simply put it, Android is a mess, it’s untidy and Google seemingly don’t give a care in the world about sorting out so many issues. All I have seen in the past 12-24 months is broken promises, half-arsed attempts to keep a grip on the update structure, and a continued nonchalant manner towards developers and the whole system being a cohesive ecosystem. Yes they do make great strides and I genuinely do love the platform. However, I think this mess will continue to pile up. Google and Android’s structure see’s it on a path of no return and here is why; the update structure and model that Google adopted, and continue to let run wild without control, has caused massive fragmentation and a massive failure.
Google acquired Android Inc. on August 17, 2005. and with this Android 1.0, the first commercial version of the software, was released on 23 September 2008. So, it’s been almost 4 years since Android kicked off with Google steering the vision ahead and attempting to spearhead the mobile platform industry. A vision that has turned and spiralled into one big untidy house that is in need of a good housekeeping. Google own Android, It runs Android, and you would think it controls Android. The thing is, does it really control Android? I don’t think so. It’s a wild animal that’s been let free and roaming without any kind of guidance or vision in the big bad jungle. Just because it’s an open source operating system doesn’t mean that it has to be let out and be given free reign without a care for the consumers who adopt the platform. It’s based off Linux, it’s open sourced and that’s not an excuse for the lack of control. Various Linux distro’s have a fantastic update structure and control over the platform they have, so why can’t Android as well.
In essence the model that Google has adopted has spiralled out of control and they are unsure how to deal with the situations that plague it. I don’t think they can deal with it unless they adopt a very radical change in direction of course, which i highly doubt. The model and way Android works has it stuck in only one direction…. broken.
Lets check out the latest up to date stats quickly and we can already see the broken and fragmented state Android has grown to become.
As you can see 62% of devices are still stuck on a version of Android that came out 15 months ago, Gingerbread version 2.3.x is still the most widely used across devices, worst yet we still have a quarter of devices running a version of Android that came out 22 months ago, nearly two years since Froyo graced us and still devices that came out last year are running 2.2.x. ICS of course the saviour and Android version promised and touted to reign in the fragmentation has failed in my opinion, with only 1.6% of Android devices running the new version of the little green robot, the source code for Android 4.0 became available on 14 November 2011 – three days before the Galaxy Nexus was released – this means it’s been 4 months and now only a handful of devices have received the update, even Google’s own Nexus S has not got the OTA update still after it was pulled straight after initial release.
Now Android is big, very BIG. Since Android 1.6 it grew and adopted on a huge scale by device makers to the extent of it becoming the mess we know today. The problem started around 2 years ago and has not changed since – when the last big jump in the platform came with Android version Éclair 2.1, released in January 2010, many devices back then waited 10-12 months for an update and some didn’t even get it after that. The update structure is a long drawn out task and here is the current structure that makes it an arduous task for everyone involved.
- Google make the code available to handset manufacturers like HTC, Motorola, and Samsung, who modify, add and change the code to match each device it’s being put upon, this of course includes the skins like Sense and TouchWiz. The OEM’s then also need to test and debug the new code with each device to ensure that it’s bug free.
- Then they hand the code over to the carriers, who then add bloatware and other crap we don’t need or want. As well as test of course with their network.
- The end product is that if it’s all working and passed through all these markers first, the update will get rolled out either by the OEM or by the carrier.
Each year Google has a hero device. That being the Nexus range of devices. The OEM’s don’t get hold of the source code until the Google Experience Device is shipped. Yes, they have to wait. Google has indicated that they will "be focusing our partners on Android 4.0.3 as the base version of Ice Cream Sandwich", this version was released and open sourced on 16th December. This would also mean that manufactures would most likely have been put into that direction and it would have put the ICS update process back even more. After all this palaver it is only then that the rest of the device makers, component suppliers, and carriers can get to work. So no head start or early idea of what they are working with, except the chosen OEM to work on the GED device. The last two years being Samsung, of course. This then means time working on the source code and seeing what can be utilized and which devices it can be implemented on . It also means working with various component suppliers and getting it all working in harmony on a base level with the devices in this time. Only then it comes to developing the OEM’s overlays/skins like Sense, TouchWiz, MotoBlur etc. to work with the newest version itself.
As you can imagine, this of course takes a long time. Various different devices with lots of work to get the code working bug free and working in harmony with the developed skin as well. Now we see the sim-free editions of handsets get the best updates first, this is of course because it cuts out the carrier’s interventions, another period of time and another set of modifying, adding and putting there own additions to the end product of the handset. This was outlined not too long ago by Motorola themselves by entailing what exactly goes into updating to the latest version on Android. All of this work and time is why Android is a complete broken mess. It’s the model Android has chosen and it’s a model that has created a massive un-cohesive OS with it only spiralling more and more out of control.
Here below is Motorola outlining what the task actually involves.
1. Merge and adapt the new release for different device hardware architecture(s) and carrier customizations – This means that we take the source code and incorporate it into upgrades for devices on which this can perform well, along with making sure the carrier requirements are met. Silicon partners such as Qualcomm, TI, and nVidia adapt this to their chipsets in parallel and we incorporate these as they become available. This is also the time when we begin integrating all of the Motorola-specific software enhancements into the source code. Features like MotoCast, Smart Actions, and our comprehensive enterprise solutions are integral parts of our device experiences, and we want to make sure we continue delivering differentiated experiences for our consumers with these software upgrades.
2. Stabilize and ‘bake’ the result to drive out bugs – This means that we will prepare the upgrade to meet the quality and stability requirements to enter the wireless carrier’s certification lab.
3. Submit the upgrade to the carriers for certification – This is the point in the process where the carrier’s lab qualifies and tests the upgrade. Each carrier has different requirements for phases 2 and 3. There may be a two-month preparation cycle to enter a carrier lab cycle of one to three months.
3.5 Perform a Customer pre-release – We may perform some customer testing before a final release is delivered publicly to our user base.
4. Release the upgrade – We are planning on upgrading as many of our phones as possible. The ability to offer the upgrade depends on a number of factors including the hardware/device capabilities, the underlying chipset software support, the ICS support and then the ability to support the Motorola value add software.
With that in mind you can see why it takes such a long time to bring the latest Android version to your device. The Android structure and model that Google have is flawed from the start, with no intention of it being an up to date and mapped out ecosystem. I don’t blame the OEM’s as they are allowed to do exactly what they are in this for, and that is to run a business and to make money. With only a few small steps set in place for the OEM’s such as In order to use the Android trademark, device manufacturers must ensure that the device complies with the Compatibility Definition Document (CDD) and then get permission from Google. Devices must also meet this definition to be eligible to license Google’s closed-source applications, including the Play Store app. Nothing else stops them from doing what they like or changing what they want, adding, removing or modifying as much as they wish. So, as a business and to market their own brand we get skins, we get apps branded by the OEM’s and we get to wait even more as consumers and owners of these devices running Android.
It’s not only this that stops updates churning out quickly and in a scheduled manner. We heard from Samsung that the award-winning and massively sold Galaxy S won’t be getting Ice Cream Sandwich, even though it’s less than 2 years old and quite capable of running it. The fact of the matter is that the model and structure of Android allows OEM’s to do as they wish and this means that although updating older devices with the latest version is great and brings loyalty from consumers, it doesn’t bring much business to them. By updating devices it means less newer devices being purchased and taken out on contract through the carriers. It’s sales that keep these device makers in business, and as well as between the carrier and OEM a business decision is made whether to invest development efforts and resources into updating a certain model.
The freedom and approach that Android adopts is why we love it so much. It also brought with it a nasty taste to many. It’s created this mess, and simply the freedom has created the broken system. Freedom to take the OS and do whatever hardware makers and carriers wish, the freedom to bring out as many devices as they want, and the freedom to drive Android into an ever fragmenting broken state. At the Google I/O last May, Google said this about a new group that will happen – “a new consortium of Android partners who will be collaborating on setting standards for deploying Android updates.” This was of course in reference to the now fabled “Android Update Alliance”, something that has seemingly been squashed by OEM’s and carriers who now enjoy this freedom and business boom they get with Android.
The Android Update Alliance (AUA) was supposed to consist of all the major big name players in the Android game. It was promised that after the Google I/O we would see every handset that gets released updated to the latest version of Android within 18 months. We know now from evidence presented that this was one bold and big impossible promise. No details have followed on from that time and it’s a full 10 months without any affirmation on what’s going on with this mighty alliance. PC Mag’s Jamie Lendino made an attempt to contact major members of the AUA to no avail, simply left with no answer or clarification at all if these devices will be updating to Ice Cream Sandwich at all. Better yet, no answer either on if they even committed at all to the “Android Update Alliance". Did Google attempt to move some muscle and reign in some control?… I think so, and evidently it didn’t work. It was a great idea by Google, but a fantasy and dreamland notion that could never have been possible in the first place. Android’s update system is flawed and as noted, it’s a massive and long drawn out process to getting a device updated, which is ultimately controlled by OEM’s and Carriers.
With Google letting anyone do as they wish and customize what they want, they have allowed it to become this messy and broken. It’s needs to be become a much tighter working relationship between OEM’s and Google itself to get any better at all. This will ensure custom skins/overlays are ready and able to go on top of the base Android, that the device makers know what they are dealing with earlier, and it’s pretty much having to become slightly less open. Then again, it’s not exactly all open anyway. If they wish to stay like it is and follow the “freedom” and “openness” route, then I can’t see it changing anytime soon Messy and broken is what Android’s update system is and always will be if it follows same path.
Android’s update system will always be this messy and it’ll always cause an uproar. Unless things change and Google work closer with the OEM’s, chip makers and carriers we will always be left wanting and pulling our hair out on why it takes so long, why my device hasn’t got an update in 8 months and why it is never improving no matter how many promises. It’s Google. It’s the Android update model. And it’s not going to change.
Get used to Android as a broken operating system. Flourish it may well do still, but it will continue to be a structure that is a fragmented, messy and with an update system that doesn’t help at all to those problems.
This is Android, will it ever get cleaned up?