Slide 1

Slide 1 text

Authors Nima Izadi Pierre Corsini Nicolas Dupont Nicolas Fernandez June 17th, 2010 Supervisors Raphaël Bellec Francoise Baude CoffeeTouch: Multi-touch JavaScript Library

Slide 2

Slide 2 text

PRESENTATION

Slide 3

Slide 3 text

• You said Javascript Library? • Touchpads are more and more used • Multiplication of web applications • Multi-touch in web browsers CONTEXT Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 4

Slide 4 text

• Handling multi-touch gestures • Ease of use • Improvable FEATURES Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 5

Slide 5 text

DEMONSTRATION

Slide 6

Slide 6 text

My Element
document.getElementById(“myElement”).onG esture( “doubletap”, function(event) { alert(“I’ve been doubletapped!”); }); Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 7

Slide 7 text

OUR SOLUTION

Slide 8

Slide 8 text

• Some existing libraries • Nothing more than 2 fingers gesture • Library dependent • Heterogeneous of multi-touch compatibility on browsers STATE OF ART Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 9

Slide 9 text

WHAT WE WOULD LIKE TO ADD •A independent JavaScript library •Ease of use •Very few functions •Intuitive event naming •Modular source code Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 10

Slide 10 text

IMPLEMENTATION

Slide 11

Slide 11 text

MODULES Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 12

Slide 12 text

STATE MACHINE Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 13

Slide 13 text

• Recognize the action done by a single finger • Three browser’s low level events: -touchstart -touchmove -touchend STATE MACHINE tap fixed drag fixedend doubletap Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 14

Slide 14 text

STATE MACHINE @fixed @fixed Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 15

Slide 15 text

EVENT ROUTER/GROUPER Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 16

Slide 16 text

EVENT ROUTER Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 17

Slide 17 text

EVENT GROUPER Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 18

Slide 18 text

ANALYSER Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 19

Slide 19 text

ANALYSER •Recognize multi-touch gesture •Notify using several names •Two style •Ordered - up,up,down •Unordered - two:up,one:down Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 20

Slide 20 text

ANALYSER •Gesture detection: •Pinch - Spread •Rotation •Direction •Composition Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 21

Slide 21 text

ORGANISATION

Slide 22

Slide 22 text

ORGANISATION •New work environment •Team members had never worked together before •Choice of agile methodology •Scrum •xprograming Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 23

Slide 23 text

ORGANISATION •Scrum Frequent feedbacks with supervisors Small and regular increments of the code Keeping a working and up-to-date version Usage of ‘sprints’ Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 24

Slide 24 text

ORGANISATION •XPrograming A lot of pair programing No formal unit test but each modules tested independently Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 25

Slide 25 text

CONCLUSION

Slide 26

Slide 26 text

CONCLUSION •Fully deployable and usable api •Handle many gestures •Easily understandable •Examples •User’s manual Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 27

Slide 27 text

PERSPECTIVES •Improvements •Handle gesture sequences •Enhance visibility with a jQuery plugin Presentation Demonstration Our solution Implementation Organisation Conclusion

Slide 28

Slide 28 text

Thank you for your attention Special thanks to: • Raphaël Bellec • Françoise Baude • Jérémie Bellec Pictures: •Logos - Polytech / Structure Computation / Scripty 2 / jQuery / Github / IBM (Open source) •Gestureworks - Hands •ObamaPacman - iPad hands-on •Autodesk - Multi-hands •INS Consulting - Puzzles •Ideal - Buddy