[go: up one dir, main page]

|
|
Log in / Subscribe / Register

A CyanogenMod 11.0 M6 test drive

By Jonathan Corbet
May 14, 2014
The CyanogenMod 11.0 M6 release was made available on May 4. CyanogenMod, of course, is an Android-based distribution for handsets and tablets. Your editor, in a grumpier than usual mood, decided that this would be a prime opportunity to inflict pain on a helpless handset and see what CyanogenMod has been up to since the 11.0 M1 review published late last year. Since then, Cyanogen (the company) has received another $23 million in venture funding; it is natural to wonder what visible effects all that money has had.

Release cycles and installation

Once upon a time, the CyanogenMod "M" releases were just another form of unstable release, something vaguely similar to the -rc releases used in the kernel setting. So one would expect a series of "11.0 Mn" releases to lead up to a stable 11.0 release eventually. But that is not how things work in 2014; the "M" releases have become the new stable. They are released on a monthly schedule, with something that looks like a three-week "merge window" followed by one week of stabilization time. The plan is that the "M" releases are safe for general use and that users can routinely follow them to get bug fixes on a monthly schedule. There will be no separate "stable" release. Meanwhile, more adventurous users can continue to use the nightly snapshots.

The handset in question is a Nexus 4, the result of extensive surgery joining parts from two devices, one of which suffered a trip through the washing machine while the other did a high-speed faceplant on an unforgiving floor. The device works nicely despite its difficult life, though; your editor did not wish to brick it in the process of installing a new operating system onto it. That is a natural fear for most users, many of whom may not even have a sacrificial device to play with. So it is natural to wonder if the installation procedure has been made easier or less fraught.

It turns out there's a nice application out there that does all the work for you now; it supports a number of devices, including the Nexus 4. Just plug the device in with a USB cable and let things go. One assumes it works like a charm — if you have a Windows or Mac OS machine. Linux, the operating system at the base of Android (and, thus, CyanogenMod) is not supported. One should probably be charitable and assume that the CyanogenMod developers expect Linux users to be a hands-on group and that they just don't want to ruin our fun.

So it was off to the Nexus 4 page for installation information. Whoever maintains that page clearly hasn't gotten the memo about the new release scheme; the "M" releases are described as "more stable than a nightly but potentially some issues". The page suggests the RC and stable releases, neither of which even exists for CyanogenMod 11.0. If the CyanogenMod developers are still wondering why users don't seem to understand the new release cycle, they may want to consider that pages like this one are likely to be a part of the problem.

If one follows the instructions, one's CyanogenMod installation should be relatively painless. One should, however, take note of the step that says to ensure that the internal storage is mounted before running the adb command to push the CyanogenMod zip file to the device. This step should be noted even though that hint appears after the command in question. Otherwise one may just end up with a bricked device that won't get past the bootloader and where even attempts to reflash the recovery image come back with "partition table not found." Doing a full factory reinstallation and starting over gets around this particular issue, or so your editor has heard; he, of course, would never have made such a silly mistake.

The 11.0 M6 release

Assuming that the Google apps have also been installed (a separate step since those apps cannot be shipped with CyanogenMod directly), the result is something that feels quite similar to a normal, KitKat-based Nexus device. There are some small differences (CyanogenMod puts the classic "Browser" app on the home screen instead of Chrome, for example), but they can be tweaked away if one desires.

[Quick-settings tiles] The nice thing about CyanogenMod, of course, is that just about everything can be tweaked if desired. The home-screen search bar — a permanent fixture on stock Android devices — can be abolished if desired. The quick settings tiles can be adjusted and rearranged, and there are a lot more of them than Android provides. It is nice, for example, to have the flashlight immediately accessible there without the need to install a separate app. The "profiles" mechanism allows extensive control over the phone's behavior in different settings, and so on.

The customization of the settings tiles aside, most of these features have been present in CyanogenMod for some time. The list of new features since the 11.0 M1 release is relatively short, but, in general, everything feels more solid than it did in the M1 days. The new "parallel shutdown" is supposed to power down the phone more quickly, but it is hard to see the difference. Quite a bit of work has gone into support for handsets with more than one SIM, but that is not something your editor was able to test. There is a left-handed mode that puts the navigation bar on the left side when in landscape mode. The "Trebuchet" launcher has returned, adding configurability and doing away with the multiple-launcher confusion seen in the 11.0 M1 release. And, of course, there has been a constant stream of bug fixes and hardware-support changes.

Perhaps most notably, the "Privacy Guard" feature has advanced considerably in this time. One can mark specific applications to keep them away from personal information, but it is also possible to [Privacy guard] control the behavior of apps in more precise ways. Access to personal information, access to location information, use of the camera, the ability to change settings, and automatic startup at boot are all controllable if one goes into the advanced mode. This is just the sort of control any user should have over the capabilities of apps stored on a device they own — or it would be, if it were just a little more complete.

Given the emphasis on privacy, it is interesting that the one permission that is conspicuously missing is network access. It would seem that there would be few better ways of ensuring that an app will not compromise privacy than preventing it from phoning home, but that is not an option that CyanogenMod provides. Blocking network access would, of course, interfere with the delivery of advertising, and CyanogenMod has shown in the past that it is only willing to rock the boat so far in that area. So apps continue to have an unrestricted ability to talk to arbitrary hosts on the net from CyanogenMod-based systems.

Beyond that, there is little that is new in CyanogenMod 11.0 M6. It's not clear what the company has been doing with its millions beyond the inevitable creation of a new logo. One assumes that the company is hard at work building a business model that will sustain it in the years to come, but there are few hints of what that model will be so far.

In the meantime, though, CyanogenMod continues to be a solid distribution for mobile devices, suitable for users wanting extra customizability, better update support than the original manufacturer provides, or a more stock Android feel without vendor add-ons. It can also serve as a base for those wanting to put together a device that is not deeply tied to Google; that is a topic your editor hopes to pursue in the near future. It is a demonstration that there is still a lot of freedom in Android, even if it is not quite the open, community-oriented, 100% free project that many of us would like to see.


to post comments

A Cyanogenmod 11.0 M6 test drive

Posted May 14, 2014 20:43 UTC (Wed) by hmvp (subscriber, #54422) [Link] (4 responses)

Maybe network access was not touched because there are already fine apps to provide per app firewall like capabilities, DroidWall for example. All the special privileges require more effort to 'protect' since most apps crash or wont work if you naively deny access.

A Cyanogenmod 11.0 M6 test drive

Posted May 14, 2014 22:37 UTC (Wed) by yann.morin.1998 (guest, #54333) [Link] (2 responses)

> most apps crash or wont work if you naively deny access

I wonder if we could make "deny access" be implemented as "access fake data".

For example, denying access to the addressbook would give access to an addressbook with no entry, or with a single entry like "John DOE, no phone, no mail, no address". A fake GPS would point you to +0+0 (in the midle of nowhere, in the Atlantic Ocean). A fake network access would just return no entry (or 127.0.0.1) for DNS requests, and drop other packets. And so on...

Thus, those privacy-invading apps would run (mostly) happily by scavenging absolutely meaningless data.

Regards,
Yann E. MORIN.

A Cyanogenmod 11.0 M6 test drive

Posted May 15, 2014 8:13 UTC (Thu) by moltonel (subscriber, #45207) [Link] (1 responses)

I believe that's exactly what is being done, depending on the particular ressource.

Contacts return an empty list. GPS returns a fake location (I think stock android allows that too, but only system-wide and in developer mode). For network access it's likely to be trickyer : timeout the connection and the app will probably seem sluggish; return connection refused and you risk causing a battery-draining infinite loop.

A Cyanogenmod 11.0 M6 test drive

Posted May 15, 2014 9:11 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

Maybe ECONNREFUSED with exponentially growing timeouts?

A Cyanogenmod 11.0 M6 test drive

Posted May 15, 2014 13:27 UTC (Thu) by mathstuf (subscriber, #69389) [Link]

Well, the thing is that you can actually test this without a mod. Just turn off data network access and wifi. Most apps just have a blank box where their ads go, but the HTML-based ones will have the div collapse to nothing when it doesn't get filled. It has been a while since I've seen apps which only need the network for ads fall without access. The only one I think that has issues is Google Wallet yet (which is where I'm storing reward fobs rather than my keyring now…though a FOSS app would be better here).

A Cyanogenmod 11.0 M6 test drive

Posted May 14, 2014 21:31 UTC (Wed) by juliank (guest, #45896) [Link] (2 responses)

Unfortunately, M6 is unstable on maguro. The new theme engine crashes. I wonder whether this is fixed in nightlies...

LWN is not a Bugzilla

Posted May 16, 2014 7:29 UTC (Fri) by rvfh (guest, #31018) [Link] (1 responses)

Hmm I don't think filing a bug in the comments section of LWN will help much. You'd be better served by talking to the CM guys...

LWN is not a Bugzilla

Posted May 16, 2014 8:08 UTC (Fri) by juliank (guest, #45896) [Link]

It is reported in their JIRA.

https://jira.cyanogenmod.org/browse/CYAN-4047

I just did not want to look it up again.

Sorry for confusing instructions

Posted May 14, 2014 21:31 UTC (Wed) by proski (guest, #104) [Link]

I have fixed the instructions that were telling the user to check that /sdcard is mounted after being instructed to put files there. It's on the Wiki and editable by everyone. I changed that part when I had trouble using adb with Amazon Kindle Fire. I added words to the effect that other ways (such as MTP) are fine to upload the zip files. Somebody expanded my text even further, and thus the notice about checking if /sdcard is mounted drifted far away from the place where it was needed. It's a separate step now.

A CyanogenMod 11.0 M6 test drive

Posted May 15, 2014 17:29 UTC (Thu) by NUXI (subscriber, #70138) [Link]

> So it was off to the Nexus 4 page for installation information. Whoever maintains that page clearly hasn't gotten the memo about the new release scheme; the "M" releases are described as "more stable than a nightly but potentially some issues." The page suggests the RC and stable releases, neither of which even exists for CyanogenMod 11.0. If the CyanogenMod developers are still wondering why users don't seem to understand the new release cycle, they may want to consider that pages like this one are likely to be a part of the problem.

And many people are probably just learning this now thanks to your article, myself included.

A CyanogenMod 11.0 M6 test drive

Posted May 16, 2014 21:58 UTC (Fri) by hpro (subscriber, #74751) [Link]

I must say, though, that since discovering the Xposed Framework and its mods, my urge to install Cyanogen has almost disappeared. That allows me to address the most obvious shortcomings, such as the lack of configurability of the tiles in the notification bar; all without the need to abandon my stock image.

Grumpy tone

Posted May 17, 2014 15:06 UTC (Sat) by rav (guest, #89256) [Link] (1 responses)

I thought this article sounded grumpier than usual. I think you should edit out the passive aggressive complaints in the article, because they don't reflect well on LWN.

I hope you are feeling well, Jon, and that you will recover soon.

Grumpy tone

Posted May 26, 2014 8:25 UTC (Mon) by oldtomas (guest, #72579) [Link]

> I thought this article sounded grumpier than usual.

See how perceptions can differ. I thoroughly enjoyed the article.

> I think you should edit out the passive aggressive complaints in the article

By stretching my imagination and squinting a bit *at the same time* I think I can see what you perceived as "passive aggressive". My perception is totally different. For me, the article is spot-on

> I hope you are feeling well, Jon, and that you will recover soon.

Here, I couldn't agree more.


Copyright © 2014, 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