The Windows® 7 Developer Experience (mt)<br />Microsoft® Corporation<br />
Windows 7 Multi-Touch <br />the future is Here!<br />
The past drives the future. <br />
Input Devices<br />How many people here use a mouse?<br />When was it invented?<br />1963 !!!  by Douglas Englebart<br />W...
Input Devices<br />How many people here use a touch screen?<br />When was it invented?<br />1972 !!!  The PLATO IV (Resear...
Multi-touch through the years<br />1985:  Sensor Frame  (Carnegie Mellon University)<br />1992: Flip Keyboard<br />1995/97...
Multi-touch through the years<br />1999:  Portfolio Wall<br />2005: PlayAnywhere<br />2007:  Microsoft Surface Computing<b...
Gestures<br />1983: Video Place / Video Desk (Myron Krueger) Essentially “wrote the book” in terms of unencumbered (i.e., ...
Touch History<br />About the same  time the<br />mac came out<br />
Touch Phones<br />2006:  Synaptics & Pilotfish (San Jose) http://www.synaptics.com<br />2007:  Apple iPhone<br />1992:  Si...
“So how can I play with this now??”<br />
3 things to know….<br />the screens<br />the hardware<br />the software<br />
The Screens<br />
How to touch <br />ResistiveThink Push Down and drag<br />
How to touch <br />CapacitiveThink Electric Impulse<br />
How to touch <br />InfraredThink laser pointer(s)<br />
The Hardware<br />
Hardware<br />Capacitive<br />HP Touchsmart tx2N-trig (2-10)<br />Capacitive<br />Dell LatitudeXT2N-Trig (2-10)<br />Infra...
The Software<br />
Multi-Touch Development TiersGood – Better – Best<br />Windows application can target one of three levels of touch integra...
WM_Touch – WM_Gesture<br />
Windows7.Multitouch<br />Easy<br />to <br />Write <br />code <br />now<br />PC’s, Form Factors, Technology<br />Windows7.M...
Massive Multi-touch, Multi-user<br />Easier to Write code soon<br />PC’s, Form Factors, Technology<br />
The API<br /> protected event EventHandler&lt;WMTouchEventArgs&gt; Touchdown;   // touch down event handler<br />protected...
Working with MultiTouch<br />demo<br />
More Information<br />Multi-Touch Systems that I Have Known and Loved<br />http://www.billbuxton.com/multitouchOverview.ht...
Multi-touch is not new<br />1972:  PLATO IV Touch Screen Terminal <br />Windows 7 Multi-touch<br />Touchable Hologram<br /...
The <br />End(or a new beginning)<br />
Upcoming SlideShare
Loading in …5
×

Win7 Multi Touch

3,774 views

Published on

Developing for Windows 7 Multitouch

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,774
On SlideShare
0
From Embeds
0
Number of Embeds
97
Actions
Shares
0
Downloads
84
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Today I am going to talk about something that I think is a Hidden gem. In Windows7 and is going to make a huge impact in the coming year.
  • I am a firm believer in UNDERSTANDING the past…. And using that understanding to guide the future
  • I am a firm believer in UNDERSTANDING the past…. And using that understanding to guide the future
  • Win7 Multi Touch

    1. 1. The Windows® 7 Developer Experience (mt)<br />Microsoft® Corporation<br />
    2. 2. Windows 7 Multi-Touch <br />the future is Here!<br />
    3. 3. The past drives the future. <br />
    4. 4. Input Devices<br />How many people here use a mouse?<br />When was it invented?<br />1963 !!! by Douglas Englebart<br />When was it first (widely) used?<br />Mid 90’sWhile Xerox put out a computer with a mouse in 1982 and others slowly followed, it was not until the MID 90’s that mice were widely used on the computer (30 YEARS!!!)<br />
    5. 5. Input Devices<br />How many people here use a touch screen?<br />When was it invented?<br />1972 !!! The PLATO IV (Research Scientists At University of Illinois)<br />
    6. 6. Multi-touch through the years<br />1985: Sensor Frame  (Carnegie Mellon University)<br />1992: Flip Keyboard<br />1995/97: Active Desk<br />
    7. 7. Multi-touch through the years<br />1999: Portfolio Wall<br />2005: PlayAnywhere<br />2007: Microsoft Surface Computing<br />
    8. 8. Gestures<br />1983: Video Place / Video Desk (Myron Krueger) Essentially “wrote the book” in terms of unencumbered (i.e., no gloves, mice, styli, etc.) rich gestural interaction. <br />
    9. 9. Touch History<br />About the same time the<br />mac came out<br />
    10. 10. Touch Phones<br />2006: Synaptics & Pilotfish (San Jose) http://www.synaptics.com<br />2007: Apple iPhone<br />1992:  Simon (IBM & Bell South) The first touch phone<br />
    11. 11. “So how can I play with this now??”<br />
    12. 12. 3 things to know….<br />the screens<br />the hardware<br />the software<br />
    13. 13. The Screens<br />
    14. 14. How to touch <br />ResistiveThink Push Down and drag<br />
    15. 15. How to touch <br />CapacitiveThink Electric Impulse<br />
    16. 16. How to touch <br />InfraredThink laser pointer(s)<br />
    17. 17. The Hardware<br />
    18. 18. Hardware<br />Capacitive<br />HP Touchsmart tx2N-trig (2-10)<br />Capacitive<br />Dell LatitudeXT2N-Trig (2-10)<br />Infrared<br />HP Touchsmart IQ816<br />NewWindow(2)<br />
    19. 19. The Software<br />
    20. 20. Multi-Touch Development TiersGood – Better – Best<br />Windows application can target one of three levels of touch integration<br />Good: No specific touch APIs are used but the application UI is appropriately sized and works well with the built-in gestures<br />Better: The gesture APIs are supported to give smooth natural interactions<br />Best: Deep touch-focused experiences designed to take advantage of multi-touch features<br />
    21. 21. WM_Touch – WM_Gesture<br />
    22. 22. Windows7.Multitouch<br />Easy<br />to <br />Write <br />code <br />now<br />PC’s, Form Factors, Technology<br />Windows7.Multitouch.WPF<br />WM_Touch<br />
    23. 23. Massive Multi-touch, Multi-user<br />Easier to Write code soon<br />PC’s, Form Factors, Technology<br />
    24. 24. The API<br /> protected event EventHandler&lt;WMTouchEventArgs&gt; Touchdown; // touch down event handler<br />protected event EventHandler&lt;WMTouchEventArgs&gt; Touchup; // touch up event handler<br />protected event EventHandler&lt;WMTouchEventArgs&gt; TouchMove; // touch move event handler<br /> // Private data members<br /> private int x; // touch x client coordinate in pixels<br /> private int y; // touch y client coordinate in pixels<br /> private int id; // contact ID<br /> private int mask; // mask which fields in the structure are valid<br /> private int flags; // flags<br /> private int time; // touch event time<br /> private intcontactX; // x size of the contact area in pixels<br /> private intcontactY; // y size of the contact area in pixels<br />
    25. 25. Working with MultiTouch<br />demo<br />
    26. 26. More Information<br />Multi-Touch Systems that I Have Known and Loved<br />http://www.billbuxton.com/multitouchOverview.html<br />Mike Taulty’s Blog http://bit.ly/NKVTN<br />Example Photo App http://bit.ly/d4eE9<br />
    27. 27. Multi-touch is not new<br />1972: PLATO IV Touch Screen Terminal <br />Windows 7 Multi-touch<br />Touchable Hologram<br />Present<br />Future<br />(http://bit.ly/akq7V)<br />Past<br />
    28. 28. The <br />End(or a new beginning)<br />
    29. 29.
    30. 30. Lightning Rod<br />Franklin Stove<br />Odometer<br />
    31. 31. Leonardo Da Vinci<br />Helecopter<br />Eight Barrel <br />Machine Gun<br />Parachute<br />
    32. 32. Thomas Edison<br />Phonograph<br />Film Projector<br />Light Bulb<br />
    33. 33. George Jetson<br />
    34. 34. Jet packs<br />
    35. 35. Big Flatscreen TV&apos;s<br />
    36. 36. Robot Housekeepers<br />
    37. 37.
    38. 38.
    39. 39. Guestures and Movement<br />What can I do?<br />
    40. 40. Predefined Gestures – Translate<br />Place two fingers in the application window and drag in the direction you want<br />
    41. 41. Zoom and Rotate<br />Rotate<br />Touch the image with two fingers and turn fingers in a circle<br />Zoom<br />Touch the image with two fingers and move them closer or further apart<br />
    42. 42. Two Finger Tapand Finger Roll<br />Two Finger Tap<br />Tap once with both fingers<br />Finger Roll<br />Place one finger on the screen, place second finger on the screen, lift the second finger, and then lift the first finger<br />
    43. 43. Manipulations<br />Manipulations are a great foundation for touch-optimized experiences. They are:<br />2D affine transformations (translate, scale, rotate)<br />Superset of supported gestures<br />Supports multiple concurrent manipulations<br />Need a source of raw data: WM_TOUCH<br />Similar to Surface APIs<br />Interfaces:<br />IManipulationProcessor<br />IManipulationEvents<br />
    44. 44. Inertia<br />Provides basic physics<br />Works hand in hand with manipulations<br />Interfaces:<br />IInertiaProcessor<br />IManipulationEvents – Same event interface as manipulations<br />

    ×