Thoughts on Android, part 1
In August of 2010, I made the jump from being the user of a 6-year-old pre-paid dumb-phone, with the average expenditure of less than $8 per month, to a full-blown Android smartphone user. I've been planning this type of transition for the about a decade. I remember, quite clearly, when portable MP3 player came out. I really wanted one, but none tickled my fancy, as they lacked serious storage (except for the giant $600 ones with 2.5" hard drives), battery life, flexibility, and usability. It wasn't until the iPod came out that a compelling, easy-to-use, reasonably-priced product existed on the market — but I couldn't use that either. I was a Linux user, so the iTunes requirement was a no-no. Plus, I'm not a big fan of the MP3 format. Finally, the fact that you couldn't use it over any kind of wireless network made it significantly less useful to me. I dreamed of a device that I knew would exist one day, and many people thought I was crazy when I told them the specs I wanted in 2001:
- Linux OS
- minimum 16 GB of storage
- High-quality QWERTY keyboard
- excellent SSH client
- WiFi support
- Ogg Vorbis support
- Acted as a USB hard drive when plugged in, allowing me to manage my media any way I want
- Was also a GSM phone, preferably supporting VoIP of some sort
- Removable, replaceable battery
All those have existed since the HTC Dream (a.k.a, T-Mobile G1) came out running Android 1.5 in October of 2008. Why didn't I buy it right away? First, I had just gotten married a few months earlier, and was completely tapped out because of the wedding and the honeymoon. Second, I knew better things were coming in the future; it met all of my specs (#2 was satisfied with a MicroSD card, everything else was built in), but only barely. It was big, slow, an Android 1.5 was not terribly user-friendly. Third, it was on T-Mobile, which gets really crummy signal at my house. Plus, I was hoping that in a year or so I'd be able to get it without a voice plan. That, sadly, never materialized. A few more Android devices were released, but none were significantly better than the Dream, mostly because they were crippled by the same barely-usable Qualcomm MSM7201A CPU. Let's face it — the ARMv6 architecture is just too weak to deal with a full-featured JVM like Dalvik. Android didn't become a high-performance option until about a year later, when Motorola released the original Milestone (a.k.a., Verizon DROID) with a 600mhz ARM Cortex A8 CPU. It was, arguably, the first usable Android phone, released with the much-improved Android 2.0 (a.k.a. Eclair). The problem for me at that time was Verizon — they were too expensive, and didn't use GSM, which meant I couldn't switch phones by swapping a SIM card, nor could I use the phone in Europe.
Then came a barrage of high-end Android phones, one after another: the Nexus One (T-Mobile), the HTC EVO 4G (Sprint), the Droid Incredible, Droid X, and Droid 2 (Verizon), and then the various Samsung Galaxy S series of phones (one on each carrier). I went with the Samsung Galaxy S Captivate on AT&T, and I love it. I also hate it. But I really really love it. Samsung's Super AMOLED screens are the only ones on the market, even today, that are even remotely competitive with the high-quality IPS screens that Apple uses in the iPhone 4. Very different, but competitive. I buckled on the keyboard, because with modern capacitive touchscreens, the on-screen keyboards are quite usable, and allow the manufacturer to shed a fair amount of bulk, which was a technological development I honestly didn't see coming.
But Samsung did some really, really stupid things to screw up the phone, some of which are fixable by the user. First, rather than using YAFFS for the file-system like every other Android phone does, they used their own proprietary filesystem, RFS, which they developed in-house for their crappy feature-phone OS, Bada. They call it a competitive advantage, while all of their users call it crippling the phone with ridiculous lag. It's a simple non-buffering file-system that has one giant global kernel-level lock; any time any process wants to either read or write data, it has to first obtain the lock. This means only one thing can either attempt to read or write data at a given time. Any time you're doing I/O, the phone crawls to a halt, giving perceptions of an under-powered phone, despite the fact that it's still kicks the tail CPU- and GPU-wise of any phone on the market 9 months later, save the Motorola Atrix 4G. Luckily, this is fixable; there are a few solutions if you're willing to root your phone.
The second big issue with the phone is it's skin, dubbed "TouchWiz". It makes a very strong attempt to make Android look more like iOS, if it were designed by a 12 year old. Frankly, if I wanted an iOS device, I'd buy and iPhone, not a cheap, KIRFy knockoff. Most of this can be un-done by simply replacing the home screen app with Launcher Pro.
The third annoying thing about the phone is the same with all other non-Google-branded phones: crappy Samsung and carrier-specific apps that you can't uninstall by normal means. All of these apps launch automatically, take up RAM, CPU, and thus, battery. Again, this is fixable, but only by rooting the phone, and running some pretty damn complicated software to remove/disable this shovelware.
With the exception of the Dream, Nexus One, and more recent Nexus S, all Android phones commit similar offenses. The fact of the matter is, consumers that want Android, want just plain Android, thank you very much. They don't want Sense, they don't want Blur, and they sure as fuck don't want TouchWiz, or any other manufacturer-specific skin that makes the whole experience much less like Android. They absolutely, positively don't want carrier-specific apps they can't delete. The coolest thing about Android is that you can replace nearly any system component with a better one if you want, but if you can't remove the crappy one, it just slows your phone down.
Which brings me to my next point: high-end Android handset manufacturers are a bunch of pussies.
Why do I make this accusation? Because the biggest benefit to manufacturers about Android is that it's free. They don't have to make an OS. They just bring the hardware and the drivers to the table, and that's it. Yet, these morons are spending a lot of money developing software skins, shovelware, and customizations to Android that nobody wants. They're afraid of not significantly differentiating themselves from other manufacturers. Here's a novel idea — be bold with your HARDWARE. Differentiate there. And don't simply copy Apple. Attack Apple in markets that it isn't in. This is happening to some degree — there are Android phones with differing screen sizes, hardware keyboards, gigantic screens, etc. Compete on form factor, build quality, hardware features, performance, etc. Build the best damn phones you can at a given price point, and build them out of excellent, high-quality materials. Can't get high-quality IPS screens because Apple bought the market up? No problem, do something different, like AMOLED. Be different, be bold, and be beautiful, but in hardware, not software. This isn't to say that Android is perfect — it's frankly embarrassing in some areas, but it's better than you can do, because you're not in the software business.
Also, grow a pair of balls and give the consumer, not the carrier, what they want. If AT&T or Verizon says you have to ship with Bing or their own custom navigation software, tell them to go fuck themselves in the eye with a rusty blender full of scorpions. This goes especially for GSM phones — Samsung can make a phone that supports AT&T 3G and sell it unlocked in any store in the country. Most people won't pay $600 for a phone you say? They don't have to. Make deals with Best Buy and Walmart and Amazon and whoever, who re-sell plans for a cut of the monthly plan fees, and have them make the subsidy deals. If you combine dumb-phones in the mix, Motorola, LG, and Samsung sell way more phones than Apple does — play nasty like Apple does, threatening to take all your phones off the carrier, or go around them directly to the retailers if they don't let you release your phones completely unadulterated.
Samsung isn't of yet guilty of this one, but everyone has to stop locking their bootloaders, and making their devices hard to get alternate ROMs on, like the excellent CyanogenMod. It's good to have enthusiasts using your product. Your normal users will never, every brick their phones by rooting, changing the file-system, installing custom ROMs, flashing new modem firmware, etc. Hell, knowing my followers, most of the people reading this won't know what any of that even means. If geeky enthusiasts accidentally brick their phones, it's their own damn problem, as they've voided the warrantee. Stop being a bunch of pussies, and let your users do whatever the fuck they want with the hardware they've purchased. Better still, give them stock Android, so they have no real incentive to try out other ROMs to get around your broken software.