-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
-*-*-*-*-*-  THE GARNET USER INTERFACE DEVELOPMENT ENVIRONMENT  -*-*-*-*-*-*-
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-


Garnet is one of the most sophisticated User Interface Development
Environments in the world.  It helps implement highly-interactive,
graphical, direct manipulation programs for X/11 in Common Lisp.
Typical applications include: drawing programs such as Macintosh
MacDraw, user interfaces for expert systems and other AI applications,
box and arrow diagram editors, graphical programming languages, game
user interfaces, simulation and process monitoring programs, user
interface construction tools, CAD/CAM programs, etc.  

General features include:

* In the Public Domain.  No licensing restrictions!

* Coverage of the entire user interface, including the contents of the
application windows.

* Three high-level interactive design tools:
	- Gilt: an interface builder which allows widgets to be placed
	  with a mouse.
	- Lapidary: allows new widgets and application-specific
	  graphics to be designed using a mouse without programming.
	- C32: a spreadsheet interface for specifying constraints.

* Two complete widget sets: one with the Motif look-and-feel (the only
Motif widget set implemented in Lisp), and the other with a Garnet
look-and-feel.

* Independence from X/11 and its complexities, since programmers using
Garnet never make Xlib (CLX) calls or receive Xlib events.

* Object-oriented programming using a prototype-instance model. 

* Automatic constraint maintenance, so properties of objects can depend on
properties of other objects, and be automatically re-evaluated when the
other objects change.

* Automatic display management.

* Built-in, high-level input event handling.

* Support for gesture recognition, so innovative interfaces can be
investigated.

* Widgets for multi-font, multi-line, mouse-driven text editing.

* Optional automatic layout of application data into lists, tables, trees,
or graphs.

* Automatic generation of PostScript for printing.

* Support for large-scale applications and data visualization.

Garnet is implemented on top of the CLX interface to X/11, and works in
virtually any Common Lisp environment, including Allegro, Lucid, CMU, and
Harlequin Common Lisps on Sun, DEC, HP, Apollo, IBM 6000, and many other
machines.  Garnet does not use CLOS or any existing X toolkit (such as Xtk
or CLIM).  The toolkit comes with debugging tools, complete reference
manuals, and tutorials.  There are at least 30 projects all over the
world actively using Garnet today.

Garnet is being developed under a grant from DARPA, along with additional
industry support.  Papers about Garnet have appeared in OOPSLA (88, 92), SIGCHI
(89, 90, 91, 92), ACM TOIS (July 90), Visual Computer (Feb 92), and UIST (89,
91, 92).  An overview article is in the November 1990 issue of IEEE Computer
(pp. 71-85) and March 18, 1991 issue of Nikkei Electronics (pp. 187-205). 

Garnet is available for free by anonymous FTP.  To retrieve it, ftp to
a.gp.cs.cmu.edu (128.2.242.7).  When asked to log in, use "anonymous", and
your name as the password.  Then change to the garnet directory (note the
double garnet's) and get the README explanation file:
	ftp> cd /usr/garnet/garnet/
	ftp> get README
Now, follow the directions in the README file.

There is an international Usenet newsgroup for Garnet called
comp.windows.garnet.  If you can't read that, then send mail to
Garnet@cs.cmu.edu to be added to the mailing list.

Contact: Brad A. Myers
	 School of Computer Science
	 Carnegie Mellon University
	 Pittsburgh, PA  15213-3890
	 (412) 268-5150
	 garnet@cs.cmu.edu


/---------\						Generating an
\\--------\\						Amalgam of
 \\        \\						Real-time,
  \\        \\						Novel
   \\     G  \\  A     R     N     E     T		Editors and
    \\        \\					Toolkits
     \\        \\ 
      \\--------\\
       \_________/
