Win7 Multi Touch
Upcoming SlideShare
Loading in...5
×
 

Win7 Multi Touch

on

  • 5,464 views

Developing for Windows 7 Multitouch

Developing for Windows 7 Multitouch

Statistics

Views

Total Views
5,464
Views on SlideShare
5,369
Embed Views
95

Actions

Likes
0
Downloads
81
Comments
0

8 Embeds 95

http://www.dotnetdoc.com 44
http://franksworld.com 20
http://thesociablegeek.com 14
http://www.slideshare.net 11
http://www.franksworld.com 3
http://dotnetdoc.com 1
http://m348.mail.qq.com 1
http://www.slideee.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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 Win7 Multi Touch Presentation Transcript

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