Thursday, April 01, 2010

Running Wild

So far, my experience with the Android OS can be boiled down to "baked in features are great, optional apps are hit or miss". That's quite acceptable for me, especially since the Android Marketplace is still slowly evolving. Even an official Google app like Listen can get a way with some flakiness, since I know it is a Labs product. But I had my first real issue with a standard phone feature, and I think it says a lot.

The basic problem was that gmail wasn't syncing with the phone. Out of the blue, over the last two days, I've had to manually refresh the program to get my messages. It started off as a mild annoyance, but grew into great concern when none of the simple fixes and settings tweaks I tried did a lick of good. Just as I was tempted to do a factory reset, I came across the true problem. I had been disabling almost all background process on the phone in order to test its performance, including Google Talk. As it turns out, gmail won't sync without this process running.

Right off the bat, this is pretty stupid. Nowhere does it say that the Google Talk process is in charge of anything but incoming IM's. I suppose the logic behind this is "there's a reason this process is spawned by the phone at startup. Don't mess with it." But the other processes launched by the OS have names like "Android Keyboard" and "Voice Search". I know what they are, and that I should probably leave them alone. That isn't really the case with Gtalk.

But it doesn't stop there. It turns out that Gtalk sticks its fingers into other parts of the phone. Say you have another IM client, like Meebo. You can add your Google Talk account to it, but the standard Gtalk process will almost always get the messages first, in which case you're stuck managing two IM programs. Furthermore, based on what I can tell, if one of your contacts is online, Android will try to send messages via Gtalk, rather than an standard text. I'm still figuring out if there's a setting behind this one, because while this feature can be nice in order to save texts, it doesn't take into account the idea that someone may get up from their desk for an indefinite period of time (unless it doesn't use Gtalk to message idle users....I'll have to check).

A few points about all this. Firstly, the Gtalk process is not very Linuxy. It should do one thing, and one thing well, and instead it tries to master several areas of the device. Second, the confusion behind it is very Linuxy, in that a simple (but frustrating) problem is solved by something that a new user would never think of checking. Third, when things do go wrong in Linux, there's usually some sort of documentation that, if you had read it, would have shed a clue. The documentation that comes in the box of a Droid is sparse, and finding more robust manuals online requires quite a bit of digging.

In a way, Google has proven why Apple has disapproved of multitasking in the iPhone. There's no chance for mystery or surprise. Users get what they choose to use, and everything else about the phone's operation is tucked away. I'm glad that Android lets us have more control, but granting that control means that people will find ways to screw things up. This can cause chaos for regular users, and for the power geeks, there at least needs to be a chance to RTFM.

It also reinforces the "work in progress" feel that official Google software occassionally falls victim to. While I said I won't criticize a Labs product like Listen, I'm still scratching me head at the fact that the app never seems to close; it just works in the background. Now, there are a lot of instances in which this is a good thing - if it's downloading a show, or set to auto refresh subscriptions, or I pause a show and want to come back - but there's no way to tell it to close up for good. By allowing multitasking, Android also allows programs to behave however they want. They may actually close when you hit the back button, or they may sit in the corner and wait for you to come back. With any luck, the behavior of these programs will evolve over time, but right now it's just another one of those characteristics of Android that has the potential to drive away new users towards the iPhone, in turn reinforcing the idea that you can't have user power or whizbang features without the experience falling apart.

No comments: