Imagine if Microsoft needed to deliver a critical security update for Windows 7, but they couldn't do it unless they get the approval of your Internet service provider. The way things work today, it would seem silly that Comcast, Verizon, or Time Warner could veto Microsoft updating its operating system on your PC. But lo and behold, that's not too far from the way it works for mobile phones.
We've gotten used to having our desktop operating systems and applications updated by their makers over the Internet, whenever it's needed. It doesn't seem to work that way for a lot of mobile devices, however. That Android phone or Windows Phone 7 device you bought less than a year ago may never see a major update, quickening the day when you decide that it's obsolete. Yet the hardware may still have plenty of life in it.
Apple's iPhone, of course, is the exemplar for how mobile updates should be delivered. TechCrunch gushed over how quickly Apple patched their PR-disaster location tracking problem, where the iPhone was remembering everywhere the phone had been in exquisite detail. Yet Apple is also the exception to the rule, because it's the least open and most vertically integrated smartphone environment around today. That closed system helps them to move quickly.
Carriers have historically called all the shots in their relationships with phone equipment makers. That extends to a ridiculous degree, even to the point where they would demand phone makers disable useful features. For example, about five years ago it was typical for Verizon to disable the ability for their phones to install ringtones via the USB connection. That was done so that you had to download them via wireless, preferably from Verizon's overpriced ringtone store. Those limits clearly had nothing to do with preserving network quality, they were a profit grab pure and simple.
When Apple did its initial deal with AT&T in 2007, the most remarkable thing about it was how much control Apple got over a phone sold by AT&T. Apple ran the store, both literally and figuratively. AT&T seems to have had no input on the product design, and thankfully didn't get to fill the phone with their own AT&T-specific special apps that are nothing more than ads that can't be removed.
That control is one reason why Apple is so agile at pushing out updates, but it's not the only reason. After all, Apple controls not only the operating system software, but also the hardware. It makes their job a lot easier that there are so few platforms to worry about. Go ahead and consider AT&T devices different from Verizon, it still is a very manageable handful of devices, all under the Apple umbrella. The software guys have a short list of hardware they know they need to test against.
Now think about what Google and Microsoft have to go through, it's not the utopia that Apple lives in. Google creates the Android operating system, but it's used on dozens of different hardware configurations. The hardware makers have the ability to modify Android not only to match their hardware, but to add whatever features they'd like. When the time comes for Google to issue an update, it's possible that the changes made by the hardware maker may actually conflict in some way with the changes made by Google. The differences can be reconciled, of course, but it takes time.
Lately it seems that Google is becoming torn by their desire for quick progress versus the level of polish required for others to use their work. Again, this is a problem that Apple's tightly-controlled environment doesn't have. Google, on the other hand, wanted to release Android 3 to serve tablets but doesn't yet feel that the code is ready for others to use. So even though Android is open source, Google isn't planning to release Android 3 until they can put a little more finish into it.