I've been reading a lot about Android recently. Well, by recently, I guess I mean the past year and a half. Having attended Google's IO 2010 conference in person, and being a big Android fan since the original G1, I have become a bit involved in the community, especially the Cyanogenmod AOSP project. I have to admit that my software experience with Android comes more from that of a User's perspective, rather than a Developer's - I've never compiled AOSP from scratch before, and though I do have one application on the marketplace (Digital Rain - Live Wallpaper) it's honestly a lot more my roommate's work than my own. I'm certainly technically sufficient when it comes to a lot of things, including Android, but I'm not a code poet. So that's where my experience as a developer stands.
As a user, I've been employing the use of Cyanogenmod since it debuted for the Nexus One. For the two months or so prior to that, I was using stock 2.1 that came on my Nexus (I think the first version of 5.0 came out the first week of February, so that was almost exactly 2 months after I got my Nexus in mid-December). Prior to my Nexus, however, I had an HTC Dream, and a Google ION from IO 2009, both running Cyanogenmod 4.x. Long story short, I've been a user of Cyanogen's stuff since Android 1.5. In my experience (and opinion, of course), there's really only two reasons a person has to not run Cyanogenmod (or similarly compiled AOSP code), and that is isolated into three categories:
- Warranty
- Technical Incompetence
- Custom Interfaces
Lets examine them in order - not everybody wants to root, as it voids their warranty. Obviously, phones that are released in a locked state are voided by this procedure, but even the only phone ever sold to consumers, the Nexus One, has a nice "warranty void" screen when you attempt to unlock it, and it officially supports replacing the firmware on the unit. While HTC has honored every request so far (We haven't heard otherwise) for replacing defective units due to hardware issues, even if the device is rooted, how far are they willing to go? Those are waters that some aren't willing to test with their $500+ device.
There's also the geek factor, as I like to call it. First off, the process of rooting a phone has gone from fairly easy and straight forward to exploiting race conditions that are inconsistent across the device causing the same procedure to work on some, but fail on other devices, making me think of attempting to kill a fly with a shotgun. My roommate's mother has an Android device - a myTouch 3G 1.2 (with the headphone jack), and I can't honestly see her rooting the device at all, even if she wanted to. She's computer savvy, and knows enough basics to put her in the top echelon of her generation (who don't have jobs programming or similar), but rooting her phone isn't something that appeals to her. Could she figure it out? Yes, most likely, but it would be a lot of effort, and a lot of risk in case she doesn't do something properly, or, can't figure out the full process by herself. Her phone works well enough for her as-is, so that's the bottom line.
Lastly, running AOSP code produces a stock version of Android. It is, after all, Google's open source project. Sense UI, MotoBlur, Sony's MediaScape, and all the other ones out there, aren't part of the official Android project, so, if you're partial to one of them over the stock vanilla Android, rooting won't get you anything good (unless you download a ROM with the custom interface "baked in" which is legally questionable, even if your phone came with that interface originally).
So given those three reasons for not wanting to root, anybody who doesn't fall into those has most likely rooted their device. I certainly fall into that category. So since I have no reason not to run the latest and greatest Cyanogenmod, I do. But enough about the software for now. What about the hardware?
We have some fairly nice devices from which to choose from. The HTC EVO is a very large screen, very nice fully-touch screen device, front facing camera, but, no physical keyboard, and it runs Sense UI. I suppose Sense can be replaced by AOSP though. And it only runs on Sprint. That's a bummer. There's the Motorola Droid, and it has a keyboard and runs vanilla Android. But, that D-pad is useless, I much much much prefer a trackball. The processor is also underpowered. And Verizon is a deal-breaker, too. I much prefer my devices be able to navigate using Google Maps and talk to the party I'm navigating to via bluetooth at the same time. So that rules out CDMA. Motorola Milestone? Same as the Droid only a lot harder to root (have these things even been rooted yet?), and too hard to get a hold of in the US. Samsung Galaxy S is supposed to be on all 4 Tier-1 carriers, but, no physical keyboard, and it isn't running stock Android either. In short, of all 60+ Android devices that are on the market, there isn't a single one that I think is "perfect" as it is, even from a hardware point of view. With so many options available, on so many carriers, it's also becoming a pain in the rear end to stay up to date with this, that, and the other thing. A small part of me wants one of everything, which of course isn't feasible, but the other part of me would settle on a single device that fit nicely in the palm of my hand (The EVO is too wide, the Nexus One is a tad too short), had a physical slide out keyboard with staggered rows of keys (Like the HTC Dream), had a scroll wheel that lit up (like the Nexus One), had physical buttons (like the Droid X) rather than soft ones, and didn't run a non-stock Android build, based on FroYo, with 8 or 16 gigs of internal storage in addition to the SDCard. I don't care much about battery life, as I'm never with out my charger, and I'm quite used to charging my Nexus One twice a day as it is. I'll take what I can get, happily. I'm sure my desire for a device that is not available, but combines elements from the 60+ in-production devices is not unique. While others may not agree this is the EXACT device they want, I'm sure others have their own ideas on what they'd like in a device that doesn't currently exist.
With all the different devices running different versions of Android, it's just really difficult for the consumer to find what they want. Do I want one Android device, akin to the Apple iPhone, where all hardware is created equal? Oh hell no, it'd be like everybody driving the same model car. Some people truly do need a truck. Others, a van. But when there's 60+ devices, and none of them are what I consider to be "perfect", it's more than a little frustrating. Still, I live in hope. Here's hoping the Nexus Two can deliver.