Slashdot Mirror


Why Android Upgrades Take So Long

adeelarshad82 writes "Last month Google released the Android 4.0 'Ice Cream Sandwich' code base to the general public and manufacturers but it may be a while yet before it's actually rolled out to existing phones. In an attempt to explain why it takes so long, Motorola and Sony Ericsson shed some light on the process. Motorola described the long testing process involved in getting the new code out there, whereas Sony focused on explaining the time-consuming certification process."

7 of 226 comments (clear)

  1. FTA by agent_vee · · Score: 5, Informative

    "Operators then may want to customize the software, and the OS must be localized for the market and language."

    I think that is where the bulk of the time is spent.

  2. Re:Hardly surprising by Anonymous Coward · · Score: 5, Informative

    (16GB to compile ICS? jesus fuck why?)

    16GB recommended, not required, and it's because they're using memory-intensive optimization flags set.

  3. Re:tl;dr by thsths · · Score: 4, Informative

    > He believes this fosters creativity

    So far my experience is that the more a manufacturer meddles with Android, the worse it gets. And this is not because Android is perfect, but (my conclusion) because manufacturer are mostly incompetent when it comes to software.

  4. Re:Verizon's rationale by Troed · · Score: 4, Informative
  5. Re:Verizon's rationale by Miamicanes · · Score: 4, Informative

    Buying your own phone doesn't matter with Verizon or Sprint. Non-Sprint phones can never be activated under a Sprint account (they can roam, but never be the phone for a real Sprint account). Verizon will let you do it if you twist their arm and escalate it high enough (possibly due to a consent decree inherited from AT&T years ago), but they won't actually *help* you, and you'll never get EVDO to work, only 1xRTT due to radio firmware funkiness unique to Verizon. There's no actual engineering reason why it HAS to be this way (it's purely a matter of software and business process; the hardware is identical), but unfortunately, that's the way it is.

    In theory you could buy an unsubsidized phone for AT&T or T-Mobile, but in most cases you'd only be able to use GPRS and EDGE on T-Mobile (most foreign phones can't do 1700/2100 HSPA+), and I'm pretty sure most imported phones can't do HSUPA on AT&T (and often, the only models that can do 850MHz UMTS are the ones intended for Australia, which are so expensive when imported to the US that you could almost buy a Verizon phone and pay for the service for two years for what you'd pay for the imported phone alone).

    The unfortunate truth is that America's mobile phone market is as structurally fragmented and messed up as Japan's, and only slightly more likely to untangle itself over the next 25 years into something resembling tortured interoperability.

  6. Comment removed by account_deleted · · Score: 4, Informative

    Comment removed based on user account deletion

  7. ARM is not a PC - yet by HeikkiK · · Score: 4, Informative

    Unfortunately the manufacturer is right here. Currently in the ARM world every printed circuit board (PCB) model requires its own kernel version - even if the SoC is the same. Even if the components in the board are exactly the same, a new kernel version is required if the components are just wired differently!

    Why is this? Because in the ARM world there is no any universal bus like PCI is in the x86 world. Typically components are connected by using quite primitive buses like I2C or SPI, which has no bulletproof way to do a listing of connected components. Also ARM is heavily power optimized - also in the PCB-level. There are software controlled regulators powering different components ON when needed and OFF to save power. Because there is no any standard way to do this - every manufacturer is designing the powering differently. Power and the communication bus are not connected by any means - powering the component on/off might require using a totally different bus - not told to software by the communications bus. This knowledge is typically just put (hacked) into the kernel code.

    In PC world most of the hardware is initialized by BIOS and all the peripherals are usually nicely listed by the PCI bus (try lspci -command in your x86 linux box). Drivers can be easily attached into peripherals by unique device IDs. The same driver works for all boards even if the PCI bus address is different.

    No such luxury in the ARM world. Typically you can see multiple versions of drivers for the exacly same component in the Linux kernel source tree. Just because the ARM architecture has brought too many obstacles for developers to easily use the same driver for different boards. You can imagine - it is a total mess. Also typically those drivers do not enter into mainline kernel so there is again more work for phone makers to port drivers for the new kernel version. Also Android kernel has some differences to normal Linux kernel.

    Correct me if I'am wrong, but in my understanding the Android HAL-interface is in the user space - not kernel space. The HAL-interface might change a lot between Android versions. But not only the interface has changed - also the kernel space interfaces - those on the top manufacturer have to implement the HAL-interfaces - have changed breaking the existing drivers the manufacturer has made.

    But there is hope in the future. Developers of linaro.org have work in progress and already very good demonstrations of how this mess can be sorted out. But we are not there yet and the work is huge. It needs also some common standards and practices to be adopted by the ARM hardware makers.

    See also: The Ugly State of ARM Support On Linux http://linux.slashdot.org/story/11/06/20/2039229/the-ugly-state-of-arm-support-on-linux

    But this ARM-problem is not just related to Linux. Windows Phone 7 is currently working only on Qualcomm SoC, probably because Microsoft wants to keep things simple at this point. Apple has solved the problem by making its own hardware and SoC and probably standardized the hardware in house.