Windows 7 Touch Application Development: Selecting the Right Platform
Pat AltimoreSr. [email protected]
WCL208
A Diverse Windows 7 Touch Ecosystem
SlateMobile
Laptop Portable
Displays TV, Monitor
All-in-One Desktop
New Windows 7 Form Factors
Processor: Atom N550Memory: 2GBScreen: 10.1” (1366x768)Touch: 2-finger capacitiveGraphics: Intel GMA 3150
Processor: i5 470umMemory: 2GB or 4GB Screen: 12.1” (1280x800)Touch: 2-finger capacitiveGraphics: Integrated
Processor: Atom N405Memory: 2GBScreen: 11.6” (1366x768)Touch: 2-finger capacitiveGraphics: Intel GMA3150
Asus EEE EP120 ExoPC Dell Duo Inspiron
Touch Friendly
Control targets >= 23x23 pixelsGestures supported through mouse and keyboardNot dependent on hoverControls support Microsoft Active Accessibility (MSAA) for assistive technologies
Touch Enabled
Frequent controls >= 40x40 pixelsRelevant gestures are supported with effect at the point of contactHighly interactive smooth, responsive visual feedback while panning, zooming, and rotating
Touch Optimized
Frequent Tasks Directly on UIImmersive touch experienceReal-world physical feedback (momentum and friction)Handle inaccuracy with touching and draggingReduce the need for heavy text input or precise selection
Touch Considerations
Screen RotationText input without a keyboardHigh DPIMouse and Keyboard supportPerformance
Which Developer Platform Should I Use?
• What gestures make sense?• Need text entry?• Targeting cross platform?• Deployment requirements?
Scenario and Functionality
• Native Code• .NET• Web
Developer Skillsets
• Existing application?• Reusing code? • Targeting different devices?
Existing code
Windows 7 Touch APIs
**
Raw Touch Data
Single Gestures
Gesture Combinations
Windows 7 Native API (C/C++)
.NET
Silverlight
DirectX/XNA
WM_TOUCH messages
x/y packets for each touch point
WM_GESTURE messages
Pinch/stretch, pan, rotate, etc.
Manipulations interface
Ability to combine multiple gestures
Summary
Touch is available todayThink about how to enable for touchPick a development platform based on skills and requirments
Resources
Multi-Touch Input in Silverlight http://msdn.microsoft.com/en-us/library/dd894494(VS.95).aspx
Exploring Multi-Touch Support in Silverlight http://msdn.microsoft.com/en-us/magazine/ee336026.aspx
Associated Downloads on code.microsoft.com http://code.msdn.microsoft.com/mag201003MultiTouch/Release/ProjectReleases.aspx?ReleaseId=3946
Microsoft Surface Example and Inertia Sample for Microsoft Silverlight
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=4B281BDE-9B01-4890-B3D4-B3B45CA2C2E4&displaylang=en
Optimizing WPF Application Performance http://msdn.microsoft.com/en-us/library/aa970683.aspx
Multi-Touch Manipulation Events in WPF http://msdn.microsoft.com/en-us/magazine/ff898416.aspx
Touch and Response http://msdn.microsoft.com/en-us/magazine/ff955609.aspx
Multi-Touch Inertia http://msdn.microsoft.com/en-us/magazine/gg232767.aspx
Surface Tool-Kit Beta http://msdn.microsoft.com/library/ee957352.aspx
WPF 4 Resources
Silverlight 4 Resources
Introduction to Windows Touch http://www.microsoft.com/whdc/device/input/Win7_touch.mspx
Windows 7 Engineering Guidance for Slate PCs http://www.microsoft.com/whdc/device/input/slate-pc-design.mspx
Windows Touch Guidance document http://archive.msdn.microsoft.com/wintouchguide
Multi-Touch in Windows 7 [WinHEC 2008; 5.3 MB] http://download.microsoft.com/download/5/E/6/5E66B27B-988B-4F50-AF3A-C2FF1E62180F/MBL-T527_WH08.pptx
MSDN Magazine: MultiTouch Capabilities in Windows 7 http://msdn.microsoft.com/en-us/magazine/ee336016.aspx
Windows Touch on MSDN http://msdn.microsoft.com/en-us/library/dd562197(VS.85).aspx
Windows Touch Developer Resources http://code.msdn.microsoft.com/WindowsTouch/
Windows User Experience Interaction Guidelines http://msdn.microsoft.com/en-us/library/aa511258.aspx
Tablet and Touch SDK http://msdn.microsoft.com/en-us/library/ms704849(VS.85).aspx
Project Hilo http://code.msdn.microsoft.com/Hilo or Follow @projecthilo
Sensor Development Kit for Windows 7 http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=SensorsAndLocation&DownloadId=5856
Engineering Windows 7 Blog: Touching Windows 7 http://blogs.msdn.com/e7/archive/2009/03/25/touching-windows-7.aspx
Engineering Windows 7 Blog: Ink Input and Tablet PC http://blogs.msdn.com/e7/archive/2009/04/23/ink-input-and-tablet.aspx
WPF 4 Touch Support http://msdn.microsoft.com/en-us/library/bb613588.aspx#touch_and_manipulation
Windows Product Scout http://www.microsoft.com/windows/product-scout/
Further Touch Resources
Track Resources
Don’t forget to visit the Cloud Power area within the TLC (Blue Section) to see product demos and speak with experts about the Server & Cloud Platform solutions that help drive your business forward.
You can also find the latest information about our products at the following links:
Windows Azure - http://www.microsoft.com/windowsazure/
Microsoft System Center - http://www.microsoft.com/systemcenter/
Microsoft Forefront - http://www.microsoft.com/forefront/
Windows Server - http://www.microsoft.com/windowsserver/
Cloud Power - http://www.microsoft.com/cloud/
Private Cloud - http://www.microsoft.com/privatecloud/
Resources
www.microsoft.com/teched
Sessions On-Demand & Community Microsoft Certification & Training Resources
Resources for IT Professionals Resources for Developers
www.microsoft.com/learning
http://microsoft.com/technet http://microsoft.com/msdn
Learning
http://northamerica.msteched.com
Connect. Share. Discuss.
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to
be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS
PRESENTATION.