Comprehensive Support for Graphical, Highly-Interactive User Interfaces: The Garnet User Interface Development Environment Brad A. Myers, Dario Giuse, Roger B. Dannenberg, Brad Vander Zanden, David Kosbie, Ed Pervin, Andrew Mickish, and Philippe Marchal IEEE Computer. Vol. 23, No. 11. November, 1990. pp. 71-85. Translated into Japanese and reprinted in Nikkei Electronics, No. 522, March 18, 1991, pp. 187-205. The Garnet User Interface Development Environment contains a comprehensive set of tools that make it significantly easier to design and implement highly-interactive, graphical, direct manipulation user interfaces. The lower layers of Garnet provide an object-oriented, constraint-based graphical toolkit that allows properties of graphical objects to be specified in a simple, declarative manner and then maintained automatically by the system. The dynamic, interactive behavior of the objects can be specified separately by attaching high-level ``interactor'' objects to the graphics. The higher layers of Garnet include an interface builder tool, called Lapidary, that allows the user interface designer to draw pictures of all graphical aspects of the user interface. Unlike other interface builders, Lapidary allows toolkit items, such as menus and scroll bars, to be created as well as used, and Lapidary also allows application-specific graphical objects (the contents of the application's window) to be created in a graphical manner. Other high level tools include an automatic dialog box and menu editor, and a spreadsheet program for specifying complex graphical constraints. This paper provides an overview of the entire Garnet system.