Investigating the Design and Development of Multitouch Applications

Multitouch is a ubiquitous input technique, used primarily in mobile devices such as phones and tablets. Larger multitouch displays have been mostly limited to tabletop research projects, but hardware manufacturers are also integrating multitouch into desktop workstations. Multitouch input has several key differences from mouse and keyboard input that make it a promising input technique. While the mouse is an indirect and primarily unimanual input device, multitouch often supports direct-touch input and encourages bimanual interaction. Multitouch also supports the use of all ten fingers as input, providing many more degrees of freedom of input than the 2D mouse cursor. Building multitouch applications first requires understanding these differences. We present a pair of user studies that contribute to the understanding of the benefits of direct-touch and bimanual input afforded by multitouch input. We then discuss how we leverage these benefits to create multitouch gestures for a professional content-creation application run on a large multitouch display. The differences between multitouch and mouse input also greatly affect the needs of an application developer. We lastly present a declarative multitouch framework that helps developers build and manage gestures that require the coordination of multiple fingers. In our first study, users select multiple targets with a mouse and with multitouch using one finger, two fingers (one from each hand), and any number of fingers. We find that the fastest multitouch interaction is about twice as fast as the mouse for selection. The direct-touch nature of multitouch accounts for 83% of the reduction in selection time. Bimanual interaction, using at least one finger on each hand, accounts for the remaining reduction. To further investigate bimanual interaction for making directional motions, we examine two-handed marking menus, bimanual techniques in which users make directional strokes to select menu items. We find that bimanually coordinating directional strokes is more difficult than making single strokes. But, with training, making strokes bimanually outperforms making strokes serially by 10-15%. Our user studies demonstrate that users benefit from multitouch input. However, little work has been done to determine how to design multitouch applications that leverage these benefits for professional content-creation tasks. We investigate using multitouch input for a professional-level task at Pixar Animation Studios. We work with a professional set construction artist to design and develop Eden, a multitouch application for building virtual organic sets for computer-animated films. The experience of the artist suggests that Eden outperforms Maya, a mouse and keyboard system currently used by set construction artists. We present a set of design guidelines that enabled us to create a gesture set that is both easy for the artist to remember and easy for the artist to perform. Eden demonstrates the viability of multitouch applications for improving real user workflows. However, multitouch applications are challenging to implement. Despite the differences between multitouch and mouse input, current multitouch frameworks follow the event-handling pattern of mouse-based frameworks. Tracking a single mouse cursor is relatively straightforward as mouse events are broken sequentially into the order in which they must occur: down, move, and up. For multitouch however, developers must meticulously track the proper sequence of touch events from multiple temporally overlapping touch streams using disparate event-handling callbacks. In addition, managing gesture sets can be tedious, as multiple gestures often begin with the same touch event sequence leading to gesture conflicts in which the user input is ambiguous. Thus, developers must perform extensive runtime testing to detect conflicts and then resolve them. We simplify multitouch gesture creation and management with Proton, a framework that allows developers to declaratively specify a gesture as a regular expression of customizable touch event symbols. Proton provides automatic gesture matching and the static analysis of gesture conflicts. We also introduce gesture tablature, a graphical gesture notation that concisely describes the sequencing of multiple interleaved touch events over time. We demonstrate the expressiveness of Proton with four proof-of-concept applications. Finally, we present a user study that indicates that users can read and interpret gesture tablature over four times faster than event-handling pseudocode. Multitouch applications require new design principles and tools for development. This dissertation addresses the challenges of designing gestures and interfaces that benefit from multiple parallel touch input and presents tools to help developers build and recognize these new multitouch gestures. This work serves to facilitate a wider adoption of multitouch interfaces. We conclude with several research directions for continuing the investigation of multitouch input.

[1]  Paul Milgram,et al.  Measuring the allocation of control in a 6 degree-of-freedom docking experiment , 2000, CHI.

[2]  Dan Olsen Building Interactive Systems: Principles for Human-Computer Interaction , 2009 .

[3]  Tony DeRose,et al.  Determining the benefits of direct-touch, bimanual, and multifinger input on a multitouch workstation , 2009, Graphics Interface.

[4]  Maneesh Agrawala,et al.  FingerGlass: efficient multiscale interaction on multitouch screens , 2011, CHI.

[5]  M. Sheelagh T. Carpendale,et al.  Shallow-depth 3d interaction: design and evaluation of one-, two- and three-touch techniques , 2007, CHI.

[6]  Pierre Dragicevic,et al.  Earpod: eyes-free menu selection using touch input and reactive audio feedback , 2007, CHI.

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

[8]  Philip L. Davidson,et al.  A screen-space formulation for 2D and 3D direct manipulation , 2009, UIST '09.

[9]  Ravin Balakrishnan,et al.  Symmetric bimanual interaction , 2000, CHI.

[10]  Daniel J. Wigdor,et al.  Combining and measuring the benefits of bimanual pen and direct-touch interaction on horizontal interfaces , 2008, AVI '08.

[11]  Dan R. Olsen,et al.  SYNGRAPH: A graphical user interface generator , 1983, SIGGRAPH.

[12]  Eric A. Bier Snap-dragging in three dimensions , 1990, I3D '90.

[13]  Laurent Grisoni,et al.  The design and evaluation of 3D positioning techniques for multi-touch displays , 2010, 2010 IEEE Symposium on 3D User Interfaces (3DUI).

[14]  H N Zelaznik,et al.  Spatial Conceptual Influences on the Coordination of Bimanual Actions: When a Dual Task Becomes a Single Task , 2001, Journal of motor behavior.

[15]  Tomer Moscovich,et al.  Contact area interaction with sliding widgets , 2009, UIST '09.

[16]  R. Ivry,et al.  Moving to Directly Cued Locations Abolishes Spatial Interference During Bimanual Actions , 2001, Psychological science.

[17]  Mike Wu,et al.  Multi-finger and whole hand gestural interaction techniques for multi-user tabletop displays , 2003, UIST '03.

[18]  Gudrun Klinker,et al.  Hand tracking for enhanced gesture recognition on interactive multi-touch surfaces , 2007 .

[19]  Bernd Fröhlich,et al.  The GlobeFish and the GlobeMouse: two new six degree of freedom input devices for graphics applications , 2006, CHI.

[20]  Tom G. Zimmerman,et al.  A hand gesture interface device , 1987, CHI '87.

[21]  Ravin Balakrishnan,et al.  The role of kinesthetic reference frames in two-handed input performance , 1999, UIST '99.

[22]  Ben Shneiderman,et al.  Direct Manipulation: A Step Beyond Programming Languages , 1983, Computer.

[23]  Andruid Kerne,et al.  ZeroTouch: an optical multi-touch and free-air interaction architecture , 2012, CHI.

[24]  Norbert Schnell,et al.  Continuous Realtime Gesture Following and Recognition , 2009, Gesture Workshop.

[25]  Meredith Ringel Morris Supporting Effective Interaction with Tabletop Groupware , 2006, First IEEE International Workshop on Horizontal Interactive Human-Computer Systems (TABLETOP '06).

[26]  William Buxton,et al.  When it gets more difficult, use both hands: exploring bimanual curve manipulation , 2005, Graphics Interface.

[27]  Björn Hartmann,et al.  Two-handed marking menus for multitouch devices , 2011, TCHI.

[28]  Robert J. K. Jacob,et al.  A software model and specification language for non-WIMP user interfaces , 1999, TCHI.

[29]  Ben Shneiderman,et al.  High Precision Touchscreens: Design Strategies and Comparisons with a Mouse , 1991, Int. J. Man Mach. Stud..

[30]  Tovi Grossman,et al.  The design and evaluation of multitouch marking menus , 2010, CHI.

[31]  Abigail Sellen,et al.  Two-handed input in a compound task , 1994, CHI Conference Companion.

[32]  Gordon Kurtenbach,et al.  The design and evaluation of marking menus , 1993 .

[33]  Tony DeRose,et al.  Toolglass and magic lenses: the see-through interface , 1993, SIGGRAPH.

[34]  Ravin Balakrishnan,et al.  Simple vs. compound mark hierarchical marking menus , 2004, UIST '04.

[35]  Charles L. A. Clarke,et al.  symSpline: symmetric two-handed spline manipulation , 2006, CHI.

[36]  B. Shneiderman,et al.  Improving the accuracy of touch screens: an experimental evaluation of three strategies , 1988, CHI '88.

[37]  Regan L. Mandryk,et al.  System Guidelines for Co-located, Collaborative Work on a Tabletop Display , 2003, ECSCW.

[38]  Shumin Zhai,et al.  Using strokes as command shortcuts: cognitive benefits and toolkit support , 2009, CHI.

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

[40]  Bell Telephone,et al.  Regular Expression Search Algorithm , 1968 .

[41]  Marvin Theimer,et al.  Cooperative Task Management Without Manual Stack Management , 2002, USENIX Annual Technical Conference, General Track.

[42]  Ravin Balakrishnan,et al.  The PadMouse: facilitating selection and spatial positioning for the non-dominant hand , 1998, CHI.

[43]  Yves Guiard,et al.  Evaluating two-handed input techniques: rectangle editing and navigation , 1999, CHI EA '99.

[44]  Frank Maurer,et al.  A domain specific language to define gestures for multi-touch applications , 2010, DSM '10.

[45]  Anthony Jameson,et al.  A single-user tabletop card game system for older persons: General lessons learned from an in-situ study , 2008, 2008 3rd IEEE International Workshop on Horizontal Interactive Human Computer Systems.

[46]  Antti Oulasvirta,et al.  It's Mine, Don't Touch!: interactions at a large multi-touch display in a city centre , 2008, CHI.

[47]  Maarten Verwaest,et al.  A Multi-Touch 3D Set Modeler for Drama Production , 2008 .

[48]  Gerald Penn,et al.  Living with a Tabletop: Analysis and Observations of Long Term Office Use of a Multi-Touch Table , 2007, Second Annual IEEE International Workshop on Horizontal Interactive Human-Computer Systems (TABLETOP'07).

[49]  Yang Li,et al.  Gesture coder: a tool for programming multi-touch gestures by demonstration , 2012, CHI.

[50]  Ravin Balakrishnan,et al.  Pressure widgets , 2004, CHI.

[51]  Jun Rekimoto,et al.  SmartSkin: an infrastructure for freehand manipulation on interactive surfaces , 2002, CHI.

[52]  Colin Ware,et al.  Using the bat: a six-dimensional mouse for object placement , 1988, IEEE Computer Graphics and Applications.

[53]  Xiang Cao,et al.  ShapeTouch: Leveraging contact shape on interactive surfaces , 2008, 2008 3rd IEEE International Workshop on Horizontal Interactive Human Computer Systems.

[54]  Robert J. K. Jacob,et al.  A Specification Language for Direct-Manipulation User Interfaces , 1986, ACM Trans. Graph..

[55]  Poika Isokoski,et al.  Comparison of two touchpad-based methods for numeric entry , 2002, CHI.

[56]  Tony DeRose,et al.  Eden: a professional multitouch tool for constructing virtual organic environments , 2011, CHI.

[57]  Dennis Proffitt,et al.  Cooperative bimanual action , 1997, CHI.

[58]  W. Prinz,et al.  Perceptual basis of bimanual coordination , 2001, Nature.

[59]  Xiang Cao,et al.  Detecting and leveraging finger orientation for interaction with direct-touch surfaces , 2009, UIST '09.

[60]  Yang Li,et al.  Gestures without libraries, toolkits or training: a $1 recognizer for user interface prototypes , 2007, UIST.

[61]  Eitan M. Gurari,et al.  Introduction to the theory of computation , 1989 .

[62]  Jo W. Tombaugh,et al.  Measuring the true cost of command selection: techniques and results , 1990, CHI '90.

[63]  Meredith Ringel Morris,et al.  Understanding users' preferences for surface gestures , 2010, Graphics Interface.

[64]  Brad A. Myers A new model for handling input , 1990, TOIS.

[65]  Ben Shneiderman,et al.  Selection devices for user of an electronic encyclopedia: An empirical comparison of four possibilities , 1988, Inf. Process. Manag..

[66]  Patrick Baudisch,et al.  Precise selection techniques for multi-touch screens , 2006, CHI.

[67]  Tony DeRose,et al.  Proton++: a customizable declarative multitouch framework , 2012, UIST.

[68]  Krzysztof Z. Gajos,et al.  SUPPLE: automatically generating user interfaces , 2004, IUI '04.

[69]  Charles L. A. Clarke,et al.  Bimanual and unimanual image alignment: an evaluation of mouse-based techniques , 2005, UIST '05.

[70]  D. Kammer,et al.  Taxonomy and Overview of Multi-touch Frameworks: Architecture, Scope and Features , 2010 .

[71]  Orit Shaer,et al.  A specification paradigm for the design and implementation of tangible user interfaces , 2009, TCHI.

[72]  Dennis Proffitt,et al.  Two-handed virtual manipulation , 1998, TCHI.

[73]  Michael J. McGuffin,et al.  FaST Sliders: Integrating Marking Menus and the Adjustment , 2002, Graphics Interface.

[74]  Darren Leigh,et al.  DiamondTouch: a multi-user touch technology , 2001, UIST '01.

[75]  Brad A. Myers,et al.  EdgeWrite: a stylus-based text entry method designed for high accuracy and stability of motion , 2003, UIST '03.

[76]  Mike Sinclair,et al.  Interaction and modeling techniques for desktop two-handed input , 1998, UIST '98.

[77]  Scott E. Hudson,et al.  Extensible input handling in the subArctic toolkit , 2005, CHI.

[78]  Caroline Appert,et al.  SwingStates: adding state machines to the swing toolkit , 2006, UIST.

[79]  Y. Guiard Asymmetric division of labor in human skilled bimanual action: the kinematic chain as a model. , 1987, Journal of motor behavior.

[80]  Daniel Vogel,et al.  Occlusion-aware interfaces , 2010, CHI.

[81]  Martin Hachet,et al.  tBox: a 3d transformation widget designed for touch-screens , 2011, CHI.

[82]  Takeo Igarashi,et al.  Boomerang: suspendable drag-and-drop interactions based on a throw-and-catch metaphor , 2007, UIST.

[83]  Scott E. Hudson,et al.  A framework for robust and flexible handling of inputs with uncertainty , 2010, UIST.

[84]  Mike Wu,et al.  Gesture registration, relaxation, and reuse for multi-point direct-touch surfaces , 2006, First IEEE International Workshop on Horizontal Interactive Human-Computer Systems (TABLETOP '06).

[85]  Paul K. Wright,et al.  Toolglasses, Marking Menus, and Hotkeys: A Comparison of One and Two-Handed Command Selection Techniques , 2004, Graphics Interface.

[86]  Robert J.K. Jacob Executable specifications for a human-computer interface , 1983, CHI '83.

[87]  D Goodman,et al.  On the coordination of two-handed movements. , 1979, Journal of experimental psychology. Human perception and performance.

[88]  Otmar Hilliges,et al.  Bringing physics to the surface , 2008, UIST '08.

[89]  Juan Pablo Hourcade,et al.  PyMT: a post-WIMP multi-touch user interface toolkit , 2009, ITS '09.

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

[91]  Thomas Grechenig,et al.  TwoStick: writing with a game controller , 2007, GI '07.

[92]  D Goodman,et al.  On the nature of human interlimb coordination. , 1979, Science.

[93]  Alan Esenther,et al.  Multi-user Multi-touch Games on DiamondTouch with the DTFlash Toolkit , 2005, INTETAIN.

[94]  Daniel Vogel,et al.  Shift: a technique for operating pen-based interfaces using touch , 2007, CHI.

[95]  Gilles Bailly,et al.  Flower menus: a new type of marking menu with large menu breadth, within groups and efficient expert mode memorization , 2008, AVI '08.

[96]  William Buxton,et al.  Chunking and Phrasing and the Design of Human-Computer Dialogues (Invited Paper) , 1995, IFIP Congress.

[97]  Meredith Ringel Morris,et al.  User-defined gestures for surface computing , 2009, CHI.

[98]  Mark W. Newman,et al.  Escape: a target selection technique using visually-cued gestures , 2008, CHI.

[99]  Daniel J. Wigdor,et al.  Direct-touch vs. mouse input for tabletop displays , 2007, CHI.

[100]  Songyang Lao,et al.  A gestural interaction design model for multi-touch displays , 2009, BCS HCI.

[101]  William Buxton,et al.  The limits of expert performance using hierarchic marking menus , 1993, INTERCHI.

[102]  Daniel J. Wigdor,et al.  Rock & rails: extending multi-touch interactions with shape gestures to enable precise spatial manipulations , 2011, CHI.

[103]  James D. Foley,et al.  Towards specifying and evaluating the human factors of user-computer interfaces , 1982, CHI '82.

[104]  Andy Cockburn,et al.  Analysing mouse and pen flick gestures , 2002, CHINZ '02.

[105]  Tony DeRose,et al.  Proton: multitouch gestures as regular expressions , 2012, CHI.

[106]  Ken Perlin,et al.  Quikwriting: continuous stylus-based text entry , 1998, UIST '98.

[107]  J. Kelso Phase transitions and critical behavior in human bimanual coordination. , 1984, The American journal of physiology.

[108]  William M. Newman,et al.  A system for interactive graphical programming , 1968, AFIPS Spring Joint Computing Conference.

[109]  William Buxton,et al.  User learning and performance with marking menus , 1994, CHI '94.

[110]  W. Buxton,et al.  A study in two-handed input , 1986, CHI '86.

[111]  Maneesh Agrawala,et al.  Text entry using a dual joystick game controller , 2006, CHI.

[112]  Elisabeth André,et al.  Usage and Recognition of Finger Orientation for Multi-Touch Tabletop Interaction , 2011, INTERACT.

[113]  Alan F. Blackwell,et al.  SWYN: a visual representation for regular expressions , 2001 .

[114]  Jefferson Y. Han Low-cost multi-touch sensing through frustrated total internal reflection , 2005, UIST.

[115]  Gudrun Klinker,et al.  A multitouch software architecture , 2008, NordiCHI.

[116]  Ken Perlin,et al.  The UnMousePad: an interpolating multi-touch force-sensing input pad , 2009, SIGGRAPH 2009.

[117]  Rainer Groh,et al.  Towards a formalization of multi-touch gestures , 2010, ITS '10.

[118]  塚田 浩二 Windows Phone のプログラミング , 2010 .

[119]  Sylvain Paris,et al.  6D hands: markerless hand-tracking for computer aided design , 2011, UIST.

[120]  Dafydd Gibbon,et al.  A computational model of arm gestures in conversation , 2003, INTERSPEECH.

[121]  Maneesh Agrawala,et al.  Zone and polygon menus: using relative position to increase the breadth of multi-stroke marking menus , 2006, CHI.