A look at CyanogenMod 5.0.8

Please consider subscribing to LWN Subscriptions are the lifeblood of LWN.net. If you appreciate this content and would like to see more of it, your subscription will help to ensure that LWN continues to thrive. Please visit this page to join up and keep LWN on the net.

One of the core features of Linux has always been the ability to switch to a different distribution in the eternal pursuit of something shiny, new, and different. Linux on handsets should be no different. Someday, with any luck at all, we'll be able to change between systems like Android and MeeGo on a single handset. For now, the options are a bit more limited, but there are still toys to play with. Your editor took the CyanogenMod 5.0.8 announcement as the perfect opportunity to avoid real work for while. In short: CyanogenMod is a classic demonstration of what can happen when we have control over our gadgets.

CyanogenMod is a rebuild of the Android environment with a lot of added stuff. Some of what's there is code from Google which has not yet made it into an official Android release; for example, CyanogenMod users got essential features like color trackball notifications, animated GIF support, and 360-degree rotation ahead of stock Android users. They also got features that really are essential, with wireless tethering being at the top of the list. CyanogenMod also includes newer kernels with more features enabled, busybox and a whole set of command-line utilities, proper virtual private network (VPN) support, proper support for applications on the SD card, a cellular access-point name list which takes the guesswork out of using the phone with most providers, and lots more.

CyanogenMod also supports older handsets like the G1/ADP1 which, otherwise, remain stuck with old versions on the Android system.

It's worth noting that the CyanogenMod experience actually starts with the recovery image provided by Amon_RA. This image makes it easy to flash new versions of firmware into the phone. Even more importantly, though, is the full integration of nandroid backup and restore. Your editor can attest that this feature is able to take a handset which no longer even boots after a botched update and return it to its previous state. Needless to say, this capability makes experimenting with new versions a much lower-stress affair - if one remembers to make a backup first.

With regard to the CyanogenMod 5.0.8 update, the first thing to be aware of is this: it is still based on the Android 2.1 release. So while this release has had a lot of 2.2 features since well before 2.2 existed, it is also lacking a few, including the multi-lingual keyboard and the much-faster Java runtime (though it does have the faster V8 JavaScript engine). People running 2.2-based handsets will want to think before making the switch to CyanogenMod; there will be losses as well as gains. One assumes that a 2.2-based release will eventually appear, but nobody has made any promises as to when.

So what is new in 5.0.8? The headline features include:

The launcher has been replaced by ADW.Launcher, which adds a number of features. Some of them - being able to see all of the launcher screens with a "pinch" gesture - would be more useful if Android's screens were more dynamic. Many of the others seem oriented toward cramming more useful stuff onto each screen by allowing closer icon spacing, adding customizable buttons at the bottom, etc. It is, all told, an improved experience for users who do a lot with their phones.

The music player application has some new features, primarily gesture support. It remains a fairly minimal music player, though; your editor anxiously awaits the day when Rockbox is available as an Android application.

The camera is now capable of recording 720p video - not bad for a cellphone.

There's also a number of bug fixes and performance improvements. Some users are reporting that CyanogenMod 5.0.8 feels a lot faster than its predecessors; your editor is inclined to agree but it's not entirely clear why that would be the case. One other nice little change is that the practice of hiding some settings under "spare parts" appears to have ended; all settings are, once again, available from the "settings" application.

There have been a few complaints about problems with this release, mostly associated with video recording. Those may all be due to a failure to wipe (factory reset) the phone before installing the update, though. Over a couple of days of usage and testing, your editor has not been able to find anything that has gone obviously wrong. It appears to be a solid release.

Naturally, CyanogenMod is not the only customized distribution available for Android phones; a number of alternatives are available. These include Kang-o-rama (2.2-based with claimed high speed and good battery life), AsimROM (2.2-based with some theme work), LeoFroYo (2.2-based with the nice feature that the Facebook and Twitter applications have been made removable), MoDaCo (2.2, "designed to feel as far as possible like a stock ROM, with optimisations, tweaks and complimentary additions that enhance the user experience"), and many more. There are also projects creating specialized kernels, attempting to enable the FM radio said to be built into the Nexus One, and so on. In summary: there's no lack of Android distributions for those who wish to play with them. At least, if one has a Nexus One; there appear to be fewer developers targeting other handsets.

A word of caution is in order, though. CyanogenMod appears to be developed with a fair amount of care and should be solid, but there are no guarantees, and some releases are better than others. The other projects seem to come and go; the perceived risk level with them may be higher. As with any computer, good backups are important. One other thing to keep in mind is this: someday, somebody will certainly yield to the temptation to build a release with some sort of back door or other malware built into it; for all we know this may have already happened. A handset running this software would be thoroughly compromised at the most fundamental level, and this situation could persist for some time; there are few people looking at the code being shipped in these distributions. Until such a time as we have an ecosystem of trusted distributors for handsets, one must proceed with caution and care.

These concerns reflect the fact that the development of real distributions for handsets has really just begun. Even so, we can begin to see the potential for where things may go: we have developers updating device firmware with versions which are more featureful, more power-efficient, and more tuned to the needs of specific users. If all goes well, we can look forward to a future with increasingly open handsets and a wider choice of operating systems to run on those handsets. Interesting things will certainly come of it.

