Modded Android: A Space Odyssey

Space Odyssey

When I show friends and colleagues the things I’m able to do on my rooted Android device, many of them end up asking me to work similar magic on their hardware. I’ve always been happy to help out, and after a bit of research at home (how to get root, custom ROMs that are available, etc) I usually come to work a day or two later equipped with my laptop and the appropriate software. Unfortunately, I’ve recently come to realize that this doesn’t always work out to the advantage of the other person, or to me for that matter.

The thing I fail to convey to the people who ask me to root their phones is that running a custom ROM and making the hardware do things it was never designed to do all carry with them an inherent risk of failure. If I show you my phone overclocked to twice it’s original clockspeed and sharing my 3G connection to a laptop over WiFi, you only see the (admittedly strong) positives. What’s not obvious is the amount of tweaking and hacking required to get the phone to that point, and the occasional hiccups that arise from maintaining that status.

To Boldly Go…

The last few months have seen me root probably a half a dozen phones for other people. Of those, I can say with confidence that only one of them has been 100% satisfied with the experience. The problem isn’t that anything goes wrong with the rooting process or the installation of the custom ROM, but that the odd little “gotchas” that have a tendency to pop up when running in a relatively untested state are not the kind of thing the average smartphone user finds nearly as interesting and challenging as I do.

LCARS

It's actually about 1/1000th as cool as this.

I’ve come to the conclusion that running a modified Android device is less like using a normal smartphone, and more like flying a spacecraft.

For example, I routinely run my Motorola Droid at 1200 MHz, more than double it’s original clockspeed. For the most part, this works. Except that my battery will occasionally die within 3 hours of the device being taken off the charger (I usually get around 16 hours), the outside of the phone heats up to uncomfortable levels when watching videos, and there is about a 1 in 4 chance that receiving a phone call will completely lock it up. Managing clockspeed has become a delicate balancing act for me; I can increase power to be able to do more of the things I want, but need to be careful not to overload the system or else I’ll run into strange issues. Every time I move sliders around to control my device’s processor, I get the feeling I am adjusting the warp drive on some tiny little starship that may explode if I don’t manage my energy use properly.

Frankly, I find this prospect thrilling. But the average person simply wants their device to work when they need it to, and I would be lying if I said my phone is always at the ready. I was recently using my phone to navigate to a location I’d never been to before, and while on the road I received a phone call which not only locked up my device but for some unknown reason caused it to make a terrible screeching noise at maximum volume that wouldn’t stop until I disconnected the car charger and pulled out the battery. Having to pull over and fight with a literally screaming smartphone is something that the average user just shouldn’t have to deal with. I consider it an occupational hazard of running a ROM that came from a guy on the internet rather than Motorola’s internal developers, but the majority of people aren’t willing to make that sacrifice.

The Prime Directive

Accordingly, I have decided to start approaching modifying other’s phones differently. I now adhere to the Prime Directive; making sure those who aren’t properly prepared are not given or exposed to advanced technology they haven’t developed the ability to use safely. There are now four distinct levels of access I grant on another person’s phone, depending on the technical aptitude of the device’s owner:

  1. Limited Root
  2. Unlimited Root
  3. Custom ROM
  4. Bootloader

They break down as follows:

Limited Root

This level of access is for the people who don’t understand what root is, and don’t really want to know. At this level, I ask the person very directly “What do you want your device to do?”. I then root the phone, install only the apps they want (Wireless Tether, AdAway, Call Blocker, etc), then use Superuser Elite to set a PIN on the su prompt…and don’t tell them what it is. Admittedly, I feel a little bad going this route, but it’s for the user’s own good. Giving them access to the root prompt is just going to get their phone hacked into and their personal information stolen by the next piece of Android malware pretending to be an Angry Birds update.

Unlimited Root

As the name implies, this is for people who are able to understand what root access is and how dangerous it can be if misused. These are the kind of users who may not be extremely technical, but are smart enough to keep themselves out of trouble. Whenever possible I would rather go this route, but I’ve found it’s not always possible. At this level, I usually still ask the person to contact me before accepting any additional su requests from Superuser, but beyond that I feel pretty confident they can manage their new found powers. I still suggest they spend the $3 on Superuser Elite and set a PIN, but this time it’s to protect their phone from outsiders rather than themselves.

Custom ROM

At this level, the person should be technically inclined enough that they could have flashed their phone themselves if they really wanted to, they were just perhaps not 100% confident in the method and had never done it before so they asked for help. I would still make sure the ROM I put on for them is as stable as possible and has enough positive feedback online that I can be relatively sure it won’t explode on them.

Bootloader

This is the big one. As with the previous level, anyone who I explain the bootloader to is the kind of person who could have gotten here on their own had they really wanted to. At this level I may just install ClockWorkMod, show the user how it works, and let them run with it. Once they know how to make a backup of their current system and flash a new ROM, they can do whatever they please.

My God...it's full of ROMs...

Conclusion

Captaining the Starship Droid is not for everyone. Plenty of people, the majority really, should keep their devices in it’s stock condition and not play in the deep end of the pool. There is just too high a risk to their personal data to let them run wild with a rooted Android device with the current rash of malicious software coming out of the Android Marketplace. Maybe when Google get’s a better handle on the situation, but I have my doubts about that ever happening in the first place.

For those who can appreciate the importance of modifying their device’s operating system and are willing to deal with the possible risks of operating in uncharted space, modded Android offers incredible potential. Just make sure they’re up to the challenge before they pull out of port.

Following these guidelines, you should be able to give others the gift of modded Android without compromising their own safely and security.


Tom Nardi
Tags , , ,

Tom is a Network Engineer with focus on GNU/Linux and open source software. He is a frequent submitter to "2600", and maintains a personal site of his projects and areas of research at: www.digifail.com .

Related posts

Top