One key context clue is the platform of the device being used, Dura says. A common idea among developers writing apps intended to be used across mobile operating systems, perhaps as an HTML5 app, is that they should all use the same gestures. "They'll assume certain gestures may the same on different devices," Dura says. "They're not." Apple has been adding sophisticated multitouch gestures, such as a four-finger swipe to go from one application to the next. "Well, that doesn't work on Android," Dura warns.
Controls for touch have to be larger and more responsive than for mouse controls, says Tim Huckaby, chairman of both software developer Interknowlogy and software company Actus Interactive Software. A finger "just doesn't have the fidelity that the mouse does" when it comes to operating a device. And not all software adapts well to touch, Huckaby says: Data-entry applications, for example, are "just not a good use case for touch."
Developer Billy Hollis, a partner with Next Version Systems, agrees: The controls users work with need to typically be double the size of what would be adequate with a mouse-driven interface, and developers must not place items too close together. Apple has a set of size guidelines for iOS, and likewise Microsoft has come up with a size formula for Windows 8 developers.
"The error rate of choosing the wrong one then goes up very dramatically" when functions are too close and too small, Hollis says. "That's a very frustrating experience for the user."
Be careful on hardware usage
Hollis advises developers to be mindful of hardware resources: "You must make sure that you don't load down the hardware" in such a way that the gestures and touch tracking get jerky onscreen. "People's willingness to put up with that is very, very small." Developers must ensure they are using asynchronous operations so that a user interface thread is not held up by data fetching or background processing. They also should not put too much strain on the unit's processor, he advises.
Touch tools are available for developers
Some tools exist for developing touch applications, such as the Adobe Flash GestureWorks, a software development library that makes it easier to accommodate gestures in programming, Dura says. However, he adds, "There's no touch Bible yet."
Microsoft has provided system-level support for touch in .Net, Huckaby says. "Microsoft is eons ahead of any of those other companies" in terms of developer tools and productivity, he says. Microsoft also has its Surface SDK technology for touch, but that SDK is meant for tabletop-size displays, not smartphones, tablets, and computers. Huckaby expects a dozen defined multitouch gestures to be native in the upcoming Windows 8 OS.
And of course Apple, the first computer company to use touch broadly, has a strong set of touch APIs native to its Xcode programming environment for iOS and Mac OS X.
This story, "Touch-oriented apps: A developer's guide," was originally published at InfoWorld.com. Follow the latest developments in programming at InfoWorld.com. For the latest developments in business technology news, follow InfoWorld.com on Twitter.