There are six things that developers need to keep in mind when developing for mobile computers, six things that don't necessarily come into play when thinking about PCs.
That's how Ben Bederson and John SanGiovanni, co-founders of Zumobi, described their philosophies of mobile computing: immediacy, adaptability, one-handed use, visual elegance, put the user in control, and thinking differently. The two engineers hosted a session during the waning days of the Web 2.0 Expo for Web developers interested in making products for smartphones, mobile Internet devices, or whatever convention we settle on to describe the next generation of mobile computing.
Bederson is a professor at the University of Maryland, College Park, and spends much of his time researching human-computer interaction, after 20 years of desktop computing. The surge in interest in mobile devices gives researchers a clean slate to figure out how people want to use computers, and Bederson and SanGiovanni have their theories.
Let's take those one by one:
Immediacy. People have no tolerance for an hourglass on their smartphone, Bederson said. Developers should aim for a 15-second interaction: Take the phone out of the pocket, access the information, put the phone back in the pocket. It should only be out of that pocket for 15 seconds, otherwise, you're going to frustrate the user.
Adaptability. The iPhone may have made D-pads and QWERTY keyboards passé for now, but those types of input methods aren't going to disappear overnight, SanGiovanni said. Software for early smartphones was all about capitalizing on the "up-down-left-right" action of the D-pad, which resulted in a "lowest-common denominator" experience, he said. Instead, developers have to free themselves from the D-pad and design applications that aren't tied to one method of input or another, if they want to spread their work far and wide.
One-handed use. Bederson pulled out some data for this one. People tend to use two hands when they are producing content, and one hand when they are consuming content. But mobile device users consume far more data than they produce. "The basic principle of HCI (human-computer interaction) is support the most common activities excellently, and the other activities adequately," Bederson said.
This directly relates to the size of the icons or buttons that you use on your application, he said. If you ask users to try and hit buttons that are 1 centimeter wide, error rates average about 5 percent, but they grow exponentially as the buttons get smaller. The iPhone gets close to that target, with buttons that are around 7 millimeters to 8 millimeters wide, but other devices use buttons that are far, far smaller and almost necessitate the use of a stylus, and two hands.
Visual elegance. SanGiovanni pointed to four popular mobile devices, including the iPhone and Nintendo's DS gaming system. The common thread across all four is that they use hardware acceleration to produce rich graphics, and you have to take advantage of that if you're making an application for those products. Think about transitions, moving through screens in your applications or into and out of applications: this has to be visually pleasing to the user.
Put the user in control. In the past, computers haven't always been designed for the user, Bederson said. They've been designed for the developer, or the IT manager. There were good reasons why that evolution took place, but it can be frustrating to the end user. And with mobile phones, carriers have historically controlled just about all the applications on a home screen, which doesn't sit well with many people.
Different patterns of use. This is sort of the core idea behind mobile development;. For example, SanGiovanni points out that when you design a Web application with desktop users in mind, you want it to be "sticky," where people spend a lot of time using your particular application. A mobile application, on the other hand, has to be "bouncy," allowing people to "fly in and fly back out" of your application. They'll reward you by coming back if you make the product easy to use on the go.
As with anything in life, the factors above all involve trade-offs. Immediacy can be a function of the network speed. Designing larger buttons to make one-handed use easier means you can fit less information on the screen. Rich graphics can sap performance.
The iPhone is a prime example. Bederson and SanGiovanni referred multiple times to the iPhone during their presentation, praising it as a breakthrough in human-computer interaction in the mobile world. "It was a pebble dropped in the pond of a static phone industry," SanGiovanni said of Apple's first smartphone.
But while Apple's iPhone designers made users feel like they were in control with gesture-based control, theyyou can run ( ) on the iPhone.
They designed an intelligent touch-screen keyboard that can predict what letter might come next in a given word, and expand the surface area of that key to improve accuracy. But they didn't give users direct feedback on which application key they hit off the home screen, zooming in on that application from the center of the screen each time it's activated rather than the key itself. That last one seemed a bit nitpicky to me, but I'm not a design geek.
However, it's very early in the historical development of these devices. Apple didn't invent any of the major selling points of the iPhone, such as multitouch, use of accelerometers and sensors, or zooming into the screen. But what they accomplished might even be more impressive, according to SanGiovanni: the successful amalgamation and commercialization of design tidbits that had been circulating for years.
"The synthesis of these things is the more impressive achievement than somebody who has spent their whole life working on virtual keyboards. Innovation doesn't just mean spending ten years on your life diving deep on just one concept," he said.