Why is your Samsung still running Froyo? Have they not upgraded your LG to 2.2? Is it Google’s fault?
I have seen some talk and speculation about why Android handsets aren’t getting the latest build of Android, and tech journalists are doing a lot of complaining (at least the ones I listen to), but no one has a really good explanation…yet.
As of January 4th, this is the estimated distribution of Android Versions.

So what gives? iOS phones are always up to date, why can’t Google keep up? I strongly suspect that Google has no problem keeping up, but it is hard to stay standing when carriers and manufacturers insist on running you down with a freight train over and over.
When you “boot up” a phone, it flashed more than just the Google logos, it also shows the handset manufacturers logos and your carrier’s logos. While adding images to a boot sequence is relatively simple, why stop there? Since Google built this OS and allows for free and open use, manufacturers and carriers have taken this as a free lease to walk all over it. The handset manufacturers get the first footprints in the Android code.
Some the major handset makers using Android right now have custom skins they build on top of Android: HTC’s Sense and Moterola’s MotoBlur. These aren’t new operating systems, they are just additional applications, skins, icons, and tools added to the Android OS released by Google. To be fair, these manufacturers build loyalty by making their phones identifiable to customers. The use of a handset is an experience and customers should go out of their way to decide which manufacturers configuration best suits them. So manufacturers want the version of Android on their phones to be as unique and identifiable as their other handset lines.
Once the manufacturer is done “improving” the phone, they are ready to market it to carriers. Note that I said market, not sell. Because carriers won’t buy a phone that doesn’t have their carrier specific logos and features. Again, this is more than just adding a few image files, it might entail apps, stores, or even root level features that users can’t remove. But it gets better. The carrier isn’t going to install all this additional “functionality” on the phone themselves, they leave that to the manufacturer. So one of two things likely happens here: Either the carrier takes the marketed phone and develops the additions and then ships them to the manufacturer for production; Or the carrier makes a list of requirements for the manufacturer to spend more time developing for the phone for production.
None of this work is free. Well, Android is free, but the additions are not free. Oh no, the manufacturers and carriers have to work out a reasonable price for the handset with Android and and manufacturer’s additions. Then they have to contract the work to integrate the carrier’s additions, including the cost. Finally, they have to come up with a total for the handsets because you don’t want to make more than you can sell, unsold handset means someone looses money.
But wait, deployment to existing handsets should be faster, right? No, actually, it gets more complicated if the customer already owns the handset. Since there is no hardware being sold, the manufacturer can’t recoup costs by overcharging for hardware, so they may ask the carrier to pick up the development costs. Carriers don’t want to pay those costs because they can’t pass those charges on to you indiscriminately (thank you contracts!). Once they do get cost worked out, they still have to deploy it: over the air or through a data connection. I would guess a lot of handsets have never been connected to a PC, so over the air is the only way to do blanket deployment.
Unlike the simple process of installing apps, installing a new phone OS version is very complicated. The download is larger, the process can erase data from the phone, and if something goes wrong in the middle – it will brick the phone. In addition, from the time it starts until it is done, the handset is useless. If I were CEO of a carrier, I would be very fearful about customer retribution if I authorized this process to happen on their phone without their permission. In addition, if I gave all my customers the option to do it when it was convenient for them, I would be afraid they could bring down my network at peak load time. Finally, carriers still have to figure out how to support the new and old versions of the OS at the same time. After all, some customers will reject and optional upgrade, but all of them will need some kind of help at some point.
Apple doesn’t face this mess for one simple reason, they control the handset completely. Their contracts with AT&T and Verizon say exactly what changes Apple will make for them on the iPhone. Apple controls all the rest: hardware, OS, apps, feature, and even icons. Their level of consistency almost makes it seem like they won part of the battle for the consumer against the carriers. But one friend reminds me: “Any situation where Apple is the good guy is a very bad situation.”