Wednesday, April 04, 2007

The Mobile User Experience (MEX) blog has an interesting review of Yahoo! Go that reminded me how some mobile software lessons have to be learned over and over again. Here's an excerpt:
At first glance, the application looks great - intuitive interface, great integration between all the different features and a service clearly built from the ground-up for mobile, rather than simply re-hashed from the desktop environment.

However, I have found it to be almost unusable in real world situations.

In one instance, I had 15 minutes to spare on a train journey and wanted to find the location of the restaurant where I was meeting my friends. According to the marketing materials, Yahoo’s Go is ideally suited for this - it should be able to find the restaurant, show me a map and even offer directions.

In reality I found that even with 15 minutes of dedicated searching I received nothing but a sense of frustration from the application, let alone the result I was looking for.

At every stage of the process, the huge latency destroyed the user experience.

I cut my teeth as a mobile developer targeting the Palm OS, which was designed by a bunch of guys who were freakishly preoccupied with the idea that applications need to respond instantaneously to user input—faster even than what users expect on their PCs. Every developer that came to the Palm OS in the previous century was urged from every corner to meditate on the Zen of Palm, a wonderful article written in 1996 and still available here. Even if you don't go back that many years you may still recognize the name of some of the mobile computing greats in the list of contributors. A favorite passage (should it be called a verse? a koan?):
A handheld must be quick to use. A handheld is like a sports car because it gets the user from one place to another quickly. The actual technical specifications of a handheld are of little real interest to the user. What matters is how quickly she can reach for the device, open it, find the appropriate information, and proceed with her other tasks.... People use handhelds to do things—now!

It's worth remembering that all this talk about handheld computers being like sports cars was written when these devices had 16MHz processors and as little as 1 or 2 MB of RAM. But these guys are as right today as they were more than a decade ago: when a user is mobile they expect instant gratification. Mobility means you're in motion: you have other things you need to be paying attention to. Even if you're trying to be distracted by a game, a blog post or a video, when you're mobile you only have a few moments before the world calls you to rejoin it.

Many mobile developers seem to think that Moore's Law and 3G networks have obviated the need to think about responsiveness. I checked out Yahoo! Go myself and I can see that someone needs to send the product managers at Yahoo off to the monastery for a few months with a copy of the Zen of Palm. It's already tough to make an application usable if every time you navigate to a new screen you need a round-trip to the server. But if you're going to return everything that you can possibly think of that relates to a search term, including a lot of graphics and processor-intensive layouts you're app is going to be sloooow.

In this day of Web 2.0, SOA and Software as a Service, Sun's slogan "The Network is the Computer" has become the mantra for a generation of new software developers, so it's easy to understand how this "modern" way of looking at software has carried over to mobile. We may be getting close to this vision on the desktop, and some day we will be there on the mobile, but in my opinion we're not there yet. Mobile computing faces a chasm of usability right now that thin client and browser applications are not going to lift us over. Most people find the user experience of software on their phone to be unacceptable for anything but the simplest tasks. Smarter mobile devices will not gain mainstream traction until that problem is solved, so focusing on ways to get cool online services on peoples' mobile before you solve this problem can be putting the horse before the cart if you're not careful.

There are a lot of factors needed to fix the user experience. For now we are seeing that the best accepted applications still need a blend of local and remote storage, offline access to data, and efficient over-the-air synchronization. I've given my crazy talk about the UI elsewhere (and by the way, I'm happy to see Little Springs Design backing me up on this). But maybe we also need to think outside the box sometimes when we go to use the network. Do we always need to use XML as a data transfer protocol, with its large overhead in delivering and then parsing all those tags? Do we always need TCP connections, or can light-weight datagrams and a little error checking get the needed reliability without all the time-consuming handshaking? Some of this sounds like heresy, I know, and for some solutions staying safely in the box is the right answer. I'm not knocking standards or interoperability. All I can say is that if we're going to cross the chasm toward mass adoption of mobile computing (more than just voice and messaging) it's going to take some thinking that hasn't been widely done yet.

I don't have all the answers, but apparently having a name like "Yahoo!" doesn't mean you've got them, either. We've all got a lot to learn in this business. But let's not forget the hard-won lessons of our forebears. For the time being, the network is still sometimes just the network, and the computer, well, it's the computer in your hand.

Comments

Very nice post... David... I totally agree and am in sync with you... No, it is not heresy to make the right decisions (i.e. sometimes avoid HTTP, and always avoid XML, and minimize roundtrips, and so on) to ensure the good user experience... I will be checking he Yahoo! Go and form my own opinion... At the end a pretty application doesn't equate to a useful application. Similarly an application with tons of features doesn't equate to a useful application. How can Yahoo! learn to fly? The answer is Yahoo! must understand the essence of the mobile experience...

ceo

Posted by eortiz at Wednesday, April 04, 2007 17:05:11

Enrique wrote:
"...an application with tons of features doesn't equate to a useful application."

Absolutely true. Less is often more. One of the "koans" or riddles of the Zen of Palm is "How do you fit a mountain in a teacup?" The answer is "You don't. Extract the diamonds from the mountain and leave the rest." This was the first place I remember reading about the 80/20 rule: http://www.access-company.c...

I always liked this simple diagram to explain the relationship between features and usability on the PC versus the mobile:

http://www.access-company.c...

Posted by cervezas at Wednesday, April 04, 2007 20:39:01

Add Comment

Comments must be approved before being published. Thank you!