17

Is there a technical reason why Android phones general lag a lot behind the stable released version of Android?

This applies to both new phones, for example a recent trip to the phone shop everything was 4.0 to 4.2.1, KitKat could not be seen. And also old phones, my girlfriend's iPhone 4 had an OTA update to the latest OS, this is a July 2010 phone, whilst a July 2010 Android is basically a paperweight.

Presumably Android itself doesn't concern itself with the actual hardware, and thus talks to the OS via abstractions? I guess then the handset maker just provides the drivers for the specific hardware, thus I can't see the issue with pushing OTA updates if the ABI remains stable (my phone doesn't grow new hardware features).

4
  • Any way we have forum.xda-developers.com/…
    – samnaction
    Commented Mar 16, 2014 at 16:12
  • Hardware drivers are internal to the kernel and the ABI is not internally stable. There is no strict correspondence between Android version and kernel version, either; manufacturers may or may not include kernel upgrades with userland upgrades. If they do, there is no binary compatibility with your existing drivers. The bulk of the burden on the manufacturer will still have to do with adapting to the new userspace, however -- I don't see how the nature of the ABI is particularly significant at all here.
    – goldilocks
    Commented Mar 17, 2014 at 4:15
  • Your last paragraph suggests to me that you have a misapprehension about just how much Android does behind the scenes. Abstractions and interfaces have to keep changing to support new hardware features, as well as better software representations. Perhaps you might ask a follow-up question about it.
    – Dan Hulme
    Commented Mar 17, 2014 at 9:47
  • Except that the iphone that got updated now runs like a dog and forces you to upgrade hardware anyway whereas the Android phone runs as well as it ever did and simply does not include new features.
    – JamesRyan
    Commented Mar 18, 2014 at 8:20

6 Answers 6

18

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)

1
  • 1
    While the image is certainly helpful for those who can open the image, see it, and then understand it, I'm afraid it's less helpful for the rest. Anyone feels free to edit and transcribe/explain the image in textual format!
    – Andrew T.
    Commented Jul 6, 2022 at 12:02
17

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.

10

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.

4

I think there are a number of reasons why updates are so slow for android devices:

  1. The time it takes a manufacturer to apply their customisations to the new version and ensure everything works OK can be quite long. This has improved over the last year or so as Google give them an Android PDK, or the Platform Development Kit which should allow them to work on their customisations several months in advance of the public even hearing about the next version of Android.

  2. The time it takes for networks to test the update and apply their customisations.

  3. There is little incentive for manufacturers to apply the update (especially on 1+ year old devices) as they are trying to sell their newest devices to customers.

  4. Most customers don't know or care what version of Android is on their device so why would the manufacturer spend time and money updating the device to the latest version.

You can also look at this article which goes into a bit more detail, including why Apple is able to release updates 'so much quicker' (essentially because they control both the hardware and software).

3

In addition to the incredibly long HTC infographic in Mpeti's answer, other manufacturers have come out and said why their updates lag behind official Google releases, and why they don't release updates for older models:

Sony Mobile: Ice Cream Sandwich – from source code release to software upgrade, selected excerpts and headers below:

However, before we can roll out those software upgrades, there are a lot of activities to first of all get Ice Cream Sandwich to work and become stable on all Sony Ericsson phones. We call this the Bring up phase.
Secondly, and perhaps most important, we must certify and approve the new software release with all the different technologies, networks, and hardware that a modern smartphone should work with. We call this the Certification and approval phase.

  • The Bring up phase: Getting Ice Cream Sandwich to work on our phones
  • Integrating Android patches
  • Getting the software stable and adding localisation
  • The Certification and approval phase: Making sure the software and hardware is compliant
  • Additional approvals might be needed
  • Many operators also want to customise the software according to their requirements

When all of this is done, we are ready to roll out the software release variants as software upgrades to operators and consumers around the world.

Motorola used to have a good blog entry on this, but seem to have deleted all their older blog content in the last few months. However the Wayback machine has an archived copy of it: Archive.org: Motorola Update on Ice Cream Sandwich, selected text and headings below:

Once source code is released from Google, it doesn’t automatically update to your device.

Each new version of Android launches with one device partner, in what is called the “Google Experience Device” or GED, the showcase device for a new Android release. The GED partner for each launch works with Google during the development of the OS so that the device and new Android version are ready for a coordinated simultaneous launch.

Once that GED device ships, the rest of the Android community gains access to the Android source code as its made public shortly after – a critical milestone for device manufacturers and component suppliers, enabling us to start work on integrating the new release into our existing products.

  • Merge and adapt the new release for different device hardware architecture(s) and carrier customizations
  • Stabilize and ‘bake’ the result to drive out bugs
  • Submit the upgrade to the carriers for certification
  • Perform a Customer pre-release
  • 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.

Also, PC Mag Why It Will Take So Long to Upgrade Phones to 'Ice Cream Sandwich'

2

When Google releases a new version of Android, the build is then processed by the manufacturer. This takes several months for them to assure the update can take advantage of the phone's features, and so they can install any additional features they want.

The process is then repeated for the carrier, which again takes several months.

1
  • Hmm.. That's the reality of the situation I guess, but if the improvements are mainly "user-land" then they keep the hardware ABI on major versions shouldnt this process be more streamlined. At this rate, blogs etc.. we should really compare iOS 7.1 to Android 6.2 Commented Mar 16, 2014 at 10:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .