Android Ice Cream Sandwich was released in October of last year. According to its developers and others who have looked at the code, it was an enormous shift in the underpinnings of Android.

Now that updates for Gingerbread devices are finally starting to trickle out, it seems like not a day goes by where I don't see people griping in online forums about the pace of adoption of Ice Cream Sandwich and how barely anyone has it still.

Most recently, of course, since WWDC this has been a particular talking point for the iOS faithful, contrasting how Apple is able to release updates for all supported versions of the iPhone and the iPad simultaneously with the debut of the new version, with everyone is on the new version within days. And the thing is, I see quite a few nods of agreement among the members of the Android base.

The trouble with this comparison is that fundamentally, Android is based on a different development model than iOS. Android has manufacturing partners other than Google who are free to build devices than run it, while iOS is developed only by Apple for a handful of Apple devices. It's completely unclear to me how people expect to be able to buy a variety of devices from a variety of manufacturers and still get updates as quick as Apple.

Apple develops new versions of iOS directly targeting the 5-10 devices it will run on. Google no doubt does something similar to this as well internally with its Nexus devices.

However, the first time the Android manufacturers are able to get their hands on the code for the latest version of Android is on the release date, and that's when they can start updating their own devices to the latest code.

The release date simply doesn't mean the same thing as it does for Apple. When Apple releases a new version of iOS, that's the date that it is ready to be pushed out to the devices it'll be on. When Google releases a new version of Android, obviously Google has their Nexus device with the latest version basically ready to go, but for the Android partners, that's the date that it's made available for the process of development to start.

What's the alternative available to Google? It could try and involve the manufacturers earlier in the development process, but forcing them to target a moving target before features are finalized would be an expensive burden on them, and the additional bureaucracy would be a potential drag on progress. It could delay the release of the Nexus, and have an official roll-out date for new versions of Android that are 6 months later, but that is pretty unpalatable delaying the release of innovation simply to make people feel better about their branded devices in comparison.

It doesn't strike me as their are a lot of ways to make this better as long as we want an open operating system, and it's pretty unfair for Android to be being attacked for the adoption rate of the latest version months after its "release date" in comparison to the quick uptake of iOS on its release date when the dates are for releases of completely different things.