Abstract
The Garnet toolkit was specifically designed to make highly interactive graphical programs easier to design and implement. Visual, interactive, user-interface design tools clearly fall into this category. At this point, we have used the Garnet toolkit to create three different interactive design tools: Gilt, a simple interface builder for laying out widgets; Lapidary, a sophisticated design tool for constructing application-specific graphics and custom widgets; and C32, a spreadsheet interface to constraints. The features of the Garnet toolkit that made these easier to create include use of a prototype-instance object system instead of the usual class-instance model, integration of constraints with the object system, graphics model that supports automatic graphical update and saving to disk of on-screen objects, separation of specifying the graphics of objects from their behavior, automatic layout of graphical objects in a variety of styles, and a widget set that supports such commonly used operations as selection, moving and growing objects, and displaying and setting their properties.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Barth P (1986) An object-oriented approach to graphical interfaces. ACM Trans Graph 5(2):142–172
Bennett WE, Boies SJ, Gould JD, Greene SL, Wiecha CF (1989) Transformations on a dialog tree: rule-based mapping of content to style. Proc. ACM SIGGRAPH Symposium on User Interface Software and Technology, Williamsburg, VA, pp 67–75
Borning A (1981) The programming language aspects of thinglab; a constraint-oriented simulation laboratory. ACM Trans on Progr Lang Syst 3(4):353–387
Borning A, Duisberg R (1986) Constraint-based tools for building user interfaces. ACM Trans Graph 5(4):345–374
Brown JR, Cunningham S (1989) Programming the user interface; principles and examples. John Wiley & Sons, New York
Buxton W, Lamb MR, Sherman D, Smith KC (1983) Towards a comprehensive user interface management system Proceedings SIGGRAPH'83, Detroit Comput Graph 17(3):35–42
Cardelli L (1988) Building user interfaces by direct manipulation. Proc ACM SIGGRAPH Symposium on User Interface Software, Banff, pp 152–166
Chambers C, Ungar D, Lee E (1989) An efficient implementation of SELF, a dynamically-typed object-oriented language based on prototypes. 49–70. ACM Conference on Object-Oriented Programming; Systems Languages and Applications. Sigplan Notices, 24(10)
Freeman-Benson BN, Maloney J, Borning A (1990) An incremental constraint solver. Commun ACM 33(1):54–63
Hartson HR, Hix D (1989) Human-computer interface development: concepts and systems for its management. Comput Surv 21(1):5–92
Henderson Jr DA (1986) The trillium user interface design environment. Human Factors in Computing Systems. Proc. SIGCHI'86, Boston, pp 221–227
Henry TR, Hudson SE (1988) Using active data in a UIMS. Proc. ACM SIGGRAPH Symposium on User Interface Software Banff, pp 167–178
Krasner GE, Pope ST (1988) A description of the model-viewcontroller user interface paradigm in the smalltalk-80 system. J Object Oriented Progr 1(3):26–49
Lieberman H (1986) Using prototypical objects to implement shared behavior in object oriented systems. ACM Conference on Object-Oriented Programming; Systems Languages and Applications. Sigplan Notices 21(11):214–223
Linton MA, Vlissides JM, Calder PR (1989) Composing user interfaces with Inter Views. IEEE Comput 22(2):8–22
Maulsby DL, Witten IH (1989) Inducing procedures in a directmanipulation environment. Human Factors in Computing Systems. Proc SIGCHI'89, Austin, pp 57–62
McCormack J, Asente P (1988) An overview of the X tooklit. Proceedings of the ACM SIGGRAPH Symposium on User Interface Software, Banff, pp 46–55
Myers BA (1988) Creating user interfaces by demonstration. Academic Press, Boston
Myers BA (1989a) User interface tools: introduction and survey. IEEE Software 6(1):15–23
Myers BA (1989b) Encapsulating interactive behaviors. Human Factors in Computing Systems. Proc. SIGCHI'89, Austin, pp 319–324
Myers BA, Vander Zanden B, Dannenberg RB (1989) Creating graphical interactive application objects by demonstration. Proc ACM SIGGRAPH Symposium on User Interface Software and Technology, Williamsburg, pp 95–104
Myers BA (1990a) Creating user interfaces using programming-by-example, visual programming, and constraints. ACM Trans Progr Lang Syst, 12(2):143–177
Myers BA (1990b) Demonstrational interfaces: a step beyond direct manipulation. Tech Rep CMU-CS-90-162, Carnegie Mellon University Computer Science Department
Myers BA (1990c) A new model for handling input. ACM Trans Inf Syst 8(3):289–320
Myers BA, Giuse DA, Dannenberg RB, Vander Zanden B, Kosbie DS, Pervin E, Mickish A, Marchal P (1990) Garnet: Comprehensive support for a graphical, highly-interactive user interfaces. IEEE Computer 23(11):71–85
Myers BA (1991a) Graphical techniques in a spreadsheet for specifying user interfaces. Human Factors in Computing Systems. Proc SIGCHI'91, New Orleans, pp 243–249
Myers BA (1991b) Separating application code from tooklits: eliminating the spaghetti of call-backs. Proc. ACM SIGGRAPH Symposium on User Interface Software, Hilton Head
Myers BA, Giuse D, Dannenberg RB, Vander Zanden B, Kosbie D, Marchal P, Pervin E, Mickish A, Kolojejchick JA (1991) The Garnet Toolkit reference manuals: support for highly-interactive, graphical user interfaces in Lisp. Tech Rep, CMU-CS-90-117-R, Carnegie Mellon University Computer Science Department
Schmucker KJ (1986) MacApp: an application framework. Byte 11(8):189–193
Singh G, Green M (1988) Designing the interface designer's interface. Proc ACM SIGGRAPH Symposium on User Interface Software, Banff, pp 109–116
Singh G, Green M (1989) A high-level user interface management system. Human Factors in Computing Systems. Proceedings SIGCHI'89, Austin, pp 133–138
Sutherland IE (1963) SketchPad: a man-machine graphical communication system. AFIPS Spring Joint Computer Conference 23:329–346
Szekely P (1990) Template-based mapping of application data to interactive displays. Proc ACM SIGGRAPH Symposium on User Interface Software, Snowbird, pp 1–9
Vander Zanden B (1989) Constraint grammars — a new model for specifying graphical applications. Human Factors in Computing Systems. Proceedings SIGCHI'89, Austin, pp 325–330
Vander Zanden B, Myers BA (1990) Automatic, look-and-feel independent dialog creation for graphical user interfaces. Human Factors in Computing Systems. Proceedings SIGCHI'90 Seattle, pp 27–34
Vander Zanden B, Myers BA (1991) Creating graphical interactive application objects by demonstration: the Lapidary interactive design tool. 12-minute videotape. SIGGRAPH Video Review Issue 64
Vander Zanden B, Myers BA, Giuse D, Szekely P (1991) The importance of indirect references in constraint models. Proc ACM SIGGRAPH Symposium on User Interface Software, Hilton Head
Vlissides JM, Linton MA (1989) Unidraw: a framework for building domain-specific editors. Proc ACM SIGGRAPH Symposium on User Interface Software and Technology. Williamsburg, pp 158–167
Wiecha C, Bennet W, Boies S, Gould J (1989) Generating user interfaces to highly interactive applications. Human Factors in Computing Systems. Proc SIGCHI'89, Austin, pp 277–282
Wilde N, Lewis C (1990) Spreadsheet-based interactive graphics: from prototype to tool. Human Factors in Computing Systems. Proceedings SIGCHI'90, Seattle, pp 153–159
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Myers, B.A., Vander Zanden, B. Environment for rapidly creating interactive design tools. The Visual Computer 8, 94–116 (1992). https://doi.org/10.1007/BF01900551
Issue Date:
DOI: https://doi.org/10.1007/BF01900551