|Did you know...?|
LWN.net is a subscriber-supported publication; we rely on subscribers to keep the entire operation going. Please help out by buying a subscription and keeping LWN on the net.
It has been a year since our last look at a CyanogenMod release. So when the project announced the availability CyanogenMod 11M1 — the first of the CM 11.0 experimental builds — your editor did not hesitate to dedicate a handset to the cause. After all, what could possibly go wrong? It turns out that a few things could, but CM11 appears to be on track to be another solid release regardless.
There are some real advantages to owning a Google Nexus device — a Nexus 4 handset in this case. There is no need to "root" it or otherwise coerce the hardware to allow the installation of alternative software; connecting the device to a Linux machine and running:
fastboot oem unlock
will do the trick. Of course, unlocking the phone in this manner wipes all user data, meaning that it's best done at the outset with a new device, but, if one plans to install a new operating system anyway, a full wipe is already in the cards. Once that's done, the usual install of the ClockworkMod recovery image is called for, followed by the installation of the CyanogenMod image itself. In your editor's case, this process rendered the phone unbootable the first time through, necessitating a return to the stock Android image before the second, successful attempt.
Incidentally, Google's posting of the factory images for its devices is a nice habit; it turns experimenting with those devices into a low-risk affair.
A new CyanogenMod installation (with the separate addition of the proprietary Google applications) takes the user through the usual Google startup routine. It did not, however, automatically install the user's backed-up set of of apps the way a new stock Android installation does. It also evidently was unable to obtain the local wireless network password from Google, despite presenting the usual checkbox to allow it to back up such passwords to Google's servers.
The next step is new since last year (though not new with 11.0): the user is prompted to set up an account with CyanogenMod itself. This account exists for now to facilitate the "find my phone" and remote wipe functionalities. Unfortunately, neither function worked. The CyanogenMod "accounts" page showed a "last seen" time from the past and reported that it was unable to establish a connection to the device. Somehow, the phone was failing to communicate with the CyanogenMod mothership, despite having good connectivity otherwise.
Once the preliminaries were done, the phone asked, with no further explanation, whether it should run "Launcher" or "Launcher3." The choice was presented with the usual "just once" and "always" options; as long as one picks "just once," that question will be repeated every time the home screen is displayed. While trying to figure out how to choose, your editor stumbled across this appalling list of Android launchers; evidently the state of the art in launcher technology is so bad that we need more than sixty of them. In the end, either of the two offered by CyanogenMod 11 seemed fine, so your editor settled on Launcher3.
CyanogenMod's tendency toward lots of configuration options has not changed in the last year. There are few aspects of the device's behavior that cannot be tweaked at will. If you want to control how loudly the phone rings after 8:00PM, or which options appear in the quick settings menu, or which sound is played when the screen locks, or the intensity of the phone's vibration, or how many icons appear in the bottom-of-screen dock, or the appearance of the battery icon, or the color and pulsation period of the notification LED, those options (and more) are available. The proliferation of options can be daunting, but, for those who like to customize their environments, it doesn't take that long to find the one option that cannot be done without.
Beyond configuration options, there are a number of features that are unique to CyanogenMod. The phone can be configured to ring initially at a low volume, getting louder the longer a call remains unanswered. The "Voice+" feature enables any messaging app to send SMS messages with the Google Voice service. There is a log of which applications have been requesting location information. "Profiles" allow the collection of a wide range of configuration options into sets; changing between profiles can be done manually or automatically via a set of "triggers." "Torch" functionality is built into the quick settings screen, eliminating the need for a separate flashlight app. And so on.
One of the more significant CyanogenMod features must be Privacy Guard (formerly incognito mode). In its simpler mode, it can be used to prevent apps from accessing personal information. When an app has been blocked with Privacy Guard, the contact list, phone history, and web browsing history appear to be empty, while GPS is presented as being disabled (regardless of its actual state). In the "advanced" mode, Privacy Guard can disable individual permissions for specific apps, as well as reporting on when those permissions were last used. This mode is, in fact, an interface to the "AppOps" functionality introduced in Android 4.3; on stock Android phones, though, this feature is not available without the installation of an app to expose it.
In summary, CyanogenMod remains an interesting variation of Android for those willing to go through the trouble of installing and configuring it. It provides more functionality, more control over the device and one's personal information, and an upgrade path for devices that are no longer supported by their manufacturers. That much has not changed in a long time.
The most significant thing about the 11M1 release, arguably, is that it is based on the Android 4.4 "KitKat" release, less than one month after KitKat was first shipped. That suggests that the Google Android Open Source Project (AOSP) is getting the code out quickly; the worries that things could falter after Jean-Baptiste Queru's departure from the project have proved unfounded so far. The CyanogenMod project is also getting faster at integrating AOSP releases into releases of its own, at least for hardware that is already well supported by AOSP. So CyanogenMod users — those willing to run test releases, at least — can have the best of both worlds: current Android code with CyanogenMod enhancements.
Copyright © 2013, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds