SATIN: a toolkit for informal ink-based applications

Software support for making effective pen-based applications is currently rudimentary. To facilitate the creation of such applications, we have developed SATIN, a Java-based toolkit designed to support the creation of applications that leverage the informal nature of pens. This support includes a scenegraph for manipulating and rendering objects; support for zooming and rotating objects, switching between multiple views of an object, integration of pen input with interpreters, libraries for manipulating ink strokes, widgets optimized for pens, and compatibility with Java's Swing toolkit. SATIN includes a generalized architecture for handling pen input, consisting of recognizers, interpreters, and multi-interpreters. In this paper, we describe the functionality and architecture of SATIN, using two applications built with SATIN as examples.

[1]  M. Weiser,et al.  An empirical comparison of pie vs. linear menus , 1988, CHI '88.

[2]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

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

[4]  Bill N. Schilit,et al.  Dynomite: a dynamically organized ink and audio notebook , 1997, CHI.

[5]  Ellen Yi-Luen Do,et al.  Ambiguous intentions: a paper-like interface for creative design , 1996, UIST '96.

[6]  Eric Saund,et al.  A perceptually-supported sketch editor , 1994, UIST '94.

[7]  Karon Weber,et al.  Marquee: a tool for real-time video logging , 1994, CHI '94.

[8]  James A. Landay,et al.  Interactive sketching for the early stages of user interface design , 1995, CHI '95.

[9]  Satoshi Matsuoka,et al.  Pegasus: a drawing system for rapid geometric design , 1998, CHI Conference Summary.

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

[11]  Matthew T. Nelson Java Foundation Classes , 1998 .

[12]  Takeo Igarashi,et al.  Flatland: new dimensions in office whiteboards , 1999, CHI '99.

[13]  Bill N. Schilit,et al.  Beyond paper: supporting active reading with free form digital ink annotations , 1998, CHI.

[14]  Dean Rubine,et al.  The automatic recognition of gestures , 1992 .

[15]  Gregory D. Abowd,et al.  Personalizing the capture of public experiences , 1999, UIST '99.

[16]  Gregory D. Abowd,et al.  Providing integrated toolkit-level support for ambiguity in recognition-based interfaces , 2000, CHI.

[17]  Scott E. Hudson,et al.  Ultra-lightweight constraints , 1996, UIST '96.

[18]  Andrew S. Forsberg,et al.  The music notepad , 1998, UIST '98.

[19]  Benjamin B. Bederson,et al.  Jazz: An Extensible 2D+Zooming Graphics Toolkit in Java , 1999 .

[20]  Dan Shafer,et al.  The power of PenPoint , 1991 .

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

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

[23]  Steve Whittaker,et al.  A preliminary analysis of the products of HCI research, using Pro Forma abstracts , 1994, CHI Conference Companion.

[24]  Peter Johnson,et al.  PatchWork: a software tool for early design , 1998, CHI Conference Summary.

[25]  Bay-Wei Chang,et al.  Animation: from cartoons to the user interface , 1993, UIST '93.

[26]  Thomas P. Moran,et al.  Implicit structure for pen-based systems within a freeform interaction paradigm , 1995, CHI '95.

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

[28]  Thomas P. Moran,et al.  Pen-based interaction techniques for organizing material on an electronic whiteboard , 1997, UIST '97.

[29]  RubineDean Specifying gestures by example , 1991 .

[30]  James D. Hollan,et al.  Pad++: a zooming graphical interface for exploring alternate interface physics , 1994, UIST '94.

[31]  Takeo Igarashi,et al.  An architecture for pen-based interaction on electronic whiteboards , 2000, AVI '00.

[32]  John Lasseter,et al.  Principles of traditional animation applied to 3D computer animation , 1987, SIGGRAPH.

[33]  Axel Kramer,et al.  Translucent patches—dissolving windows , 1994, UIST '94.

[34]  Roger B. Dannenberg,et al.  Garnet: comprehensive support for graphical, highly interactive user interfaces , 1990, Computer.

[35]  Gregory D. Abowd,et al.  Investigating the capture, integration and access problem of ubiquitous computing in an educational setting , 1998, CHI.

[36]  Axel Kramer Dynamic interpretations in translucent patches: representation-based applications , 1996, AVI '96.

[37]  Brad A. Myers,et al.  Reusable hierarchical command objects , 1996, CHI.

[38]  James A. Landay,et al.  NotePals: lightweight note sharing by the group, for the group , 1999, CHI '99.

[39]  Pradeep Singh,et al.  Microsoft Windows for Pen Computing , 1992, IFIP Congress.

[40]  Marti A. Hearst Sketching intelligent systems , 1998 .

[41]  Christian Heide Damm,et al.  Tool support for cooperative object-oriented design: gesture based modelling on an electronic whiteboard , 2000, CHI.

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

[43]  James A. Landay,et al.  Making Sharing Pervasive: Ubiquitous Computing for Shared Note Taking , 1999, IBM Syst. J..