Elrond

Cyanogenmod and its (visually impaired) users

Elrond at

A few weeks ago, I got myself a Galaxy S2 and tried Cyanogenmod on it. Here are some of my impressions.

Why the S2?

Simple: It's listed first after the GTA04 on replicant's support list. If replicant supports it, it can't be too wrong. Second it's quite cheap on your-favorite-auction-site. And finally, it's not too far away from my company's S4. And I really consider a custom ROM for my company's phone (knox is another topic).

I could have decided for the GTA04, since I have a GTA01bv03, but really, I wanted a cheap thing to toy around.

Installing CM

Let's go and install CM. The wiki explains on how to get heimdall (I backported the one in debian/testing) and then replacing the recovery with CWM. It worked mostly flawlessly. Except "adb sideload" did not work for me. I have no idea, why. So I mounted the internal usb storage and "adb push"ed the .zip onto the device. That's about it.

General usage / First impressions

Well, the first impression was mostly what I wanted:

  • A rooted phone
  • No google apps
  • No nonsense
  • Can install CACert into the system, yeah!
  • I was quite positively surprised by the permission restriction system. It's not uber great, but it does a good job.

Finding bugs

Really, as usual. It doesn't take me a few days (usually hours!) to find some bugs in a default install of something. So let's see.

  1. I use tripple-tap to zoom into certain areas of the screen, if I have to. This works very good on the S4 with the verndor's 4.2 firmware. On the S2 with CM11-M11 this seems to work at first. But after doing it so many times (I have not counted it, I have no idea, why/what side effects are relevant), it freezes the screen, no taping, nothing works. "adb reboot" is usually my way out. I haven't yet reported this one, because I have no good way to reproduce it yet.
  2. I don't have a SIM for that phone yet. So I use the thing in airplane-mode. Guess what: In airplane-mode you can't add contacts. It's a known bug. I have no idea, if someone works on it. davdroid lists it as a third party bug.
  3. Trebuchet crashes when setting a higher dpi. The S2 has a default dpi of 240. One can use "wm density NNN" to dynamically set a new dpi and change the virtual screen size that way (the number of pixels is the same, but the screen size must be different, if the dpi is different). This is a common tool to test UIs on different sized devices. I wanted to use it to enlarge fonts/icons/everything, so it's easier to read for me. Well, Trebuchet (the default launcher) crashes when doing so. My bug report findings are listed below.

I probably have found other ones, but can't remember them now.

Reporting Bugs with CM

CM only allows bugs for snapshots. This is a development decision. Most of "my" (where I contribute and/or maintain) projects have a rule of "current master has to be stable. File bugs if it is not." For a super large project like CM other ways might be more useful. Fine.

I wanted to report problem #3 from above. So I upgraded to the latest snapshot (M12), reproduced the bug, created a proper logcat with the relevant data and filed the bug. It's CYAN-5899, if you're interested.

So what happened? It was closed within a few hours as "invalid". Yes, you're reading correctly, "invalid". Why? "CM doesn't support DPIs other than what we set by default." I really don't understand that.

  1. This is a nice crash, easy to reproduce, really, something a developer loves! (I know, about what I am talking: I needed days to track down heisenbugs in Samba-TNG–my findings were later ported to Samba classic). So why not go ahead and fix it? Or even look at it for five minutes? If the five minutes have a result of "Well, it's easy to reproduce, but it will take us two weeks of full work time to fix. And well, ${Priorities}" would have been a fine answer. Not to mention that fixing a bug in some not-common situation usually makes things more stable, because one has to make the code better!
  2. "wm density" is a standard developer tool. So what this says: CM does not support standard developers. I don't know, what else to write on this item…
  3. People might want to use Trebuchet on other devices, for thatever reason. So those people are not supported either, probably. (Haven't yet tried running it on another device with increased dpi and filing a bug). But really, I doubt the bug would get better treatment.
  4. Visually impaired people (like myself) really like to play with the dpi settings, etc. And we can happily live with broken layouts (I guess, 5 out of 10 webpages are broken for me). But a crash is just that, a crash. So one could rephrase the statement from above to "CM does not support visually impaired people".

A friend has read the bug report and rephrased the bug's closing statement to "CM doesn´t care about its users".

What next?

I haven't yet found a suitable (supported!) alternative launcher. I am considering to try Launcher3 from f-droid, maybe that one does not crash. I haven't yet checked, if it has any support or not.

I am also considering other ROMs. I haven't yet made up my mind on which ones to try next.

Aleksej, Christopher Allan Webber, Akari-chan likes this.

Christopher Allan Webber, Akari-chan shared this.