It's no secret that more and more people are opting for touch-based smartphones and tablets as their computers of choice: iPads, iPhones, Androids, now BlackBerrys, and soon Windows 8 PCs and tablets. For developers, touch-based systems means grasping a whole new set of guidelines, including understanding their audience's new context and careful interface design, say prominent developers in the touch space.
Enterprises are starting to demand touch applications, including internal applications to examine data and manage resources, says Daniel Dura, a former Adobe Flash evangelist and now vice president of product development at Dedo, which builds software for mobile devices and kiosks. "The whole idea of touch as an interface mechanism is taking off massively in these enterprises," he says.
[ See why touch has failed on the PC, but how Microsoft's touch-oriented Windows 8 may get it right. | Go deep into HTML5 programming in InfoWorld's "HTML5 Megaguide Deep Dive" PDF how-to report. ]
The nuances of gestures
But developers who want to make some money or simply move internal enterprise systems over to these new devices must learn the nuances if they want to be successful. "The first thing is to understand the user who's going to be using it," says Dura. "What most people don't understand is the complexity of what a user is going to expect" from a gesture standpoint, he says. A pinch or a gesture may not seem natural in some contexts: "The best thing is to test the interaction."
Dura recalls building a Twitter application for a large touch wall, in which users could touch tweets and open them. Developers made some assumptions about how to open those messages, and they programmed the application so that users had to double-tap on the screen to open them. But in testing, users instead grabbed the messages and tried to pinch -- the gesture for zooming in -- the tweets to open them. "We had to go back and revise that interaction to match what the users were expecting," Dura reports.
When building touch interface applications, developers must bear in mind immediacy and why someone is using a touch device, says John Nack, Adobe Systems' principal product manager for mobile and digital imaging. He advises building entertaining, quick-to-use applications: "For anything that is too procedural, where you need a lot of steps to anything done, people will simply use their desktops to get those tasks done."
Although the user experience issues can be tricky, the APIs for actually implementing touch are fairly straightforward, Dura notes.