Gestures without libraries, toolkits or training: a $1 recognizer for user interface prototypes

Although mobile, tablet, large display, and tabletop computers increasingly present opportunities for using pen, finger, and wand gestures in user interfaces, implementing gesture recognition largely has been the privilege of pattern matching experts, not user interface prototypers. Although some user interface libraries and toolkits offer gesture recognizers, such infrastructure is often unavailable in design-oriented environments like Flash, scripting environments like JavaScript, or brand new off-desktop prototyping environments. To enable novice programmers to incorporate gestures into their UI prototypes, we present a "$1 recognizer" that is easy, cheap, and usable almost anywhere in about 100 lines of code. In a study comparing our $1 recognizer, Dynamic Time Warping, and the Rubine classifier on user-supplied gestures, we found that $1 obtains over 97% accuracy with only 1 loaded template and 99% accuracy with 3+ loaded templates. These results were nearly identical to DTW and superior to Rubine. In addition, we found that medium-speed gestures, in which users balanced speed and accuracy, were recognized better than slow or fast gestures for all three recognizers. We also discuss the effect that the number of templates or training examples has on recognition, the score falloff along recognizers' N-best lists, and results for individual gestures. We include detailed pseudocode of the $1 recognizer to aid development, inspection, extension, and testing.

[1]  Anderson Michael,et al.  AAAI Fall Symposium , 2005 .

[2]  James A. Landay,et al.  Extending an existing user interface toolkit to support gesture recognition , 1993, INTERCHI Adjunct Proceedings.

[3]  Steven A. Shafer,et al.  XWand: UI for intelligent spaces , 2003, CHI '03.

[4]  Xiang Cao,et al.  Evaluation of an on-line adaptive gesture interface with command prediction , 2005, Graphics Interface.

[5]  Andreas Paepcke,et al.  Cooperative gestures: multi-user gestural interactions for co-located groupware , 2006, CHI.

[6]  James A. Pittman,et al.  Recognizing handwritten text , 1991, CHI.

[7]  James A. Landay,et al.  SATIN: a toolkit for informal ink-based applications , 2000, UIST '00.

[8]  Mi-Gyung Cho A new gesture recognition algorithm and segmentation method of Korean scripts for gesture-allowed ink editor , 2006, Inf. Sci..

[9]  Mark W. Newman,et al.  DENIM: finding a tighter fit between tools and practice for Web site design , 2000, CHI.

[10]  Sargur N. Srihari,et al.  On-Line and Off-Line Handwriting Recognition: A Comprehensive Survey , 2000, IEEE Trans. Pattern Anal. Mach. Intell..

[11]  Ching Y. Suen,et al.  The State of the Art in Online Handwriting Recognition , 1990, IEEE Trans. Pattern Anal. Mach. Intell..

[12]  L. R. Rabiner,et al.  A comparative study of several dynamic time-warping algorithms for connected-word recognition , 1981, The Bell System Technical Journal.

[13]  Thomas G. Dietterich What is machine learning? , 2020, Archives of Disease in Childhood.

[14]  Levent Burak Kara,et al.  An Image-Based Trainable Symbol Recognizer for Sketch-Based Interfaces , 2004, AAAI Technical Report.

[15]  Tyson R. Henry,et al.  Integrating gesture and snapping into a user interface toolkit , 1990, UIST '90.

[16]  Dean Rubine,et al.  Specifying gestures by example , 1991, SIGGRAPH.

[17]  Stan Salvador,et al.  FastDTW: Toward Accurate Dynamic Time Warping in Linear Time and Space , 2004 .

[18]  William H. Press,et al.  Numerical recipes in C , 2002 .

[19]  Charles C. Tappert,et al.  Cursive Script Recognition by Elastic Matching , 1982, IBM J. Res. Dev..

[20]  Jeroen K. Vermunt,et al.  Log-Linear Models for Event Histories , 1997 .

[21]  Robert C. Miller,et al.  Off-Line Sketch Interpretation , 2004, AAAI Technical Report.

[22]  Shumin Zhai,et al.  Shorthand writing on stylus keyboard , 2003, CHI '03.

[23]  Philip Chan,et al.  Toward accurate dynamic time warping in linear time and space , 2007, Intell. Data Anal..

[24]  James A. Landay,et al.  Implications for a gesture design tool , 1999, CHI '99.

[25]  Marjorie Skubic,et al.  Hidden Markov Model Symbol Recognition for Sketch-Based Interfaces , 2004, AAAI Technical Report.

[26]  Benjamin B. Bederson,et al.  AppLens and launchTile: two designs for one-handed thumb use on small devices , 2005, CHI.

[27]  Randall Davis,et al.  HMM-based efficient sketch recognition , 2005, IUI.

[28]  Terry Winograd,et al.  Fluid interaction with high-resolution wall-size displays , 2001, UIST '01.

[29]  M. Stojmenovic,et al.  Measuring Linearity of a Finite Set of Points , 2006, 2006 IEEE Conference on Cybernetics and Intelligent Systems.

[30]  Shumin Zhai,et al.  SHARK2: a large vocabulary shorthand writing system for pen-based computers , 2004, UIST '04.

[31]  Ravin Balakrishnan,et al.  VisionWand: interaction techniques for large displays using a passive wand tracked in 3D , 2004, SIGGRAPH 2004.

[32]  Rob Miller,et al.  The Amulet Environment: New Models for Effective User Interface Software Development , 1997, IEEE Trans. Software Eng..

[33]  Patrick Baudisch,et al.  Stitching: pen gestures that span multiple displays , 2004, AVI.