November 07, 2009
Multitouch Gains MomentumJoel Eden and Jason Beres
Windows 7 support will push touch technology to the next level
Joel Eden is a user experience consultant; Jason Beres is the director of product management at Infragistics.
How you interact with computing devices is about to change. Don't think so? Then consider Apple iPhone, BlackBerry Storm, Nokia N97, Palm Pre, and Motorola CLIQ. They're all touch-screen devices with multitouch, gesture-based user interfaces where you use your fingers to manipulate objects on the screen, with no mouse or keyboard required.
People love them. Shipments of smartphones with touch-screens will more than double in 2009, predicts market-research firm In-Stat. The shift to touch-screens won't stop with mobile phones, as people get used to doing certain tasks with their fingers. And that trend is getting a boost from Microsoft Windows 7, which supports multitouch and gestures.
As touch-screen hardware and tools for developing multitouch applications become more prevalent, businesses of all kinds will want to leverage the technology. Get ready to see it in all sorts of apps, including those used in retail, stock trading, manufacturing, inventory management, healthcare, appliance repair, and delivery services.
Touch-sensing interfaces aren't new -- operations as diverse as the U.S. Postal Service and McDonald's are using them. But these systems are based on users making a single point of contact with the screen, and they don't support gestures. Compare that with the emerging class of multitouch sensing that lets users interact with devices using more than one finger and employing a drag-and-drop capability. For instance, users pinch their thumb and forefinger together to shrink a photo.
Users of MacBook Pro, with its multitouch trackpad for manipulating objects, are familiar with multitouch, but the technology is just gaining traction on other platforms. Besides Microsoft, Qt Software is supporting it with QTouchEvent and QGestureEvent classes in the Qt 4.6 framework.
Microsoft's Approach
Microsoft incorporated multitouch and gesture support in Windows 7 with its WM_Touch and WM_Gesture classes. They provide multitouch support in the following ways:
Since gestures are fundamental to the Windows 7 OS, there's no software-based shell (like there is in Microsoft Surface, the company's tabletop computer that supports gestures) to enable these features. All that's needed for an application to have multitouch behaviors is a digitizer, such as Gateway's ZX Series and Hewlett-Packard's TouchSmart, that recognizes multitouch. But there are extra steps involved: For example, you have to ensure that Jump List items on Windows 7 multitouch machines are spaced further apart than those on Windows 7 machines that don't support multitouch.
Consider the following when designing applications that use multitouch:
Multitouch is also good for quick action and input tasks such as reordering a list. At this point, we wouldn't recommend building a transactional data entry application around it.
To reduce the misinterpretation of basic gestures, Windows 7 created a default set of gestures with standard responses. If you drag your finger downward, you get a scrolling response. Tap on a menu header and a menu drops down in an application or pops up in the Start menu.
Windows 7 default gestures behave similarly across applications and in the OS. (See Table 1 for a list of gestures that Windows 7 supports.)
Table 1: Gestures supported by Windows 7.
Microsoft has supplemented this with a "Good, Better, Best" approach to implementation of multitouch in applications; see Table 2.
Table 2: Good, Better, Best approaches to multitouch development.
Multitouch is a great feature of Windows 7 for building rich user experiences. With default legacy support for scrolling, panning, and zooming, applications can have an improved experience without any developer effort. Using the Windows API and convenient interoperability libraries, you can easily extend the experience your applications can deliver.
|
|
||||||||||||||||||||||||||||||
|
|
|
|