Mar 15 2011

How to pick your custom ROM

Update December 2012: The main points in this post are still valid to me, but I currently recommend that if you want to mess about with your phone, get proper developer device. The Galaxy Nexus is the first Nexus that I feel is a really decent phone in its own right. I can't wait to see what the developer community does with it. 

So you're either smart or lucky enough to have picked out an Android phone that was born with an unlocked bootloader or at least easily unlocked and rooted. If you're also lucky enough that your device has an active developer community behind it, you now face the decision of which ROM to choose.

- Why would I install a 3rd party ROM?
Android has seen an immense boom within especially the last year or so, and the good news is that there are a lot of very good Android devices out there right now. The bad news is that manufacturers more or less follow the same software upgrade patterns as they have always done, meaning upgrades as few and far between as possible. The main reasons for this are the logistics of rolling out updates to customers, handling bugs and support and so on but it also makes sense from a carrier's or manufacturer's point of view that the optimal upgrade path from Android 2.2 to 2.3 is to buy a new device. Ditch the Desire for a Desire S and so on. From a consumer standpoint, this sucks because it means that you're stuck on old software on good hardware that might easily be able to handle the upgrades.

Unlocking/rooting your phone, installing a custom recovery and thus enabling installation of 3rd party ROMs returns control of your hardware to you. That simple. That's why.

- Choose your flavor
For a device like the HTC Desire, there are a few different types of ROMs. There are the stock ROMs that are rooted and modified versions of HTC's own software. Some are more heavily modified than others, but although some are built to include extra apps and functionality, the main differences are typically purely cosmetic. 

Then there are the ported ROMs, which have been ported from other devices. Given that the HTC devices within the same generation have tended to have had roughly similar hardware, you'll see a lot of those, that actually work quite well. For the Desire, you'll see a whole bunch of ROMs based on ports from primarily the Desire HD and the Desire Z, but "GingerSense" ports from the Desire S are starting to raise their heads too.

There are the AOSP ROMs, which are built from scratch from the Android Open Source Project source code. These are the ones that are closest you'll get to the "pure" google Android experience. Not everyone will want that, partly because the naked android is slightly spartan, and if you bought a Sense device for the bling and the widgets that, you won't be happy with the naked android. Additionally there may not always be hardware drivers available to enable all device functionality, so read the description carefully and be aware of any known bugs. The thing about a good AOSP ROM is it's smooth and faaast while still being easy on the battery. 

No matter what type you like, there will be many options - some developers have made stability a priority, some weight performance, or battery life or whatever. Undervolting, overclocking, Apps2SD.

- Choose an actively maintained ROM.
While your particular android flavor is entirely a matter of personal preference, here's a general tip. You should choose a ROM from a developer who is serious about his work, and keeps his ROM up to date. Meaning: If a ROM is stable and bug free that's fine, and we shouldn't fix something that isn't broken, but you should check the developer's thread to see if there's a history of maintaining and bugfixing.

As long as HTC doesn't release a new Android version for the Desire, it stands to reason there won't be a Stock GingerBread ROM, for instance. Taking carrier/manufacturer logistics and strategies mentioned above into consideration, well...it's doubtful if that'll happen at all. For AOSP ROMs it's another game because the ROM is built from source.

There is a running joke in the Desire community that we'll see both AOSP IceCream on our Desires before HTC brings us GingerBread.

It's not a joke, really, it's probably true.

HTC, prove me wrong.

And release your damn source code already.