Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CoffeeTouch

 CoffeeTouch

Milti-touch Javascript library written in CoffeeScript for handling multi-touch gesture on mobile devices.
More at: https://github.com/Crozis/CoffeeTouch

Nima Izadi

June 17, 2012
Tweet

More Decks by Nima Izadi

Other Decks in Programming

Transcript

  1. Authors Nima Izadi Pierre Corsini Nicolas Dupont Nicolas Fernandez June

    17th, 2010 Supervisors Raphaël Bellec Francoise Baude CoffeeTouch: Multi-touch JavaScript Library
  2. • 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
  3. • Handling multi-touch gestures • Ease of use • Improvable

    FEATURES Presentation Demonstration Our solution Implementation Organisation Conclusion
  4. <html> <head> <script src="CoffeeTouch.js"></script> </head> <body> <div id="myElement">My Element</div> </body>

    <script type=”text/javascript”> document.getElementById(“myElement”).onG esture( “doubletap”, function(event) { alert(“I’ve been doubletapped!”); }); </script> </html> Presentation Demonstration Our solution Implementation Organisation Conclusion
  5. • 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
  6. 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
  7. • 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
  8. 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
  9. ANALYSER •Gesture detection: •Pinch - Spread •Rotation •Direction •Composition Presentation

    Demonstration Our solution Implementation Organisation Conclusion
  10. ORGANISATION •New work environment •Team members had never worked together

    before •Choice of agile methodology •Scrum •xprograming Presentation Demonstration Our solution Implementation Organisation Conclusion
  11. 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
  12. ORGANISATION •XPrograming A lot of pair programing No formal unit

    test but each modules tested independently Presentation Demonstration Our solution Implementation Organisation Conclusion
  13. CONCLUSION •Fully deployable and usable api •Handle many gestures •Easily

    understandable •Examples •User’s manual Presentation Demonstration Our solution Implementation Organisation Conclusion
  14. PERSPECTIVES •Improvements •Handle gesture sequences •Enhance visibility with a jQuery

    plugin Presentation Demonstration Our solution Implementation Organisation Conclusion
  15. 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