skip to main content
Skip header Section
Creating user interfaces by demonstrationJune 1988
Publisher:
  • Academic Press Professional, Inc.
  • 525 B Street Suite 1900 San Diego, CA
  • United States
ISBN:978-0-12-512305-1
Published:01 June 1988
Pages:
276
Skip Bibliometrics Section
Bibliometrics
Abstract

No abstract available.

Cited By

  1. ACM
    Leiva L, Martín-Albo D and Plamondon R (2015). Gestures à Go Go, ACM Transactions on Intelligent Systems and Technology, 7:2, (1-29), Online publication date: 22-Jan-2016.
  2. ACM
    Lü H and Li Y Gesture studio Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (257-266)
  3. Unluturk M, Kurtel K and Atay C Host frame user interface and its architecture Proceedings of the 14th WSEAS international conference on Computers: part of the 14th WSEAS CSCC multiconference - Volume I, (95-102)
  4. ACM
    Creswick E and Novstrup A Error-tolerant version space algebra Proceedings of the 15th international conference on Intelligent user interfaces, (305-308)
  5. Lutteroth C Automated reverse engineering of hard-coded GUI layouts Proceedings of the ninth conference on Australasian user interface - Volume 76, (65-73)
  6. Macías J and Paternò F (2008). Customization of Web applications through an intelligent environment exploiting logical interface descriptions, Interacting with Computers, 20:1, (29-47), Online publication date: 1-Jan-2008.
  7. Macías J and Castells P (2007). Providing end-user facilities to simplify ontology-driven web application authoring, Interacting with Computers, 19:4, (563-585), Online publication date: 1-Jul-2007.
  8. ACM
    Müller H and Wiesinger F Modelling "user understanding" in simple communication tasks Proceedings of the international workshop in conjunction with AVI 2006 on Context in advanced interfaces, (39-43)
  9. Macías J and Castells P Finding iteration patterns in dynamic web page authoring Proceedings of the 2004 international conference on Engineering Human Computer Interaction and Interactive Systems, (164-178)
  10. ACM
    Lee G, Kim G and Park C Modeling virtual object behavior within virtual environment Proceedings of the ACM symposium on Virtual reality software and technology, (41-48)
  11. ACM
    Cooperstock J, Fels S, Buxton W and Smith K (1997). Reactive environments, Communications of the ACM, 40:9, (65-73), Online publication date: 1-Sep-1997.
  12. ACM
    Gross M and Do E Ambiguous intentions Proceedings of the 9th annual ACM symposium on User interface software and technology, (183-192)
  13. ACM
    Wolber D Pavlov Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (252-259)
  14. ACM
    Frank M, Sukaviriya P and Foley J Inference bear Proceedings of the 1st conference on Designing interactive systems: processes, practices, methods, & techniques, (167-175)
  15. ACM
    Frank M and Foley J A pure reasoning engine for programming by demonstration Proceedings of the 7th annual ACM symposium on User interface software and technology, (95-101)
  16. ACM
    Maes P (1994). Agents that reduce work and information overload, Communications of the ACM, 37:7, (30-40), Online publication date: 1-Jul-1994.
  17. ACM
    Myers B and Olsen D User interface tools Conference Companion on Human Factors in Computing Systems, (421-422)
  18. ACM
    Myers B, Goldstein J and Goldberg M Creating charts by demonstration Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (106-111)
  19. ACM
    Frank M and Foley J Model-based user interface design by example and by interview Proceedings of the 6th annual ACM symposium on User interface software and technology, (129-137)
  20. ACM
    Myers B, McDaniel R and Kosbie D Marquise Proceedings of the INTERACT '93 and CHI '93 Conference on Human Factors in Computing Systems, (293-300)
  21. ACM
    Kozierok R and Maes P A learning interface agent for scheduling meetings Proceedings of the 1st international conference on Intelligent user interfaces, (81-88)
  22. ACM
    Hashimoto O and Myers B Graphical styles for building interfaces by demonstration Proceedings of the 5th annual ACM symposium on User interface software and technology, (117-124)
  23. ACM
    Miyashita K, Matsuoka S, Takahashi S, Yonezawa A and Kamada T Declarative programming of graphical interfaces by visual examples Proceedings of the 5th annual ACM symposium on User interface software and technology, (107-116)
  24. ACM
    Kurlander D and Feiner S A history-based macro by example system Proceedings of the 5th annual ACM symposium on User interface software and technology, (99-106)
  25. ACM
    Fisher G, Busse D and Wolber D Adding rule-based reasoning to a demonstrational interface builder Proceedings of the 5th annual ACM symposium on User interface software and technology, (89-97)
  26. ACM
    Bos E Some virtues and limitations of action inferring interfaces Proceedings of the 5th annual ACM symposium on User interface software and technology, (79-88)
  27. ACM
    Myers B, Giuse D and Zanden B (2019). Declarative programming in a prototype-instance system, ACM SIGPLAN Notices, 27:10, (184-200), Online publication date: 31-Oct-1992.
  28. ACM
    Myers B, Giuse D and Zanden B Declarative programming in a prototype-instance system Conference proceedings on Object-oriented programming systems, languages, and applications, (184-200)
  29. ACM
    Kurlander D and Feiner S Interactive constraint-based search and replace Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (609-618)
  30. ACM
    Hill R The abstraction-link-view paradigm Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (335-342)
  31. ACM
    Myers B and Rosson M Survey on user interface programming Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (195-202)
  32. ACM
    Maulsby D Prototyping an instructible interface Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (153-154)
  33. Maulsby D, Witten I, Kittlitz K and Franceschin V (2018). Inferring graphical procedures, Human-Computer Interaction, 7:1, (47-89), Online publication date: 1-Mar-1992.
  34. ACM
    Wolber D and Fisher G A demonstrational technique for developing interfaces with dynamically created objects Proceedings of the 4th annual ACM symposium on User interface software and technology, (221-230)
  35. ACM
    Myers B Separating application code from toolkits Proceedings of the 4th annual ACM symposium on User interface software and technology, (211-220)
  36. ACM
    Zanden B, Myers B, Giuse D and Szekely P The importance of pointer variables in constraint models Proceedings of the 4th annual ACM symposium on User interface software and technology, (155-164)
  37. ACM
    Foley J (2019). Future directions in user-computer interface software, ACM SIGOIS Bulletin, 12:2-3, (289-297), Online publication date: 1-Nov-1991.
  38. ACM
    Marchionini G and Sibert J (1991). An agenda for human-computer interaction: science and engineering serving human needs, ACM SIGCHI Bulletin, 23:4, (17-32), Online publication date: 1-Oct-1991.
  39. ACM
    Foley J Future directions in user-computer interface software Proceedings of the conference on Organizational computing systems, (289-297)
  40. ACM
    Kaltenbach M, Robillard F and Frasson C Screen management in hypertext systems with rubber sheet layouts Proceedings of the third annual ACM conference on Hypertext, (91-105)
  41. ACM
    Baecker R, Mantei M, Buxton W and Fiume E The University of Toronto dynamic graphics project Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (467-468)
  42. ACM
    Myers B, Cypher A, Maulsby D, Smith D and Shneiderman B Demonstrational interfaces Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (393-396)
  43. ACM
    Myers B Text formatting by demonstration Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (251-256)
  44. ACM
    Myers B Graphical techniques in a spreadsheet for specifying user interfaces Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (243-249)
  45. ACM
    Cypher A EAGER Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (33-39)
  46. ACM
    Singh G, Kok C and Ngan T Druid: a system for demonstrational rapid user interface development Proceedings of the 3rd annual ACM SIGGRAPH symposium on User interface software and technology, (167-177)
  47. ACM
    Zanden B and Myers B Automatic, look-and-feel independent dialog creation for graphical user interfaces Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (27-34)
  48. ACM
    Myers B, Zanden B and Dannenberg R Creating graphical interactive application objects by demonstration Proceedings of the 2nd annual ACM SIGGRAPH symposium on User interface software and technology, (95-104)
  49. ACM
    Maulsby D, Witten I and Kittlitz K (2019). Metamouse: specifying graphical procedures by example, ACM SIGGRAPH Computer Graphics, 23:3, (127-136), Online publication date: 1-Jul-1989.
  50. ACM
    Maulsby D, Witten I and Kittlitz K Metamouse: specifying graphical procedures by example Proceedings of the 16th annual conference on Computer graphics and interactive techniques, (127-136)
  51. ACM
    Myers B (2019). Encapsulating interactive behaviors, ACM SIGCHI Bulletin, 20:SI, (319-324), Online publication date: 1-Mar-1989.
  52. ACM
    Myers B Encapsulating interactive behaviors Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (319-324)
  53. ACM
    Szekely P and Myers B (2019). A user interface toolkit based on graphical objects and constraints, ACM SIGPLAN Notices, 23:11, (36-45), Online publication date: 1-Nov-1988.
  54. ACM
    Szekely P and Myers B A user interface toolkit based on graphical objects and constraints Conference proceedings on Object-oriented programming systems, languages and applications, (36-45)
Contributors
  • Carnegie Mellon University

Recommendations

Reviews

John L. Bennett

Peridot is a new experimental tool for creating visual user interfaces without programming. The interface designer draws the screen that the user will see, performs sample user actions, and gives examples of typical values. Peridot infers how the constructed parts will interact, checks these inferences with the designer to be sure they are valid, and produces parametrized procedures that can be called from application programs. The program is implemented in Interlisp-D on a Xerox 1109, and Myers has used it to duplicate many of the interaction techniques found in the Macintosh Toolbox. The work, as documented in this outstanding book, makes major research contributions to the evolving area of user interface management systems (UIMSs). Though based on doctoral work done over several years at the University of Toronto, this book provides depth of insight, quality of design, and explanatory value far beyond what you might expect to find in a typical thesis. Peridot integrates techniques of visual programming, programming by example, constraints, and plausible inference in a masterful demonstration of skilled design tradeoffs. The book will be useful to a wide variety of people. The cross-references throughout the book and the detailed index will be helpful to both casual and intensive readers, and the comprehensive illustrations provide an essential visual perspective. As a reviewer I have prior familiarity with UIMS work, but I have not constructed a UIMS. Thus, I can interpret and appreciate the contribution of the work, but I cannot provide a point-by-point critique of details. One of the merits of this book is that Myers himself is refreshingly candid and thorough throughout the book in stating explicitly the limits of what he has accomplished and in making cogent suggestions for extensions needed. Chapter 1 provides a valuable and well-written tutorial by defining terms, outlining the motivation for a UIMS, listing problems with existing UIMS designs, and setting out the goals and design principles for Peridot. The specific contributions of the Peridot work are listed here (and repeated in chapter 15 as a conclusion). Chapter 2 gives a 23-page, critical, in-depth review of related work and indicates the specific problems addressed by Peridot. These two chapters alone will be worth the price of the book to a reader who wants to gain a compact, insightful, and comprehensive review of the field with pointers to sources for more detail. Chapter 3 provides an overview of the scope of Peridot through the use of an extended example. Chapters 4 through 9, written in an easy-to-read modular form, discuss the authors accomplishments in addressing a range of difficult problems: :9BEstablishing graphical constraints between objects (e.g., string centering within a rectangle even though the rectangle changes shape) and simple though effective inferencing (to guess what these constraints should be), Visual editing of graphic objects (e.g., erasing, copying, and changing dependencies), Specifying iterations (e.g., formatting menu items after the first two in a list have been laid out on the screen), Using conditionals (e.g., to control visibility or shading of constructed objects when they are shown on the screen to users), Using active values as an efficient, easy-to-understand way of controlling displayed objects at run time (e.g., object position can be set by the mouse or by an application procedure), and Handling the mouse (e.g., design decisions that allow the mouse interactions to be programmed by demonstration). Only the mouse, a clock, and a custom-built slider box are currently supported as input devices at run time. Myers indicates in chapter 10 how other input devices could be integrated to allow additional multiple, concurrent user-device interactions. After the interface is designed, the system can write out procedures to be called by an Interlisp application at run time. As chapter 11 points out, some environment-specific constraints are present, and an extension to Peridot is needed in order to read procedures back in for further editing. Such a detail would be of most interest to Interlisp users, but the author, as he does throughout the book, states the problem in such a way that the issues become general for the implementer of a UIMS in other environments. The closing chapters compare the Peridot results in visual programming and example-based programming with the challenges outlined in chapter 2, describing future work that could extend the Peridot ideas. Myers makes important points about the value of iterative design techniques that include the user as part of the design cycle. In one informal experiment he compared the time it took him and a novice Peridot user to construct example menus with the time it took others using tools familiar to them. What took Myers and the novice 4 and 15 minutes, respectively, took five expert programmers from 11-2- to 8 hours to accomplish. While Myers recognizes that these results are hardly conclusive, he is justified in citing them as evidence of the productivity gains that may be available with the use of the techniques embodied in Peridot. In another small test, five experienced programmers and five nonprogrammers who had some computer experience used the system for about 11-2- hours one-on-one with Myers so that he could guide the learning process (no users manual or online help is available). This helped him to understand what it would be like for other people to construct simple menus of their own design with the system. I applaud Myerss reports of empirical testing and his acknowledgment of the design refinements he made to the Peridot user interface as a result of this experience. But the after-the-fact small trials were done too late to have any real influence on the design—a situation all too common in computer science practice. This reader wonders, however, if Myers might not have had some major design insights if he had involved users as an essential part of the design process rather than as an apparent afterthought. Tools such as Peridot that are now becoming available make such user-in-the-loop design procedures increasingly feasible in computer science. I recommend this as a milestone book by a knowledgeable author in a field important for rapid evolution toward more usable computer applications.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.