SATIN - Research
Overview
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
Motivation
Sketching and writing are natural activities in many settings.
Using pen and paper, a person can quickly write down ideas, as well as draw rough
pictures and diagrams, deferring details until later. The informal nature
of pens allows people to focus on their task without having to worry about precision.
However, although more and more computing devices are coming equipped with
pens, there are few useful pen-based applications out there that take advantage
of the fact that pens are good for sketching. Most applications use
pens only for selecting, tapping, and dragging. These applications simply
treat the pen as another pointing device, ignoring its unique affordances.
Furthermore, the few compelling applications that do exist are built from
scratch, despite the fact that many of them share the same kinds of
functionality. This is because of the rudimentary software support for creating
pen-based applications. Despite the fact that many new and useful pen-based
interaction techniques have been developed, such as gesturing and pie menus
[5], these techniques have not yet been widely adopted because they are
difficult and time-consuming to implement.
With respect to input and output for pens, we are at a stage similar to
that of windowing toolkits in the early 1980s. Many example applications
and many novel techniques exist, but there are no cohesive frameworks
to support the creation of effective pen-based applications. As a first
step towards such a framework, we have developed SATIN, a toolkit for
supporting the creation of informal ink-based applications. From a
high-level perspective, there were three research goals for SATIN:
-
Design a generalized software architecture for informal pen-based
applications, focusing on how to handle sketching and gesturing in a reusable manner
-
Develop an extensible toolkit that simplifies the creation of such
informal pen-based apps
- Distribute this toolkit for general use by researchers
|