Here’s the skinny on Android and why you just can’t “update” it.
At one time, IBM designed the PC. It created the specks, and everyone slavishly copied them. Since every single PC was more or less a clone of the IBM PC, each release of MS-DOS worked on all machines.
This changed when Windows took off. Suddenly, Microsoft created the “reference platform”. If you followed the reference platform, your computer would work with Windows. If you didn’t, it might not. Thus, every time there was an update to Windows, all PCs could use the new update.
Apple’s iOS platform is designed by a single company: Apple, and Apple makes sure that the design of the various iOS devices and the iOS operating system itself work together. They do this by defining a reference platform.
Android has no such reference platform. Android is compiled to each device and each manufacturer designs the underlying layer that talks to its hardware. Thus, every time Google comes out with a new Android release, it may or may not work on the various Android devices that are out there.
The lack of a reference platform wasn’t a forgotten step on Google’s part. It was part of the basic strategy. One of the big complaints about the PC desktop platform is that all PCs are pretty much alike and that they’re basically interchangeable commodities that compete almost exclusively upon price. The reason for this is due to the highly detailed reference platform and Microsoft’s vigorous platform certification system. Yes, your computer can run all Windows updates, but it is virtually identical to every other one.
The lack of a reference platform meant that hardware developers can now design unique phones that compete on a wide variety of features. Because Android is open source, they can futz with the operating system creating improvements in the UI, the input methods, etc. For example, Android phones can use the Swype not because Google included it in Android, but because the manufacturers can include it if they want. If you want a Swype keyboard for your smart phone, you can probably find it on some Android device, but you won’t find it on an iPhone because Apple didn’t sign a licensing agreement with Swype.
It also means that when Google makes a new Android release, not all phones will get it or are even able to handle it. My son has an Android phone he bought. It had Android 1.6, but he was told that it would be upgraded to 2.1 in a few weeks. It has now been several months and now Android 2.3 is out, and his phone is still at 1.6 and might never be upgraded.
Google is changing the way Android is handled in release 3.0. In this release, there is a reference platform and certification testing. This was done to help unify the Android platform where even things such as button layout differ from phone to phone. It will also mean that newer Android releases will be compatible with older phones that fit the reference platform.
Google is trying to keep this reference platform for loose enough to prevent Android phones turning into cheap commodity clones, but strong enough to keep the platform more unified. It is a similar strategy that Microsoft does on its WP7 phones.