this space intentionally left blank

June 8, 2009

Filed under: tech»mobile

Electric Sheep

When I first got a cell phone, and for several years afterward, I stuck with the classic Nokia 6010, which is one of those phones that they now use on TV shows to indicate "low social status" for a character, like a cop or a high school English teacher. Even back then, the phone was practically a relic--no camera, monophonic MIDI ringtones, barely any MMS support, even. I didn't think there was any real point to those kinds of features. It's funny how fast I got used to them, not to mention all the other advantages, when I picked up a smartphone.

So last week I bought an Android Developer Phone (basically an unlocked HTC Dream/G1) to see how it suits me, and I decided to write a little bit about it here. After all, most of the reviews I've seen of the phone are from its launch, and don't take into account the improvements made since. Also, the vast majority of that commentary is from Professional Technology Bloggers, making it largely unsuitable for human consumption (my favorite: Jason Chen at Gizmodo gets the USB storage mode wrong (twice!), then writes: "pressing the power/end button, which you'd think would power up the screen, actually just hangs up the call." No, really? The end button ends the call, just like on every other cellphone ever made? Who'd've guessed?). This isn't a review per se, just some thoughts spurred by the device.

With this being the month that so many new phones are being released--the Pre, the N97, and the HTC Magic among them--why go with the old G1? The answer, like my botched attempt at origami self-portraiture, is threefold. First, I prefer hardware keyboards, and the Magic is touchscreen only. Second, although Palm's new OS looks intriguing, it also looks largely locked-down at the moment, and Symbian has the same problem. Android's hackability is a big advantage. Finally, I need a GSM phone for a variety of reasons, and the Pre is CDMA-only at the moment.

Another thing I've been thinking about since the reviews for the Pre started rolling in: building a platform based on AJAX with hooks into the OS is clever, but it's also short-sighted. After all, developers on any of Palm's competitors--iPhone, Android, and soon Qt on S60--have the ability to easily embed a Webkit view into a native environment, complete with hooks in and out of that view. I'm guessing within a year of the Palm SDK release, I'll be able to run WebOS apps on other smartphones, either via a dedicated emulator or clever tools like Oilcan, Jeff Sharkey's port of Greasemonkey to Android.

The Android's Dream

My first reaction to the ADP was that it's a remarkably solid device. It's mostly plastic, but it doesn't feel cheap at all. The one thing that jumps out, after reading commentary online, is how unobtrusive the "chin" is. The actual angle for the trackball area is only about 10 degrees--really very subtle. It quickly becomes obvious that for prolonged web browsing or interaction the natural way to hold the phone is very similar to a Sidekick, with the screen flipped up so that one hand can type or use the screen while the other supports the device and manipulates the trackball for fine selection. Going between the trackball, touchscreen, and keys is flawless, and each has its uses--Google's done a great job there.

The battery life is not fantastic, compared to S60 devices that are exceptionally frugal with power. I usually charged the Nokia E51 every three and a half days, when its power meter dropped to three bars out of seven. With similar usage, it looks like I won't have any problems making it through the day with the ADP, but I'll probably want to charge it every night, since I've been hitting around 40% by the time I go to bed. Luckily, it charges via standard USB cable, and I spend my entire day surrounded by USB ports, so I shouldn't have any problems.

Power drain's a very personal thing, however, and someone else's experience might differ. For example, I work in an office all day, usually in front of a computer with my webmail open. So I don't usually set the phone to fetch e-mail automatically--what would be the point? Likewise, I don't use GMail, so I've unchecked its synchronization option to save a little bit of energy. The radio is always the most expensive part of the phone, power-wise, and I try to be smart about how I use it. While I do a fair amount of browsing, checking Twitter, and (since Belle loves being able to send me instant messages) GChat, it's possible that I'm not pushing the battery as hard as others would.

Speaking of radio, though, one of the interesting differences in outlook between S60 and Android is the way they treat the data connection. On Nokia's phones, connections are discrete channels initiated in response to a request. So if you want to go online, the phone opens a connection, letting you know which radio is in use, or asking you which one you'd prefer. When you're done, it shifts the radio back out of packet data mode. Android, in contrast, is online all the time, whether it's using the connection or not. It'll switch to the WiFi if a known network is available, but otherwise keeps the packet radio warmed up for you. Apparently it doesn't require much power to let the radios idle this way, but it does take some adjustment to stop worrying about it.

Another radio note: I'm using the phone on AT&T, and since it's set for T-Mobile's 3G frequencies, I'm back on EDGE for the time being. I don't really miss the bandwidth so much as the response time: 3G connections have a lot less lag, which is noticeable when browsing and particularly so in an SSH session. A lot of mobile-optimized websites nowadays disguise this with some client-side Javascript, which is a nice touch, but they bring their own problems: Facebook's Android/iPhone site is very clever, for example, but it's much less functional than the low-tech mobile version.

To Live in Fear

For Windows Mobile or S60 users, the hubbub around tethering seems misplaced. It's built into those two platforms: plug them into a laptop, or pair them via Bluetooth, and the laptop can almost instantly go online using the phone as a modem. US carriers don't usually care for this, since they'd prefer to be able to charge twice for the same bandwidth, just because it's being piped to another machine. On the iPhone, when someone created an application for tethering, Apple pulled it from the store to keep AT&T happy, and a user can't get it from anywhere else. There's no option for consumers/hackers outside of the walled garden. When Apple adds the option to the OS itself, it'll probably in a way that enforces AT&T's bottom line.

Google also has an application marketplace on Android phones, and although they're not as arbitrary as Apple, they also don't allow tethering applications to be sold. But here's the difference: Google doesn't stop you from distributing Android packages outside their store, either via a connected computer or directly through the browser. So there's nothing to prevent me from installing TetherBot on my phone and using it as a web proxy (a poor man's tether), or running PdaNet for a slightly easier ride (technically-inclined users have additional options). This is the simple value of an open platform: the device is owned by the users, not by The Man.

The ADP, and Android by extension, reflects a tension between openness and ownership. Google ultimately profits from open standards, something it knows well and reaffirms at every opportunity. So while it removes offending software from the official marketplace with a wink and a nod to free development, it's hard to miss the way that almost everything on the device also connects back to Google. Contacts, calendar, maps, the ever-present search (which includes the address bar in the browser, doing dual duty as a Google search field with autocomplete)... all of these are feeding back into Google, and being fed from it. It's understandable to be a little paranoid about that.

As Bruce Schneier says, computing has always been about trust, and cloud computing hasn't changed that any. So how much can you trust Google with all the information that a mobile platform can provide to them? And really, how much choice do you have, even on other smartphones, without giving up many of the advantages of these devices? It's not like there's another, better local map search, or a webmail service that comes close to Google's offerings. It's probably not technically a monopoly, per se, but it does indicate just how much power the company has amassed. One day we may have to nationalize those guys, just for our own protection.

I've Done... Questionable Things

You can array smartphone platforms into a spectrum between two extremes: those that trust users, and those that protect them--protection being a synonym for "limit." The iPhone, for example, does not let users touch the filesystem or run multiple applications at once. I've seen this described as a way of safeguarding the experience: apparently, people find the idea of closing programs to be confusing. At the other end of the spectrum is Windows Mobile, which is ironically the most user-hackable of the consumer options. Everything's pretty much open to interference, and you can run as many simultaneous applications as you want. Android is not quite at that level, I think, but it's definitely at the more trusting part of the spectrum. What's I find interesting about this is that while defenders of the protectionist model claim that it keeps things simple for users, once you step out into more complex applications, it's actually a huge obstacle.

For example, thanks to the open development platform, I'm got ScummVM on the ADP. Loading my old Lucasarts games is as simple as hooking up the USB cable and dragging the data files onto the SD card. On a stock iPhone, there are no easy facilities to do this--ScummVM would have to have its own conduit for getting the information over somehow. Even on a jailbroken device, you've got to resort to hacks like SFTP. And the advantages of multitasking are obvious: if nothing else, location-based applications like Locale wouldn't be possible without it.

Ultimately, the protectionist model does an interesting thing: it conflates applications and data from the user perspective. The e-book formats used by Stanza and Eucalyptus might be exactly the same, for example. But you'll never be able to read your Stanza books in Eucalyptus, and vice versa. The applications and their files are inextricably linked. It creates a world where code is often just host for a single set of data, each locked in its own little cabinet. There's no real incentive for interoperability or standards, and the platform itself is training users not to expect any. Some people may prefer that, but I think it makes Jonathan Zittrain's warnings look a lot more prescient.

Anyway, apart from ScummVM and Locale, there's a lot of very nice software on Android already. I'm impressed with ShopSavvy, which finds prices online and locally based on product barcodes. ConnectBot and AndFTP are great for logging onto Mile Zero--the latter is especially a relief, since S60 never did get an SFTP client. There are a few augmented reality applications that show a lot of potential: SkyMap uses the compass, accelerometer, and location services to provide a live star guide, and Wikitude overlays the camera view with local travel information like something out of Virtual Light. I've been using Twit2Go for Twitter posting, and PicSay for image editing.

The built-in applications are largely great. Browsing, maps, and YouTube work pretty much as you'd expect. I do wish there were an easier way to connect Contacts and Calendar to their Outlook counterparts. Loading phone numbers from the latter required uploading a CSV file--it worked pretty well, but not something I really want to do on a regular basis. The one exception to the high level of quality is the POP3 email program, which is patently awful. It doesn't remember which messages are already downloaded, refuses to delete items from the server, and regularly fails to connect. I'm using K9, an open-source client, instead.

In general, the OS is sturdy and tasteful, but not flashy. One feature I do like a lot is the unlock screen: it presents a 3x3 grid of dots, and you draw a pattern between them as your "passphrase." Ironically, this is not terribly secure since, like all touchscreens, it eventually ends up with fingermarks all over it. If you don't wipe it down after locking it, the pattern is often still smeared across the screen, especially if you're a heavy trackball user. The notification shade is also pretty genius, and key to the multitasking implementation. Someone needs to invent a quick task switcher that sits in the windowshade, and then it'll be pretty much perfect.

Overall, I'm comfortable replacing the E51 with this phone, but I'm probably not going to get rid of it entirely. There are still uses where Nokia has the edge: real tethering, speed, battery life, and size among them. And I hope their steps toward open-source models, and their sense of corporate social responsibility, will provoke Google as well. After all, someone needs to do it.

Future - Present - Past