It's no secret that one of the persisting issues with Android is the associated firmware update process (or lack thereof, in many cases). Currently, there is no structure and no rhyme or rhythm to the way updates are managed. It can take anywhere from three months to a year or more to receive the latest software from Google. Google pushes out new software and open sources it (save for Honeycomb) and the carriers have very few guidelines to follow when it comes to updating their devices.
Devices that launched at the beginning of the year are just now receiving their Gingerbread updates – software that Google released in December of 2010. The biggest cause of this latency is the theming and skinning that partner manufacturers make in order to give their customers an "optimal" or more polished experience.
It's worth noting that Google hiked their pants a few months back and called for order; OEMs now have to sign "non-fragmentation" clauses and come to an agreement with Andy Rubin himself before creating custom Android software like Sense UI, Motorola Applications Platform (MAP) or TouchWiz. Updates should be coming more quickly now, but we've seen little in the form of improvement thus far.
Since my very first experience with a custom Android interface (CDMA HTC Hero with Sense, if I remember correctly), I have been a firm believer in the user having the option to choose between Google's stock software and the manufacturer's alterations. After several days with the buggy software and horrible battery life, I looked for anything and everything I could do to improve it. Back then, if your only gripe was the look and feel of the interface, it was fairly simple to disable the launcher and revert to the stock Android launcher. But manufacturers have upgraded since then and removed any workarounds (aside from third-party launchers).
Over the last several months, however, both HTC and Samsung have listened to the voices of their customers and shown support for third-party development. HTC provided a bootloader unlocking tool and Samsung handed a few of their Galaxy S II devices over to the ever-popular CyanogenMod (CM) team.
Just two days ago, the CM team released CM-7.1 to the masses and announced official support for a staggering 68 devices and counting. And once Ice Cream Sandwich officially drops (which should be very soon), they will begin to work on the next version of their CyanogenMod ROM. It could be several weeks or months before a stable CM 9 (CM 8 would have been Honeycomb, had Google released the source) release. But rest assured, it will likely land several months ahead of any official update to ICS from an OEM.
Taking the Android route is all about choice, and we get that in the form of hardware, carrier, pricing, specifications and more. But when it comes to software, you are almost always forced into what the OEM sees fit. Truth is, Sense UI, TouchWiz and MAP aren't always the best for the consumer. Sure, they add a little polish and in many cases bring quite a few benefits – that's why it's great to have them around ... as an option. But more often than not, they're the cause for added glitches, battery drain and performance issues.
In my use, CyanogenMod has been as stable – if not more stable – than stock software (when officially supported and not using an Alpha or "nightly" release, of course). In fact, the chances of me buying a phone without official CM support and keeping it are slim. I know a lot of people who wait for official support before they will buy a particular phone.
A few months back, I proposed that users should have a choice when it comes to software, too. During the initial boot process, users should be met with a prompt asking them if they want stock Android or the associated custom UI. The added work by the manufacturer would be minimal since they have to get stock software running on their device before moving on to the skinning process, and adding a simple script to the bootloader would take care of the rest.
If OEMs don't want to fool with releasing stock software, they could at least partner with Cyanogen and have them do the work for them, since they already do anyway. Users would actually get updates within a timely manner, for once. Not only that, it could offer an "across the board" standard in performance for Android, which it desparately needs at this point.
What do you think, guys and gals? Since OEMs can't seem to get timely software updates under control, should they officially support CyanogenMod? Should users be allowed to choose between an OEM's custom skin and stock software (or in this case, CyanogenMod)?