[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

intent to package Amulet

(Note that I am not yet a Debian developer.)

I intend to package Amulet.  It is a GUI toolkit for X, Win32 and
MacOS.  I'll create two packages:


  /usr/libamulet-develop.so     developer's version of the library
  /usr/libamulet-develop.so.4   (with interactive manipulation features)
  /usr/include/                 includes
  /usr/doc/amulet/              developer documentation
  /usr/src/amulet/samples/      samples
  /usr/X11R6/bin/gilt           interactive GUI builder

I am not sure of how to handle the source packages. The upstream
version is split in source.tgz, docs.tgz, makefile-linux.tgz,
samples.tgz, gilt.tgz, ...  I will look into this. 

The source for libamulet.so is almost the same as the source for
libamulet-develop.so.  Will this have to be duplicated?


The Amulet research project in the School of Computer Science at
Carnegie Mellon University is creating a comprehensive set of tools
which make it significantly easier to create graphical,
highly-interactive user interfaces. The lower levels of Amulet are
called the `Amulet Toolkit,' and these provide mechanisms that allow
programmers to code user interfaces much more easily. 

The Amulet Toolkit is a portable toolkit designed for the creation of
2D direct manipulation grapical user interfaces. It is written in C++
and can be used with Unix systems running X Windows, PC's running
Microsoft Windows NT or `95, or Macintosh systems running MacOS.

The following texts are from the original design papers about Amulet.
Some of the more fancy features mentioned have not yet been

Amulet is a new user interface software environment for C++ to support
future user interface software research.  This environment, which will
be portable across X/11, Microsoft Windows, and the Macintosh, is
designed to be very flexible: parts can be replaced and new
technologies and widgets can be easily created and evaluated.
Built-in support will be provided for direct manipulation, multi-font
text editing, gesture recognition, speech recognition, 2-D and 3-D
animations, visualizations including maps and large data sets,
world-wide-web browsing and editing, and multiple people interacting
with the system at the same time (CSCW).  Another goal is to be useful
for students, which means that Amulet must be easy to learn.  Finally,
the system will provide sufficient performance, robustness and
documentation so it will be useful for general user interface

An important research objective of the Amulet project is to provide
high-level support for the insides of application programs.
Conventional toolkits like the Macintosh Toolbox and Unix Motif
provide a collection of widgets like menus, scroll-bars, buttons and
text input fields.  However, for graphical applications like drawing
editors, CAD programs, visual language editors, visualizations, and
charting programs, most of the programming for the user interface
deals with the contents of the graphic windows which do not contain
any widgets.  For these, programmers are left to program directly at
the window manager level, without much support.  In contrast, Amulet
will provide high-level support for these kinds of graphical
applications including automatic refresh of the graphics, widgets such
as selection handles to make interactive behaviors easy to handle, and
built-in editing commands, such as cut, copy, paste, pring, save, open
and undo, that can often be used directly from the library without

Another objective for Amulet is to explore the extensive use of
interactive tools that will allow most of the user interface to be
specified without conventional programming.  Our ultimate goal is to
allow the user interface designer to simply draw examples of the
graphics of the interface, and then demonstrate the interactive
behaviors to show how the interface should react to the user.  The
motivation for this is that whereas today's programming frameworks
such as MacApp, have demonstrated productivity gains of factors 2 to
5, interactive tools like HyperCard and interface builders like the
NeXT Interface Builder have demonstrated productivity gains of factors
10 to 50.  The various interactive tools in Garnet have demonstrated
that many parts of interfaces can be created interactively.  Amulet
will contain practical and useful tools that cover even more of the
interface than Garnet's.


Reply to: