Creating User Interface Software

ARPA funded-research project in the
Human Computer Interaction Institute
School of Computer Science
Carnegie Mellon University

The Amulet User Interface Toolkit

Amulet is primarily funded by:
DARPA, sponsored by NCCOSC under Contract No. N66001-94-C-6037, Arpa Order No. B326. This is part of DARPA's Human Computer Interaction (HCI) Program.
Principal Investigator: Brad Myers
PhD Students: Rich McDaniel and Rob Miller
Undergraduate Student: Andrew Faulring
Visiting professor from Osaka University: Yoshihiro Tsujino
(Previous project members, and picture)

Project Summary

Amulet is a user interface development environment for C++ and is portable across X11, Microsoft Windows 95 and NT, and the Macintosh. Amulet helps you create graphical, interactive user interfaces for your software. More than just another free virtual toolkit, Amulet includes many features specifically designed to make the creation of highly-interactive, graphical, direct manipulation user interfaces significantly easier, including a prototype-instance object model, constraints, high-level input handling including automatic undo, and a full set of widgets.

1995-1996 Accomplishments

In the past year, we have been working on a number of interesting extensions of Amulet.
Version 2.0 was released, which provides support for gesture recognition including an example-based interactive editor for gestures, a hierarchical command-object model which supports selective undoing and repeating of operations, a high-level interactive inspector for debugging programs, and command objects and widgets for the insides of applications including support for selection handles and cut/copy/paste.

In addition, we worked on a number of exciting projects for future releases. An animation facility has been added to Amulet that allows the programmer to declare that any slot should be animated, and then it will smoothly change from its old to its new value whenever the slot is set. The Silk interactive sketching tool allows professional graphic designers to sketch early interfaces designs with a pen on a computer tablet, and the system recognizes widgets and will allow them to be operated while still sketchy, and converted into the real widgets when complete. This year, we added a "storyboard" feature to Silk to allow the behavior of the interface to be demonstrated. The Gamut interactive tool to create programs by demonstration was started this year. Gamut will allow many types of games, simulations, and educational software to be created entirely by demonstration.

We also started an Amulet interface to the ModSAF tactical map database. This is intended to be a front-end to the Exercise Editor from the Soar/IFOR project at the University of Michigan, and it allows waypoints and paths to be created quickly using gestures.

Future Plans

A primary goal for the 1997 fiscal year (1996-1997) is to add interactive tools to Amulet. We plan to add an interface builder, like Visual Basic, and to complete the Gamut and Silk tools. We will also be working on finishing and releasing the Animation Support, completing the ModSAF interface and map-based Exercise Editor, adding very small light-weight objects so Amulet can support the thousands of objects needed by many types of visualizations, and adding an interface from Amulet to the world-wide web.
Back to the
Amulet Home Page.
Maintained by: Brad Myers. Last modified 11-Jul-96