a domain-specific language to define multi-touch gestures
DESCRIPTION
SPLASH Workshop on Domain-Specific Modeling, Reno/Tahoe, Nevada. A Domain-Specific Language to Define Multi-Touch Gestures. Shahedul Huq Khandkar Frank Maurer. Touch Interfaces. The new medium of interaction Key variations Features Physical structure. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: A Domain-Specific Language to Define Multi-Touch Gestures](https://reader035.vdocuments.us/reader035/viewer/2022062501/5681682d550346895dddc76c/html5/thumbnails/1.jpg)
A Domain-Specific Language to Define Multi-Touch Gestures
Shahedul Huq Khandkar Frank Maurer
SPLASH Workshop on Domain-Specific Modeling, Reno/Tahoe, Nevada
![Page 2: A Domain-Specific Language to Define Multi-Touch Gestures](https://reader035.vdocuments.us/reader035/viewer/2022062501/5681682d550346895dddc76c/html5/thumbnails/2.jpg)
Touch Interfaces
Source: Microsoft Research, apple.com, zatznotfunny.com, slashgear.com
• The new medium of interaction• Key variations– Features– Physical structure
![Page 3: A Domain-Specific Language to Define Multi-Touch Gestures](https://reader035.vdocuments.us/reader035/viewer/2022062501/5681682d550346895dddc76c/html5/thumbnails/3.jpg)
Use of Touch Interface
• Generic application commands
• Context specific commands
![Page 4: A Domain-Specific Language to Define Multi-Touch Gestures](https://reader035.vdocuments.us/reader035/viewer/2022062501/5681682d550346895dddc76c/html5/thumbnails/4.jpg)
Existing Tools for Gesture Recognition
• Predefined gestures• Application specific implementations
• Template based recognition algorithms– Compares with sample dataset
![Page 5: A Domain-Specific Language to Define Multi-Touch Gestures](https://reader035.vdocuments.us/reader035/viewer/2022062501/5681682d550346895dddc76c/html5/thumbnails/5.jpg)
Limitations of Template based Recognition
• Requires specific start and end point• Limited multi-touch & multi-step support• Hard to define conditional logic
Image: slashgear.com
![Page 6: A Domain-Specific Language to Define Multi-Touch Gestures](https://reader035.vdocuments.us/reader035/viewer/2022062501/5681682d550346895dddc76c/html5/thumbnails/6.jpg)
A DSL to define gestures
name: ZoomIn
validate Touch state: TouchMove and Touch limit: 2 and On same object and Distance between points: increasing
return Distance, Distance changed
![Page 7: A Domain-Specific Language to Define Multi-Touch Gestures](https://reader035.vdocuments.us/reader035/viewer/2022062501/5681682d550346895dddc76c/html5/thumbnails/7.jpg)
Defining Multi-step Gestures
name: ActorObject
validate as line1 Touch state: TouchMove and Touch limit: 1 and Touch shape: line and Touch length: 100..200
validate as line2 Touch state: TouchMove and …
validate line1 perpendicularTo line2 and …
return Position, Bounding box
Primitive Conditions
Return Types
![Page 8: A Domain-Specific Language to Define Multi-Touch Gestures](https://reader035.vdocuments.us/reader035/viewer/2022062501/5681682d550346895dddc76c/html5/thumbnails/8.jpg)
IDE Support
![Page 9: A Domain-Specific Language to Define Multi-Touch Gestures](https://reader035.vdocuments.us/reader035/viewer/2022062501/5681682d550346895dddc76c/html5/thumbnails/9.jpg)
Primitive Conditions & Return types
• The toolkit provides– 15 primitive conditions– 10 return types
Image: testmaster.in
![Page 10: A Domain-Specific Language to Define Multi-Touch Gestures](https://reader035.vdocuments.us/reader035/viewer/2022062501/5681682d550346895dddc76c/html5/thumbnails/10.jpg)
Extensibility
1. Define syntax (parsing logic)
2. Validation logic– C# or any other .NET supported language
![Page 11: A Domain-Specific Language to Define Multi-Touch Gestures](https://reader035.vdocuments.us/reader035/viewer/2022062501/5681682d550346895dddc76c/html5/thumbnails/11.jpg)
Performance Benefits
• Less computation – lazy evaluation• Reuse validated data
Raw data
Touch limit: 2 On same object …
3 touches (a, b, c)Touch a &b
Touch b & c
Touch a & c
Touch a &b
Touch b & c
Return type Calculator
![Page 12: A Domain-Specific Language to Define Multi-Touch Gestures](https://reader035.vdocuments.us/reader035/viewer/2022062501/5681682d550346895dddc76c/html5/thumbnails/12.jpg)
On Going & Future Work
• Generate definitions from samples• Visual representation of gesture definition
Image: aboutcellulars.com
![Page 13: A Domain-Specific Language to Define Multi-Touch Gestures](https://reader035.vdocuments.us/reader035/viewer/2022062501/5681682d550346895dddc76c/html5/thumbnails/13.jpg)
Questions?
• Gestures• Language structure• Extensibility• IDE support
• http://touchtoolkit.codeplex.com Image: huffingtonpost.com