Editorial: Custom ROMs are awesome, and sometimes they break stuff

For many of us, part of the fun of having an Android phone is yanking off the intended software and putting a community-built custom build into the ROM. Sometimes, it's almost necessary to fix a few "broken" things the OEM is dragging their feet on (hello, T-Mobile G2X!), but more often than not it's done either to add features, take away features, or because it's a whole bucket of awesome inside of big box of coolness -- in other words, fun as hell.

Of course, the first thing we all look at when cruising for the next custom ROM we're going to flash is the "not working" list. It often takes time to get all the features of a device working with custom software, and usually the first few releases of a ROM will have at least a couple things not working. It's not necessarily a ding on the devs building the software, OEMs aren't very keen on sharing their secrets and code -- even when required to under the license they agreed to before using it. That's why we see things like camera issues, Bluetooth wonkyness, and various sensors not playing nicely until they are tickled into submission. We all have a cut-off point where we say "I don't need any of that stuff right now, and I wanna try this" and we flash it. Don't deny it, you have that line just like the rest of us do.

But that's not the sort of broken stuff we're talking about. There will always be some weird app issues that the developer didn't see. Maybe he (or she) doesn't use a particular app or just hasn't tried it yet. Those broken things aren't listed in the "what's not working" list. But they're still there, will always be there, and eventually you will run into one of them.

I'm mentioning this because of the recent boom of Jelly Bean ROMs being built for almost every device. Without pointing out anyone in particular, I saw a thread on an Internet forum about Google Now not working on the Galaxy Nexus. The person with the issue asked for help, and quite a few people were working with him, trying things and doing the usual voodoo ritual that often fixes broken stuff. About 20 posts (and a day) later it turns out that the fellow had a custom built 4.1.1 ROM running on his Sprint Galaxy Nexus. Everyone with that particular ROM had a busted Google Now app, and nothing short of editing the ROM was ever going to fix it. Rather than realizing this, the fellow with the issue quickly proclaimed that Android sucks and he hated this f&*@$!ing phone.

Now, to you, Android might suck. To over a million of folks a day buying Android phones, the phones are just fine. In either case, Google and the Android team had little to do with it this time around. We like to flash our phones. We need to realize that we often break things when we do it. Enjoy your phone, hack the living crap out of it, but don't be surprised (or act indignant) when random things are broken.

Jerry Hildenbrand
Senior Editor — Google Ecosystem

Jerry is an amateur woodworker and struggling shade tree mechanic. There's nothing he can't take apart, but many things he can't reassemble. You'll find him writing and speaking his loud opinion on Android Central and occasionally on Twitter.

  • now now, did he make a backup before flashing that rom? if not, he has no room to complain.
  • +1,000 If you don't make a backup BEFORE flashing anything, STFU!
  • +1. I flashed a CM 10 rom yesterday on my Gnex that somehow broke Root. Restored the backup right back to stock. Always do a backup!
  • Root is in the system partition and most install scripts format the system partition before copying the files over, so whether you have root or not is usually dependent on whether the ROM you are flashing is pre-rooted or not. Doesn't CM10 have a setting for turning root on and off?
  • Sure, must make a backup, it is safe for him
  • Reason NUMBER ONE why the nontechnical should NOT Be ROOT/Hacking anything . . .Any one that asks me to Root their phone for them... I tell themm NO...But I'll show you were to go to read and find the files you need... Rooting and Roming is only FUN if you're the Techy Type... You know things are going to be broken or not work well... You know if your phone is bootlooping it's not the end of the world... Some people just don't have that mentaility and should not be rooting anything
  • Couldn't agree with you more. I remember rooting and flashing Cyanogen on my friends old Droid a while ago for him. Never again will I do that, if anything wasn't working right I got flooded with text or phone calls. Even though before rooting and flashing I told him he should read up on his phone and check out the forums. He wasn't really one to put the time into all of it though. Soon or later I got sick of it and flashed it back to stock and said if he wants it rooted to go about it himself hah. This also brings up a good point that I think Phil or Jerry brought up about actually using ADB to root your device instead of a one click program. First off ITS FUN! Second you then have a better understanding of how things work and what to do when things go wrong.
  • I agree with you 100% about the one click programs. They are good and save some time, but it also lowers the price of admission so to speak. It allows anyone with a computer root and flash to their phone.
  • And learning adb/fastboot commands when your phone is working is a lot better than trying to learn them when something is messed up. If you flash roms, kernals and radios, eventually something is going to get off and there isn't going to be a one click tool to fix it.
  • +1
  • Agree with you 100%
  • I have to disagree with you here, particularly when it comes to phones like the Nexii. I'm extremely non-technical--liberal arts background, non-technical trade, etc. A lot of people see things like I see things--as concepts. Once broken down and once carefully instructed, I really believe anyone can root/hack/etc. All it takes is understanding how to convey those concepts, which I guess is somewhat similar to your point about "showing them" the way. That being said, rooting/hacking is great fun and you have to start somewhere. As long as someone is there to teach, I see no problem with those "non-technical" folks doing it.
  • And people really need to read a lot before jumping in so they know where to go if something goes screwy. Eventually you are going to get stuck in a bootloop, so it's best to have your resources and knowledge together to know what may have caused it and how to get back to a working phone.
  • " it's almost necessary to fix a few "broken" things the OEM is dragging their feet on" "It often takes time to get all the features of a device working with custom software, and usually the first few releases of a ROM will have at least a couple things not working." This is what's starting to turn me off of android blogs, mostly here. First you make sure to criticize the OEM for being slow in releasing updates often due to better quality control and more official channels to go through, then praise the 3rd party devs for being slow to update and fix things when they have glaring bugs. I'm not knocking the 3rd party devs, some bust their asses to make sure people have the latest and greatest with out asking for anything in return.
  • The OEMs never put out anything better than good custom ROMs any official software besides GNex Stock is typically broken in some way or another. OEMs are brazenly evil in this regard some phones they just leave permanently broken. Moral of the story you want good software buy a Nexus and/or find a good custom Rom
  • I've spent months as a Moderator watching, reviewing and moderating post after post of complaints about the Gnex. I just recently ended up with the Sprint Gnex, aside from the normal complaints I don't see what all the fuss is about. The phone has been performing for me as expected, its a Nexus device after all. My opinion the Gnex has gotten a more of a bad wrap than it should of.
  • The OEM is the one that SHOULD be fixing these issues, and NOT dragging their feet, especially when they have all the required tools of the trade, for the specific hardware they are working with, for the specific operating system version they are developing for. The "better quality control" you speak of obviously doesn't work very well if the device ships with bugs that users feel the need to take their own free time to fix. A ROM developer has to make do with what's available, sift through code, and play trial and error games, all without receiving a paycheck...they go through an entirely different process than an OEM would to fix, say, slow GPS. So, yeah, they get "praise", not for being "slow to update" like the OEMs, but for the fact that they do it at all.
  • The difference is that the OEMs have access to the full source code for the device, and are in a better position to get drivers than the community is. Devs often have to reverse engieneer quite a bit to get something working, and that by its very nature is going to take time. The praise comes from how fast the dev community is able to do this stuff in spite of their handicaps compared to how slow the OEMs are despite how relatively easy they have it.
  • There is a difference here. Several actually 1) OEM's sell these devices. They have all the drivers. They are making money. They should be quick and careful. They often are neither. Sad but true. ROM dev is a volunteer that doesn't even make much in donations, and can often end up with a several hundred dollar brick if something goes wrong. 2) OEM's sell to the average joe. He needs a working phone. The OEM should make sure it's as good as possible (nothings perfect). The ROM dev is volunteering his time and device for a much more technical crowd. 3) The time scale is WAY different. A slow OEM might take upwards of 6 months to fix these bugs. A "slow" (as you put it, I would never call them that) ROM dev might take 3 weeks to fix something. I had a very high quality build of every android version after eclair on my SGS1 weeks or months before official, and eventually, the OEM just gives up on the device. That's really slow. In other words, I really don't see you having a leg to stand on here.
  • I agree with your post but for 1 thing...you can't be quick and careful, you got a contradiction right there :)
  • LOLno. OEM software is terrible, sloppy and rushed. I can't stand it, and Samsung's horrible coders forced me no choice but to custom ROM my phone.
  • Good piece Jerry
  • Let's face it rooting and ROMing are what we do now - versus messing around with PCs, DOS, Windows, and Linux desktops when that was fun. If you weren't inclined to take your computer apart or build it from the ground up you probably shouldn't be messing with custom ROMs for Android or jailbreaking your iPhone.
  • Agreed, I built ever PC I've owned after my first packard bell.
  • I love the evolutionary process as a rom goes from Alpha to Beta to Better! It is neat to see the collective brainstorming of the community. The only thing that has happened that bothers me is the Dev pool gets a little thinner as more and more of phone models are released.
  • Good stuff, Jerry. If you root and ROM, enjoy it and embrace the inevitable issues that are going to pop up.
  • And isn't the normal disclaimer in the op for this guys ROM? I mean like "I'm not responsible is you break your phone or certain crap don't work..." Flashing Roms is not for everyone. Before I flash a ROM I read the whole thread and if not the whole thread I start reading from a day or 2 before the ROM was released. I have ran across many Roms that sucked one way or another. I have never lashed out at the Dev or community, I simply went and flashed a different ROM until I found the one that suits me. I run MoDaCo with the Vicious stock jb kernel. I love it, it does what I want. But it doesn't suit the wife, she loves Xenon HD with the James bond kernel. It runs how she wants.
    Also when ROM flashing and you run across something broke or not working, don't get pissy with the Dev or community. Put it nicely. These devs do this for fun and personal challenge. Don't treat them like they are scum for releasing their essentially beta Roms. They need the community so they can find all the bugs and work them out.
    My 2 cents.
  • Well said.
  • Seriously, no-one should flash a ROM if they don't know what they're doing. I keenly remember the first time I "bricked" my Fascinate when the Voodoo lagfix I applied messed up my boot partition or something and I was up until the wee hours of the morning on IRC getting me out of my mess. After flashing dozens of ROM's since then I have learned that most discussions around new ROM's tend to exaggerate their benefits. Occasionally something truly better comes along but rarely is it perfect. In my experience, you tend to just swap one problem for another. Sometimes it's a big problem, like when CM9 was temporarily suspended for some phones because it messed up the ability to dial 911 until some RIL code was worked out.
  • I did that same thing with my Fascinate lol! Fortunately I also learned through the experience how it's damn near impossible to hard brick a Samsung. Not so with an HTC in my experience however. So the difference in phones from one manufacturer to another is something to really pay attention to. Funny thing also I learned with the Fascinate is that sometimes once the carrier & manufacturer get on the same page & update the phone to current software, a lot of the reason for ROOTing & installing custom ROMs goes away. The Fascinate became quite a nice little phone once it got updated to Gingerbread. I still rank it as my 2nd favorite of the 5 Android phones I've had.
  • I'm still trucking on in my fascinate running ICS with google now installed. I'm waiting for a more stable version of JB to come out. Its funny because my 2 year old phone will have more up to date software than every other android phone except for the NEXUS S and Galaxy Nexus. That is why I strongly believe I should get the phone with the best hardware possible at the time, so when the OEM abandons the phone, we can still flash the latest and greatest and the hardware can still handle it.
  • That guy sounds like a real smegma.
  • Another factor to keep in mind when flashing ROMs or ROOTing a phone is the type of device you are using. Samsung phones are very easy to work with in this regard. Exceptions like the GS3 on Verizon do apply of course. But compare the relative ease with which you can ROOT & flash a custom ROM on a Samsung with the hoops you have to jump through for an HTC phone & it's worlds apart. Give the DEVs credit for what they do manage to get working on some of these phones. The HTC Rezound I use as a daily driver is way more complex to ROOT & ROM than this GS3. In my experience the device itself is probably the larger hurdle. My rule of thumb is if when I read the directions I can't get a firm grip of the details the first time, it's probably too much trouble to flash the ROM & deal with the headaches afterwords. Those headaches can always be avoided by the end user. If you aren't entirely comfortable with the process... DON'T DO IT!!!
  • Well said.
  • Well said!! Wit the release of Jelly Bean, I fell in love with the smoothness that project butter brought to the table. I don't understand what's the point of having a custom rom on Jelly Bean. (On ICS I can definitely understand) The only thing I've done to mine is flash a custom kernel (Trinity) just to add a little control with voltages, battery life & screen color just to name a few. At the moment, IMO, Stock rom is by far your best choice as your daily driver. I have no witnessed any lagging of any sort while running stock on JB.
  • I'm running a custom rom on my GSM galaxy nexus to fix my speaker volume issue.
    I agree that at this point your probably better off staying close to home, so I picked a rom based on the stock 4.1.1 image but theirs also little things like a percentage on the battery icon (Why has google never added that, even as an option) and things you mention like voltages, battery life etc. Btw if you are using a custom kernel, it's not really different than a custom rom, unless it's AOSP based, the biggest changes in a custom rom is the kernel, a lot of the times the only other things they do are removing and adding software packages and theme the software a bit.
    So saying their's no point in custom roms, but I flashed this kernel is quite contradictory. Most of the time (except in cases like mine with speaker level issues, or upgrading to a new version of android that your manufacturer didn't provide an update) you don't flash a custom rom because their's something you absolutely need. it's about changing up the stock or aosp software and making features more accessible, more configurable, overclocking, battery modifications, or to make it look cooler.
  • Can I also add, if you are running a custom rom, be VERY careful in your play store reviews. When I see "FC on randomrom on X device, 1 star" on a play store review, I die a little inside. Make sure it's not just your rom or your device. I'd *almost* go as far as say don't leave any negative reviews over crashes on a custom rom. Bad functionality, not fun, etc, review away. You really need to be careful on app crashes though. It could very well not be the app devs fault.
  • Jerry - I heard there was a small eruption in your neck(beard) of the woods. How many fish did you catch and release before you could write such calm, cool, and collected editorial? Or was it beer?
  • Custom ROMs are overrated. Now if you are not a fanboy, please read on for an explanation. There is a user who a bad experience with his phone and with a custom ROM and is now taking it on Android as a whole. I can only imagine all the hype that made this user choose a Galaxy Nexus in the first place: "Oh, it's the best phone out there... It'll get updates from Google faster than anybody else's phone... It's the best phone for hacking hands down!" These are all subjective statements that keep being thrown out as facts by Android blogs and forums. To that hype lets add another clear misconception, spread blatantly by Android fanboys and clearly noticeable even in this post's comments: "OEMs are scumbags and their ROMS are crap. Custom ROMs are always better than a stock ROM for the OEM." WRONG! I've had many Android phones and ALL of them have been usable as daily drivers with their stock OEM ROMs. Even the ones that have had bugs so annoying to make me try a custom ROM were really more usable with their stock ROM than with the custom ROM I replaced them with. Switching from an OEM ROM to a custom ROM means trading a few bugs for a few others. Yes, custom ROMs are fun; they are probably the greatest fun project you can take with your Android phone whether you are developing the ROM or whether you are a user providing feedback to the developer community. But no custom ROM is "better" than the OEM ROM for the same phone (maybe with some exceptions like the G2x), although a good custom ROM is not worse than the OEM ROM; they are different experiences. What users like the one cited in Jerry's post need to understand but most likely won't unless we can all be more objective in our view of OEM vs custom ROMs is this: No custom ROM is going to save your from all your Android woes, at least not without introducing new ones. Read the instructions, check their development communities for know issues specific to your device and decide if it's worth taking the plunge. Sometimes it's worth flashing a particular custom ROM and take a few minor bugs just to get rid of other bugs that annoy you. Sometimes it's better to wait it out until important issues in custom ROMs are sorted out, and in some cases... cue in the "Matrix Morpheus" meme: What if I told you... it's OK to use a stock ROM?
  • "But no custom ROM is "better" than the OEM ROM for the same phone (maybe with some exceptions like the G2x), although a good custom ROM is not worse than the OEM ROM; they are different experiences." That's a wholly subjective opinion IMHO. I'd also argue that roms like CyanogenMod--hell, particularly CM--can legitimately pose a challenge to such opinion. But that being said, nicely worded :).
  • Well said.
  • This post is why I hate when I see comments like "DUDE JUST ROOT THE PHONE" as a solution for people with issues. Rooting is not and should not be the solution to phone complaints and I wish enthusiasts would stop telling every person with an Android phone to do it.