The Amulet Environment: New Models for
Effective User Interface Software Development
Brad A. Myers, Rich McDaniel, Rob Miller,
Alan Ferrency, Patrick Doane, Andrew Faulring,
Ellen Borison, Andy Mickish, and Alex Klimovitski
November, 1996
CMU-CS-96-189
CMU-HCII-96-104
Human Computer Interaction Institute
School of Computer Science
Carnegie Mellon University
Pittsburgh, PA 15213-3891
bam@cs.cmu.edu
http://www.cs.cmu.edu/~amulet
Abstract
The Amulet user interface development environment makes it easier for
programmers to create highly-interactive, graphical user interface
software for Unix, Windows or Macintosh. Amulet uses new models for
objects, constraints, animation, input, output, commands, and undo.
The object system is a prototype-instance model in which there is no
distinction between classes and instances or between methods and data.
The constraint system allows any value of any object to be computed by
arbitrary code and supports multiple constraint solvers. Animations
can be attached to existing objects with a single line of code. Input
from the user is handled by "Interactor" objects which support reuse
of behavior objects. The output model provides a declarative
definition of the graphics, and supports automatic refresh. Command
objects encapsulate all of the information needed about operations,
including support for various ways to undo them. An key feature of
the Amulet design is that all graphical objects and behaviors of those
objects are explicitly represented at run-time, so the system can
provide a number of high-level built-in functions, including automatic
display and editing of objects, and external analysis and control of
interfaces. Amulet integrates these capabilities in a flexible and
effective manner.
Keywords:
Toolkits, User Interface Tools, User Interface Development Environments,
User Interface Management Systems (UIMSs).
Full paper available in
Postscript.