For years, developers worldwide have toiled to realize a seemingly simple dream: to deliver the Web anytime and anywhere. Yet recent history is rife with examples of applications that have failed to fulfill this dream. Connected PDAs, WAP-enabled 'smart phones,' and hiptop Java devices have all created sensational buzz. But they didn't live up to their own hype as the next great "mobile Internet appliance."
To the techno-crat, today's mobile landscape is bleak. Around the globe, deployments of next-generation wireless networks have been delayed for years. Each month, billions of SMS messages race around Europe. Meanwhile, the latest Java-enabled whiz-bang lies dormant. Despite it all, many wireless developers are still frantically recreating the wired world for wireless devices. More often than not, they're trying to fit the square peg of the desktop Internet into the round hole of a mobile device.
Our counterparts in Europe, however, are taking a different approach. They're creating mobile applications that subscribers not only want, but that they actually use. These developers have changed their focus to acknowledge a simple truth: Today's mobile world can be effectively used as an extension of the rest of the world—rather than as a replacement.
The most successful developers are creating mobile applications that build on existing user behavior. They acknowledge that mobile applications can be built to bridge the gap between wired or traditional media and "on-the-road" behavior. This thinking takes a huge departure from traditional Web application development. In addition, successful European developers are guided by a deep understanding of their audience. They also consider the real-world problems that they're trying to solve and the capabilities of the devices in the marketplace.
This understanding can be distilled into three principles of mobile application development, which we call the "ARC" method. The ARC method is a set of guidelines for mobile application design. It's not a silver bullet; Garbage in still means garbage out. But it can help the developer avoid some of the pitfalls of the overzealous. See for yourself:
- Understand your audience. This requirement is even more important when building mobile applications. Your user's patience is short. Don't squander an opportunity because you didn't take the time to understand what's important to your audience. For example, don't offer highway traffic reports to an audience that rides the train every day. Because the user interface of a mobile application is so limited, there's no room for secondary features. It's crucial to get the first ones right.
- Understand the real problems that people have. What will they need to do? Think through the entire spectrum of actions that someone follows to accomplish a task like buying a used car or taking a business trip. Which of those actions can be helped by a mobile application? Which actions should remain deskbound? Take a hard look at the services that people use today to solve part of the problem. Can you use a mobile to solve the rest of the problem?
- Understand the capabilities of the devices in your market. Web developers have had it so easy. Desktops are powerful and very consistent. The capabilities of wireless devices, however, vary incredibly. I-Mode, Windows CE-enabled devices, and color Java-based hiptops co-exist with SMS-only handsets with three-line alphanumeric screens. Also, developers can't forget that even the most sophisticated devices can be painful to use.
Mobile applications are all different. As a result, they require different approaches. ARC thinking helps ignore the hype. The resulting guidelines help developers build mobile applications that work while providing usefulness today.