“A two-view approach to constructing user interfaces” by Avrahami, Brooks and Brown

  • ©Gideon Avrahami, Kenneth P. Brooks, and Marc H. Brown




    A two-view approach to constructing user interfaces



    This paper describes a system for constructing graphical user interfaces following a two-view paradigm: one view contains a textual representation of the interface in a special-purpose, “little” language, and the other view contains a direct manipulation, interactive editor for the user interface. The user interface can be edited in either view, and the changes are reflected in the other view. The language allows dialog boxes to be expressed in a simple and natural way, and has a well-defined mapping into the interactive editor. A base set of interactors is currently available, but the system can be easily extended with more interactors. We believe this approach to building user interfaces combines the advantages of the direct manipulation, WYSIWYG approach with the advantages of the textual, descriptive approach, and does not suffer from the limitations of either approach.


    1. Interface Builder. NEXT, Inc., Palo Alto, CA.
    2. Proto~per. SmetherBarnes, Portland, OR.
    3. Paul J. Asente. Editing Graphical Objects Using Procedural Representations. PhD thesis, Dept. of Computer Science, Stanford University, Stanford, CA, 1987. Also available as Research Report #87/6 from DEC Western Research Laboratory, 100 Hamilton Avenue, Palo Alto, CA 94301.
    4. Jon Bentley. Little Languages. Communications o.fthe ACM, 29(8):711-721, August 1986.
    5. Kenneth P. Brooks. A Two-view Document Editor with Userdefinable Document Structure. PhD thesis, Dept. of Computer Science, Stanford University, Stanford, CA, 1988. Also available as Research Report #33 from DEC Systems Research Center, t30 Lytton Avenue, Palo Alto, CA 94301.
    6. Luca Cardelli. Building User Interfaces by Direct Manipulation. In Proc. ACM SIGGRAPH Syrup. on User lntelface Software, pages 152-166, October 17-19 1988.
    7. H. Rex Hartson and Deborah Hix. Human-Computer Interface Development: Concepts and Systems. ACM Computing Sup’veys, 21 ( 1 ):5-92, March 1989.
    8. Paul HeckeI. A Technique for Isolating Differences Between Files. Communications of the ACM, 21(4):264-268, April 1978.
    9. Mark A. Linton, John M. Vlissides, and Paul R. Calder. Composing User Interfaces with InterViews. IEEE Computer, 22(2):8-22, February 1989.
    10. Mark S. Manasse and C. Greg Nelson. A Performance Analysis of a Multiprocessor Window System. Technical Report, DEC Systems Research Center, Palo Alto, CA, (to appear).
    11. Paul R. McJones and Garret F. Swart. Evolving the UNIX System Interface to Support Multithreaded Programs. In Proc. Winter 1989 USENIX Technical Conference, pages 393–404, USENIX Association, Berkeley, CA, 1989.
    12. Brad A. Myers. User-lnterface Tools: Introduction and Suvery. IEEE Software, 6( 1): 15-23, January 1989.
    13. Greg Nelson. Juno, a constraint-based graphics system. Computer Graphics, 19(3):235-243, July 1985.
    14. Paul Rovner. Extending Modula-2 To Build Large, Integrated Systems. IEEE Software, 3(6):46–57, November 1986.
    15. Andrew J. Schulert, George T. Rogers, and James A. Hamilton. ADM – A Dialog Manager. In Proc. ACM SIGCHI “85 Conf. on Human Factors in Computing Systems, pages 177- 183, April 1985.
    16. Charles P. Thacker, Lawrence C. Stewart, and Edwin H. Satterthwaite Jr. Firefly: A Multiprocessor Workstation. IEEE Transactions on Computers, 37(8):909-920, August 1988.

ACM Digital Library Publication: