Android - Is there a technical reason Android update story is so bad?

See this image released by HTC. It describes the update process in a very detailed form:

The Anatomy of an Android OS Update

Image resized (click to see the full size)


Android phones have at least 2 fingers in the pot that iPhones do not: the hardware maker and the network carrier. The hardware makers often consider their drivers trade secrets, and therefore must learn the new versions code and then adapt their drivers. Manufacturers also often provide custom "skins" that must be updated for the new version, and sometimes wholly redesigned. Any changes must then be approved by the carriers. They often addon their own features, which must be updated/redesigned and tested. Then they must run networks tests for each phone to ensure it won't crash the network. While these tests must go on for iPhones also, they are probably done before the new version is released, as Apple can produce all the phones running the new version at once for testing, before the code is released to even developers.


This is a 2-part question. Part 1 asks why Android phones do not get the newest update right away, and has been answered adequately by the other answers. Part 2 asks why older phones often never get the newest update, and has not been answered yet.

As LeBeau says, there are other corporate stakeholders besides Google. Google only creates the new versions, and, besides the phones it directly creates, like the Nexus line, it does not get much say over whether and when the others put them into the phones. Also like LeBeau says, all these other stakeholders have to learn the new version before they can implement it. This is why the phones get new versions later, and why certain phones, like the Nexuses, get the versions before anyone else, because Google has already learned the new version.

As for part 2, the hardware makers want us to keep buying new phones every couple months, right? Otherwise, how will they keep all that dough rolling in if we keep using our old phones? They'd be in the same position the computer companies are in: with storage and RAM enough for any purpose, why buy any new hardware? The answer is to stop updating old phones, so if we want the newest features, we have to get a new one. Google probably doesn't do this as much, as it is already selling you Android, so why does it need to sell you phones, but it probably does it a little bit. The network carriers, for their part, probably help with their draconian rules like preventing rooting (or else you void your warranty). This is why, as you say, "a July 2010 android is basically a paperweight".

As for your comment about improvements being "mainly userland", I don't know how all that works, but I'm sure it's not that simple. The upgrades may be in software, but not all software talks to the user. Plus, the hardware makers put "skins" on our phones, so we do not see the inner workings, and it's likely that when they finally upgrade to the newest version, they put some new stuff in themselves, so that an HTC One phone at Android 4.2 is different from a Samsung Galaxy SIV phone at Android 4.2. Probably either HTC or Samsung throws some new features out to put in 4.3, and you do not even notice they did it. Then, when let's say the HTC One does not upgrade to 4.3, but the HTC Two does (I'm making this up), you are forced to get HTC Two to get (some of) the new features of 4.3, as well as some features of 4.2 you didn't get with HTC One. I am not certain this happens, but it is normal business procedure, so I would not be surprised.

Tags:

Updates