Tech —

Android ROMs, the easy way: Testing the new CyanogenMod Installer

CyanogenMod Inc.'s new installer makes trying out Android ROMs easier than ever.

Android ROMs, the easy way: Testing the new CyanogenMod Installer

CyanogenMod, the largest custom Android ROM, is looking to jump into the mainstream in a big way. The top members of the team responsible for the ROM recently received $7 million in funding to form CyanogenMod Inc. First up on the new company's agenda is to turn CyanogenMod into something a normal person can use. This starts with revamping the install process. Typically, installing an Android ROM is a thousand-step process that involved lots of Googling, lots of command line work, and lots of downloading random bits of software from untrusted websites. For potential new customers, it's a huge barrier to entry—and something CyanogenMod Inc. is hoping to fix with its new installer.

The old way to install an Android ROM

Cross your fingers and toes.
Cross your fingers and toes.

In order to fully appreciate what the CyanogenMod team has accomplished with their new installer, here's a rough overview of what installing an Android ROM has typically been like in the past. It's mostly a series of archaic command line entry and user input that is so convoluted, it often sounds like a video game cheat code. The full, old instructions for many devices are still on the CyanogenMod Wiki.

  • Download and unzip the Android ADT bundle.
  • Open the Android settings and press the "build number" list item seven times (this sounds ridiculous, but it's not a joke). This will unlock Developer Settings.
  • Go to Developer Settings and enable ADB Debugging on your device.
  • Plug your device into your computer, open a command line, type "adb reboot bootloader."
  • Your device will enter "fastboot" mode. Type "fastboot oem unlock" in the command line.
  • Confirm on the phone that you're OK with erasing everything by navigating with the volume keys, and using the power button confirm your selection. (Again, not a joke. This mode has no touchscreen support.)
  • The bootloader is now unlocked, meaning you are now free to install non-stock software to your device. You haven't actually installed anything yet.
  • The device will reboot, and you'll now be presented with the initial Android setup screen. You're going to erase everything again once the new software is installed, so it's best to skip this. Do that by tapping on each corner of the screen in clockwise order, starting with the top left (still not joking).
  • Unlock developer options again and turn ADB Debugging back on again. That means do seven presses on the build number, etc., etc.
  • Download a recovery image from a random website. Find one that is compatible with your device. There are several competing recovery solutions that you will have to find and pick from. Choose wisely!
  • Unzip your chosen recovery to the fastboot directory on your computer, then type "fastboot flash recovery [filename].img."
  • Download CyanogenMod for your device. You get to pick from "Nightly," "Snapshot," "RC," "Stable," and "experiment" builds. Some of these are horribly broken, and there are no release notes, so make sure you guess correctly. Good luck!
  • Download Gapps for your build of CyanogenMod. This contains stuff like the Play Store and Gmail, which CyanogenMod is not allowed to include.
  • We're almost there! Copy both zip files to your device, open a command line, and type "adb reboot recovery."
  • In recovery mode, pick "install" then find the cyanogenmod zip and the gapps zip on your device. All the recovery UIs are different, so figure it out.
  • Wipe data in the recovery mode.
  • Reboot. If everything worked correctly—and you picked all the right files—you should now see CyanogenMod starting up. Congratulations!

And that's only if everything goes perfectly. It won't.

The new way to install CyanogenMod

Wait, what? GRAPHICS?! Where do I type commands into?
Enlarge / Wait, what? GRAPHICS?! Where do I type commands into?

All of that is really hard. It's confusing and error prone. It requires the user to make a lot of uninformed decisions. A new way was needed, so the team built CyanogenMod Installer. Instead of all that command line nonsense, just take a trip to the Play Store to download the Android app. It will walk you through the entire process, download everything, and automate things as much as Android will allow. You can see the first two steps above, which just consist of a welcome screen and a page instructing you to turn on ADB debugging.

After the instructions, the CyanogenMod app immediately jumps you to the Developer Settings screen, saving you from the silly seven-tap Konami code that is normally needed to unlock it. A few Android apps have "settings walkthroughs" like this, and normally they are pretty confusing. Usually the app shows you instructions, kicks you out to the settings, and requires you to hit "back" to return to the app. If the user forgets this or only skims the instructions, they're lost in the device settings. The CyanogenMod Installer has a neat trick though: as soon as you check ADB debugging, the app immediately takes the user back over, pulls you from the Settings screen, and pushes everything to the next step. Other than checking the box for you (which isn't possible), it couldn't be any easier. The next step is pretty much the same as this one. It mysteriously asks you to turn on Picture Transfer Protocol. Again though, as soon as the box is checked, it sucks you out of the settings app and on to the next step.

After all the phone communication checkboxes are on, the next step is to go to "get.cm" (that's a Web address) on a real computer and download the CyanogenMod Installer Windows app. You'll be presented with an extremely slick, all-white app that will help you through the rest of the process.

The app first checks for updates, then instructs you to connect your phone and allow ADB access. Now the Android and Windows apps are connected, and the real party can start. The app will download and install everything it needs. The only thing the user needs to unlock is the bootloader with the volume and power keys. After about five minutes, you're done! The two apps will have unlocked your bootloader and installed a recovery partition, CyanogenMod, and the Google apps. Even if you know how to do everything the old way, this is much easier and faster.

There are, of course, a few limitations. For starters, the desktop app is Windows-only right now. Your device also has to be on the supported device list for the installer, which currently consists of flagship Samsung phones from the Galaxy S2 and up, the HTC One, and Nexus devices. Verizon likes to lock their bootloaders, so there's no support for Verizon devices other than the Galaxy Nexus. This handful of models is a far cry from the massive list of devices on the CyanogenMod downloads page, but it's a good start and covers the most popular devices.

The other thing to consider is that CyanogenMod may not actually work on your phone, even if it is listed as supported. I ran the installer on my Nexus 4, and while it installed CyanogenMod, Wi-Fi and cell reception didn't work. Additionally, I already installed KitKat on the Nexus 4, and CyanogenMod is still based on Jelly Bean. When you downgrade the way the CyanogenMod installer does, the radios don't work. It would have been nice if the installer detected that before it erased everything.

If CyanogenMod Inc. really wants to lower the barrier to entry, the next thing they need is a way for users to just as easily go back to the setup they had before installing CyanogenMod. Currently, the installer is a one-way street. If the user decides CyanogenMod isn't for them and wants to go back, they're stuck. Even worse, they could run into the situation I did, where CyanogenMod installs but everything is broken. I've done this enough that I know how to go back to stock, but for a novice, they would have been abandoned with a broken phone.

Once the desktop and phone apps are communicating, CyanogenMod Inc. is in a very powerful position. Before installing CyanogenMod, it could easily do a full backup of everything on the device and then possibly offer users an easy, one-click way to return their phones back to the way they were. A way for curious users to "demo" this weird "CyanogenMod" thing they've heard about would be great, and that's a much more friendly proposition than what the installer is now: a permanent (for a novice) change to a phone.

CyanogenMod is still not really for the faint of heart. Even if the installer works and you get CyanogenMod up and running, you'll be treated to pages and pages of tweaks and settings. Really though, that is half of the appeal for CyanogenMod users (besides removing TouchWiz). There's a lot of functionality handcuffed with a lot of complexity. Still, this is a good first step for the fledgling company. It's now much easier for users to dive in to the world of phone tweaking. Just be aware that, for now, it's a one-way trip.

Channel Ars Technica