Reach Out And Touch Windows 7

Something you haven't heard a great deal about in Windows 7 is the added support for touch user interfaces. The touch interface was demonstrated at the 2008 PDC conference but the presenters didn't go into any detail about how apps would be designed for touch, they showed some apps that benefit from the new touch UI. Microsoft's invested a lot of resources into the requirements, design and implementation of touch gestures in Windows 7; things like taps, drag, zoom, rotate, right-click menu access, etc. One of the most interesting requirements I find for hardware vendors is that they must support multi-touch in order to be considered compatible with Windows 7's touch capabilities. You can read more about the details of what touch UI features are in Windows 7 by checking out this blog post on the Engineering Windows 7 blog. 

If you're a UI designer or developer, you'll be interested to know there are two new window messages, WM_GESTURE and WM_TOUCH. WM_GESTURE informs the app about the gesture a user performed, while WM_TOUCH sends the raw data about the touch action itself, so the application can create and interpret touch gestures beyond those that come pre-built with Windows 7.  

Microsoft defines three kinds of apps as it relates to Windows 7's touch UI capabilities. First are apps which are completely unaware a touch user action is being used to drive the app's UI. They basically see the same window message events, such as click, mouse enter and leave, etc., events you'd normally see in a mouse or keyboard driven machine. Touch is simply a mouse and keyboard replacement for driving the app's UI.

Next are apps that actually respond to gestures recognized by Windows 7. If someone tapped and held on an icon and then tapped elsewhere on the screen with another finger, the app would recognize this event via the WM_GESTURE message and respond in an "aware" fashion. These kinds of apps are very much aware of the touch interface but may still hold many ties back to their legacy mouse and keyboard interface designs. I guess you'd consider these hybrid apps for touch and traditional ways of driving the app.

Lastly are apps that have been developed for a touch interface from their very beginning. Microsoft uses the Microsoft Surface Globe app as an example of an app built from the ground up for a touch interface. Presumably it responds to both WM_GESTURE messages and has extended the standard Windows 7 touch features by added a few of their own by receiving events via WM_GESTURE messages.

There aren't that many PC models out yet that support Windows 7's touch requirements. HP and Dell are specially called out in Microsoft's blog post. The real question I see for the Windows 7 touch technology is will it go the way of Windows Tablet PC interface, present in market but hardly a smashing success, or does Windows 7 touch bring what's needed to push touch UI into the mainstream? I suspect it's the latter, but not just because Microsoft got it right. Microsoft can thank Apple and the iPhone for showing us both what gesture features are required in a touch device, and also how to design apps optimized for a touch user interface.

Like this? Here are some of Mitchell's recent posts.

Mitchell's Book Recommendations: Also visit Mitchell's other blogs and podcasts:

Visit Microsoft Subnet for more news, blogs, opinion from around the Web. Sign up for the bi-weekly Microsoft newsletter. (Click on News/Microsoft News Alert.)

Copyright © 2009 IDG Communications, Inc.

The 10 most powerful companies in enterprise networking 2022