skip to main content
10.1145/2207676.2208694acmconferencesArticle/Chapter ViewAbstractPublication PageschiConference Proceedingsconference-collections
research-article

Proton: multitouch gestures as regular expressions

Authors Info & Claims
Published:05 May 2012Publication History

ABSTRACT

Current multitouch frameworks require application developers to write recognition code for custom gestures; this code is split across multiple event-handling callbacks. As the number of custom gestures grows it becomes increasingly difficult to 1) know if new gestures will conflict with existing gestures, and 2) know how to extend existing code to reliably recognize the complete gesture set. Proton is a novel framework that addresses both of these problems. Using Proton, the application developer declaratively specifies each gesture as a regular expression over a stream of touch events. Proton statically analyzes the set of gestures to report conflicts, and it automatically creates gesture recognizers for the entire set. To simplify the creation of complex multitouch gestures, Proton introduces gesture tablature, a graphical notation that concisely describes the sequencing of multiple interleaved touch actions over time. Proton contributes a graphical editor for authoring tablatures and automatically compiles tablatures into regular expressions. We present the architecture and implementation of Proton, along with three proof-of-concept applications. These applications demonstrate the expressiveness of the framework and show how Proton simplifies gesture definition and conflict resolution.

Skip Supplemental Material Section

Supplemental Material

paperfile423-3.mp4

mp4

20.5 MB

References

  1. Adya, A., Howell, J., Theimer, M., Bolosky, W. J., and Douceur, J. R. Cooperative task management without manual stack management. Proc. USENIX 2002 (2002), 289--302. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Appert, C., and Beaudouin-Lafon, M. SwingStates: adding state machines to the swing toolkit. Proc. UIST 2006 (2006), 319--322. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Apple. iOS. http://developer.apple.com/technologies/ios.Google ScholarGoogle Scholar
  4. Autodesk. SketchBook Pro. http://usa.autodesk.com/ adsk/servlet/pc/item?siteID=123112&id=15119465.Google ScholarGoogle Scholar
  5. Blackwell, A. SWYN: A Visual Representation for Regular Expressions. Morgan Kauffman, 2000, 245--270.Google ScholarGoogle Scholar
  6. Bleser, T., and Foley, J. D. Towards specifying and evaluating the human factors of user-computer interfaces. Proc. CHI 1982 (1982), 309--314. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Brzozowski, J. A. Derivatives of regular expressions. Journal of the ACM 11 (1964), 481--494. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. De Nardi, A. Grafiti: Gesture recognition management framework for interactive tapletop interfaces. Master's thesis, University of Pisa, Italy, 2008.Google ScholarGoogle Scholar
  9. Echtler, F., and Klinker, G. A multitouch software architecture. Proc. NordiCHI 2008 (2008), 463--466. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Fraunhofer-Institute for Industrial Engineering. MT4j - Multitouch for Java. http://www.mt4j.org.Google ScholarGoogle Scholar
  11. Gibbon, D., Gut, U., Hell, B., Looks, K., Thies, A., and Trippel, T. A computational model of arm gestures in conversation. Proc. Eurospeech 2003 (2003), 813--816.Google ScholarGoogle Scholar
  12. Google. Android. http://www.android.com.Google ScholarGoogle Scholar
  13. Hansen, T. E., Hourcade, J. P., Virbel, M., Patali, S., and Serra, T. PyMT: a post-WIMP multi-touch user interface toolkit. Proc. ITS 2009 (2009), 17--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Henry, T. R., Hudson, S. E., and Newell, G. L. Integrating gesture and snapping into a user interface toolkit. Proc. UIST 1990 (1990), 112--122. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Hudson, S. E., Mankoff, J., and Smith, I. Extensible input handling in the subArctic toolkit. Proc. CHI 2005 (2005), 381--390. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jacob, R. J. K. Executable specifications for a human-computer interface. Proc. CHI 1983 (1983), 28--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Jacob, R. J. K. A specification language for direct-manipulation user interfaces. TOG 5, 4 (October 1986), 283--317. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Jacob, R. J. K., Deligiannidis, L., and Morrison, S. A software model and specification language for non-WIMP user interfaces. TOCHI 6, 1 (1999), 1--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Kammer, D., Freitag, G., Keck, M., and Wacker, M. Taxonomy and overview of multi-touch frameworks: Architecture, scope and features. Workshop on Engineering Patterns for Multitouch Interfaces (2010).Google ScholarGoogle Scholar
  20. Kammer, D., Wojdziak, J., Keck, M., and Taranko, S. Towards a formalization of multi-touch gestures. Proc. ITS 2010 (2010), 49--58. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Khandkar, S. H., and Maurer, F. A domain specific language to define gestures for multi-touch applications. 10th Workshop on Domain-Specific Modeling (2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Kin, K., Miller, T., Bollensdorff, B., DeRose, T., Hartmann, B., and Agrawala, M. Eden: A professional multitouch tool for constructing virtual organic environments. Proc. CHI 2011 (2011), 1343--1352. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Lao, S., Heng, X., Zhang, G., Ling, Y., and Wang, P. A gestural interaction design model for multi-touch displays. Proc. British Computer Society Conference on Human-Computer Interaction (2009), 440--446. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Lu, H., and Li, Y. Gesture Coder: A tool for programming multi-touch gestures by demonstration. Proc. CHI 2012 (2012). Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Mankoff, J., Hudson, S. E., and Abowd, G. D. Interaction techniques for ambiguity resolution in recognition-based interfaces. Proc. UIST 2000 (2000), 11--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Mankoff, J., Hudson, S. E., and Abowd, G. D. Providing integrated toolkit-level support for ambiguity in recognition-based interfaces. Proc. CHI 2000 (2000), 368--375. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. MERL. DiamondTouch. http://merl.com/projects/DiamondTouch.Google ScholarGoogle Scholar
  28. Microsoft. Windows 7. http://www.microsoft.com/en-US/ windows7/products/home.Google ScholarGoogle Scholar
  29. Myers, B. A. A new model for handling input. ACM Trans. Inf. Syst. 8, 3 (1990), 289--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Newman, W. M. A system for interactive graphical programming. Proc. AFIPS 1968 (Spring) (1968), 47--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. NUI Group. Touchlib. http://nuigroup.com/touchlib.Google ScholarGoogle Scholar
  32. Olsen, D. Building Interactive Systems: Principles for Human-Computer Interaction. Course Technology Press, Boston, MA, United States, 2009, 43--66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Olsen, Jr., D. R., and Dempsey, E. P. Syngraph: A graphical user interface generator. Proc. SIGGRAPH 1983 (1983), 43--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Raskin, J. The Humane Interface. Addison Wesley, 2000.Google ScholarGoogle Scholar
  35. Scholliers, C., Hoste, L., Signer, B., and De Meuter, W. Midas: a declarative multi-touch interaction framework. Proc. TEI 2011 (2011), 49--56. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Schwarz, J., Hudson, S. E., Mankoff, J., and Wilson, A. D. A framework for robust and flexible handling of inputs with uncertainty. Proc. UIST 2010 (2010), 47--56. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Shaer, O., and Jacob, R. J. K. A specification paradigm for the design and implementation of tangible user interfaces. TOCHI 16, 4 (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Signer, B., Kurmann, U., and Norrie, M. iGesture: A general gesture recognition framework. Proc. ICDAR 2007 (2007), 954--958. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Sipser, M. Introduction to the Theory of Computation, 1st ed. International Thomson Publishing, 1996, 46,70--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Siwgart, S. Easily write custom gesture recognizers for your tablet PC applications, November 2005. Microsoft Technical Report.Google ScholarGoogle Scholar
  41. Sparsh UI. http://code.google.com/p/sparsh-ui.Google ScholarGoogle Scholar
  42. Thompson, K. Regular expression search algorithm. Communications of the ACM 11, 6 (1968), 419--422. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Wobbrock, J. O., Myers, B. A., and Kembel, J. A. Edgewrite: A stylus-based text entry method designed for high accuracy and stability of motion. Proc. UIST 2003 (2003), 61--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Worth, C. D. xstroke. http://pandora.east.isi.edu/xstroke/usenix_2003.Google ScholarGoogle Scholar

Index Terms

  1. Proton: multitouch gestures as regular expressions

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          CHI '12: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
          May 2012
          3276 pages
          ISBN:9781450310154
          DOI:10.1145/2207676

          Copyright © 2012 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 5 May 2012

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate6,199of26,314submissions,24%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader