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."
So, this long and rigorous testing process is why smartphones are known for their rock-solid stability, seamless integration between hardware and software, and general lack of baffling fail, right?
OEMS: I takes time to integrate our own buggy, irremovable software into the kernel.
Summation 2
That's why!
"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.
Good God, no. I mean, you know what someone will do for a Klondike bar??!?
Is it because the handset manufacturers don't make any money from the software and are probably more interested in selling you a new phone? After a year or so of support, they've generally shown almost no interest in pushing out additional upgrades as they probably don't even sell that particular model of phone any longer. Unless it's a Nexus phone, or a particularly popular model, support is pretty sketchy. There are a lot of promises to update phones to ICS, but I won't be surprised when a lot of those plans get canceled or delayed indefinitely.
Wading through the code and carrier requirements certainly tacks on some additional time, but considering that these companies don't have much incentive outside of brand loyalty, which may not even exist to any serious extent, to update their old hardware, I don't think that they try too terribly hard to get it done in a timely fashion.
(16GB to compile ICS? jesus fuck why?)
16GB recommended, not required, and it's because they're using memory-intensive optimization flags set.
It compiles. What more do you want?
Deleted
No more than an operating system named "Snow Leopard".
I know I am going to get flamed for being an apologist, but you know that until about a year ago Dell was selling computers preloaded with Windows XP, right? Windows XP, which made its debut in 2001? They were selling (and people were glad to get) a computer with 9 year old software on it. Now we have Android OS from Google and the turnaround can be anywhere from 4 months to a year before it is running on a good portion of the install base, and we complain about it? Why? If the phone doesn't do what you want it to, don't buy it thinking that some software release will come along next week and make it all better (even if the retailers want to insist that)...
Learn from history: buy the phone that does today what you want your phone to do today. For a crowd of computer dorks who know all too well the ups and downs of the software development lifecycle, we here on /. sure do like to play dumb...
A kernel does not an operating system make.
The community will port 4.0 to existing phones and newer ones, just like gingerbread. This is because google releases the code to everybody, rather than OEMs. On the atrix, it was due to go up to gingerbread by Motorola, but long long before that gingerblur came out bringing with it most of the features. The official update was of course slightly better, but then again the atrix is locked, what can we expect?
P.S. unlocked phones get much much better support from the community, such as the g2, so it may be worth staying tuned to XDA for your phone and see if 4.0 is ported to it yet.
Some of the same reasons they don't want you upgrading the OS yourself. They don't want you to get the latest features without paying them a big pile of money or extending your contract.
I'm sure they also have to make sure the latest version is festooned with crapware before they unleash it on the public.
Yoda, is that you?
What if the upcoming product is a cancer cure?
The Kruger Dunning explains most post on
It's weird that you think the software and the phone are two different things - the software on a smartphone is more the phone than the hardware. I wouldn't put up with a phone with bad software, hoping that it would get better with a software update. If someone sells a phone with bad software they're the last company I'd expect to provide good software for it in the future. They shipped a bad product, buy from a different company.
You're welcome.
http://unlockbootloader.sonyericsson.com/
it's in my head
It actually ISN'T that complicated on the carrier side where the real delays come from, they just make it that way. When all the DRM and bloatware and crapware and bandwidth throttlers and tethering blockers and Carrier IQ loggers that are all designed to BREAK your phone or compromise its security go in, its damn difficult to make it run at all.
Look at cyanogenmod and how little time it takes them to get new versions out once they have all the roadblocks in the device figured out.
Digital is, by definition, imperfect. Analog is the way to go.
In the first Ice Cream Sandwich source code that was released, the Hardware Abstraction Layer (HAL) – the software layer giving applications direct access to the hardware components – was to some extent adapted for a Texas Instruments hardware platform. However, for all 2011 Xperia phones, we used a Qualcomm hardware platform. This means we have to replace the default HAL coming with first source code released for Ice Cream Sandwich, with our own HAL.
The HAL changes have impact on several features on a phone, including the camera, different sensors (such as proximity, light, accelerometer and compass), audio, Bluetooth, Wi-Fi, GPS, as well as multimedia and graphics components. Thus, we do not only have to modify and configure the HAL according to the Qualcomm hardware platform, but also all the other hardware components used in a phone.
Wow, I sure hope they're just mixing up terminology here. The entire point of a HAL is that you just plug in your drivers. If you have to modify the HAL because you're using different hardware than the reference device, you're doing it wrong.
You actually aren't giving a good comparison. XDA takes a long time because of the all the PURPOSEFUL breakages and blocks that are put in by the manufacturers and the carriers.
The manufacturers and carriers take a long time because they have some many artificial limiters and blocks and DRM that they all have to work together.
Google and XDA timeframes are understandable. Google is doing the REAL development work to make an Operating System. XDA is doing the best they can with what they have to work with with DRM and spyware riddled garbage.
The carriers and manufacturers spend their time screwing everything up on purpose.
Digital is, by definition, imperfect. Analog is the way to go.
If everyone followed your advice Sony would be long gone.
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.
Comment removed based on user account deletion
A kernel does not an operating system make.
Yoda, is that you?
Yoda would more likely say "Make an operating system, a kernel does not."
There's a difference between Yoda-speak and German-speak. Yoda-speak is OSV (object subject verb; "a fine mess this is") or VOSv (verb, object, subject, helping verb; "help you I will"), in contrast with the SVO or SvVO order of English (and presumably of standard Galactic Basic). The "X does not Y make" pattern is SvOV, as commonly used in German and Dutch and occasionally in English until the early modern (17th century) period. It's an allusion to a Richard Lovelace poem.
The Moar You Know ...:::*
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.
I just got a Samsung Focus S Windows Phone 7.5. It came installed with both AT&T and Samsung bloatware.
15 minutes after I had the phone powered on, all of it was gone. I just deleted it.
I came off iPhone because I hated how controlling they were of the OS. I WANT to like Android, but the level of shit I have to deal with to get a bare OS without all of the bloat is more than I want to hobby with on a phone I need to depend on.
Windows Phone, while it has some pretty huge downsides (anemic app selection, limited multi-tasking), has turned out to be the least restrictive of the three. I just didn't see this coming, honestly. I expected to be an Android user.
Grammer Nazis - I mod you "troll" unless you actually add something on-topic. Yes, I know I have mispellings in my sig.
Why do Android upgrades take so long? You're kidding, right? Probably not... about the time that Android 4.0 came out, there was an article about Android 2.3 being "long in the tooth". I bought my Android 2.1 phone in June 2010. Android 2.2 had just come out, but the only things that the 2.2 phones offered over 2.1 were built-in wifi sharing (didn't need), 4G (not available within 300 miles of my home), and a front-facing camera -- and I wasn't going to spend an extra $100 for the front-facing camera. Since then, Android 2.3 came out (December 2010), then 3.0 (February 2011), 3.1 (May), 3.2 (July), and 4.0 (October). Looking back, 2.1 came out in January 2010, and 2.0 in October 2009. Ignoring the tablet-only 3.x, that's still five versions in two years! Even the ten month wait from 2.3 to 4.0 is hardly an eon.
cb
Oooh! What does this button do!?
And how many of them were NOT T-mobile branded, but nevertheless capable of HSPA+?
The only non-Tmobile-branded phones I'm aware of that are capable being coaxed into doing 1700/2100 plain-vanilla (non-HSPA+) UMTS at all are Samsung's GSM Galaxy-S phones (AT&T Captivate & international i9000). I'm sure there are a few others, but they're rare. Likewise, most foreign phones can now limp along and do 1900MHz plain-vanilla UMTS on AT&T, but very few that can also do 850MHz UMTS. I don't think there are ANY non-AT&T-branded phones that can do HSUPA on AT&T.
As a practical matter, if you care about getting the fastest data speeds possible, America's two nominally-GSM networks are almost as de-facto proprietary as Sprint and Verizon. And the tragic punchline is that when AT&T, Verizon, and (now) Sprint roll out LTE, they're going to be equally incompatible with each other and everyone else on earth despite LTE nominally being a global standard.
Samsung have made zero attempt to lock down the system (which is why I buy their phones). Firmware for all variants of all Samsung phones released around the world are available at www.samfirmware.com. I remember when Gingerbread first came out of the Galaxy S it came out in the Netherlands. I flashed that firmware over my phone without problems. The carriers in Australia released their copies some SIX MONTHS LATER.
The XDA-Dev page should give you a good indication of what Samsung phones are capable of and requires nothing more than downloading one of the two flashing utilities for Samsung phones. Personally I run a beta of IceCream Sandwich on my Galaxy S.
One of the things Apple does right is that they dont need to go through months of testing with every iPhone-selling carrier on the planet just to release a new iOS update, they can and do release on their own terms.
Other manufacturers need to follow Apple on this and take control over firmware releases.
T-mobile will sell you just about any phone they have without a contract. You can then use the very sneaky loophole of calling them and telling them that you are going out of the country, they will try and sell you the international plan, decline saying you are only going out for a few days and you don't expect to go often and would just like to buy a pre-paid sim when you get there. They should give you the unlock code for your phone.
Also T-Mobile is one of the few where the monthly payment is less when you buy the phone outright.
All of the above was encrypted with a Quad ROT-13 method. Unauthorized decryption is in violation of the DMCA.
Yes but XDA should then be the maximum time it should take to release, and they aren't anywhere close yet. Given that everything they have thus far is basically garbage, well that's sort of my point. Getting all of this stuff working is hard.
It's not like google has done all the work. That's, to use my actual comparison of Window 8, like saying that MS does all the driver development. They do a driver, which hopefully won't cause it to explode, but that's about as far as it goes. Getting all the drivers written, for all of the different hardware parts, testing them all, integrating them all isn't exactly trivial. On a major product like the Galaxy S II (which I am most familiar with as that's our target platform for an ICS product next year) there are 2 majorly different CPU's it looks like a couple of different revisions of the same camera and flash, several different antennas etc. When samsung actually puts out a build, it needs to have all of those parts working correctly. And each one of them may have some random thing wrong with it, or that needs a special code path for (LTE, HSPA, different cpu's etc).
You're confusing getting into the guts of an existing firmware and software with trying to get a raw fresh from compilation ICS build on there. Assuming you can get it on at all (rooted phone + odin basically) well then there's only the in hardware module problems to deal with (which you dealt with to get custom roms on ages ago anyway)
XDA, in trying to get ICS working on something, is working with the same source google opened up to everyone. On some phones it's more difficult to get your own rom on, but once you have that problem solved, compiling ICS and sticking it on isn't that difficult, getting to actually do something useful is another matter entirely, which is my point. Right 'out of the box' so to speak ICS builds don't actually work worth shit, and that's the starting point for everyone. I'll be worried (though not really surprised) if XDA solves these problems before the actual companies. Until then, it's just guessing randomly as to how long development should take.
Which shows that they are lying - because a new phone should require a lot more integration work and testing than an upgrade for an existing phone. It is just a question of priorities.