“There’s more to menu systems than meets the screen” by Lieberman

  • ©Henry Lieberman




    There's more to menu systems than meets the screen



    Love playing with those fancy menu-based graphical user interfaces, but afraid to program one yourself for your own application? Do windows seem opaque to you? Are you scared of mice? Like what-you-see-is-what-you-get but don’t know how to get what you want to see on the screen?Everyone agrees using systems like graphical document illustrators, circuit designers, and iconic file systems is fun, but programming user interfaces for these systems isn’t as much fun as it should be. Systems like the Lisp Machines, Xerox D-Machines, and Apple Macintosh provide powerful graphics primitives, but the casual applications designer is often stymied by the difficulty of mastering the details of window specification, multiple processes, interpreting mouse input, etc.This paper presents a kit called EZWin, which provides many services common to implementing a wide variety of interfaces, described as generalized editors for sets of graphical objects. An individual application is programmed simply by creating objects to represent the interface itself, each kind of graphical object, and each command. A unique interaction style is established which is insensitive to whether commands are chosen before or after their arguments. The system anticipates the types of arguments needed by commands, preventing selection mistakes which are a common source of frustrating errors. Displayed objects are made “mouse-sensitive” only if selection of the object is appropriate in the current context. The implementation of a graphical interface for a computer network simulation is described to illustrate how EZWin works.


    1. Apple Documentation Group. lhside Mac. Apple Computer, Inc., 1984.]]
    2. Daniel Bobrow and Mark Stefik. The Loops Manual. Xerox Palo Alto Research Center, 1984.]]
    3. Eugene C. Ciccarelli. Presentation Based User Interfaces. Ph.D. Th., Massachusetts Institute of Technology, 1985.]]
    4. R. Davis and H. Shrobe. Representing structure and behavior of digital hardware. IEEE Computer 16, 10 (October 1983).]]
    5. William Finzer and Laura Gould. Programming by Rehearsal. Byte (June 1984).]]
    6. C. Fry. Flavors Band: An Environment for Processing Musical Scores. Conference of the Audio Engineering Society, Anaheim, California, 1985.]]
    7. Scott Kim. Viewpoint. Stanford University, 1984.]]
    8. Glenn Krasner. Smalltalk-80: User tnterface and Graphical Applications. Addison-Wesley, 1985.]]
    9. Henry Lieberman. Machine Tongues: Object Oriented Programming. Computer Music Journal (Fall 1982).]]
    10. Henry Lieberman. Constructing Graphical User Interfaces by Example. Graphics Interface Conference, Toronto, Canada, May, 1982.]]
    11. l-lenry Lieberman. An Object Oriented Simulator for the Apiary. National Conference on Artificial Intelligence, American Association for Artificial Intelligence, Washington, D. C., August, 1983.]]
    12. Larry Tesler. The Smalltalk Environment. Byte (August 1981).]]
    13. Daniel Weinreb, et. al. Lisp Machine Manual. Symbolies, Inc., Cambridge, Mass., 1984.]]
    14. F. Zdybel, N. Greenfeld, M. Yonke. An Information Presentation System. Proceedings of International Joint Conference on Artificial Intelligence, Vancouver, B. C., Canada, August, 1981.]]

ACM Digital Library Publication:

Overview Page: