A K Peters' page for this book.
Or you can order it on-line. For example:
In addition, user interface designers are increasingly realizing that it is important to provide a high degree of end-user customization. In many cases, it would be ideal to allow end users to create their own applications. In a sense, this is what spreadsheets allow, since they can be "programmed" by their users. The success of spreadsheets shows that end users can learn to program, and that environments that support end-user programming can be successful.
At the SIGCHI conference in New Orleans in May, 1991, twenty leaders of the field got together in a workshop to discuss the future of languages for programming user interface software, and for end-user programming. These twenty were chosen from over 60 people who applied. The goal of the workshop was to discuss what types of computer languages would be appropriate in the future, and begin collaborations on creating these languages. This book contains the results of those discussions.
First, Chapter 1 presents an overview of the topic, and a summary of previous work. The first day of the workshop was spent with talks from the attendees. Chapters 2 through 18 contain the written papers that accompanied their talks. During the second day of the workshop, we broke into three groups to discuss various issues in depth. Chapters 19 through 21 report on the group results. Naturally, we discovered more issues than we resolved, and Chapter 22 contains a summary of the issues that were raised. We hope this will be seen as a challenge to future language designers.
In the user interface community, this book should be of interest to creators of toolkits, UIMSs and other user interface tools, as well as people creating end-user applications that want to provide end-user customization. In the programming language community, language designers would find this book useful, since future programmers will need to write modern user interfaces with their languages.
1. Introduction, Brad A. Myers
2. The User Interface Is The Language, Michael Dertouzos
3. A Component Architecture for Personal Computer Software, David Canfield Smith and Joshua Susser
4. Design Support Environments for End Users, Mark Guzdial, Peri Weingrad, Robert Boyle, and Elpot Soloway
5. The Use-Mention Perspective on Programming for the Interface, Randall B. Smith, David Ungar, and Bay-Wei Chang
6. Why the User Interface Is Not the Programming Language - and How It Can Be, James R. Cordy
7. How Programming Languages Might Better Support User Interface Tools, Scott Hudson
8. Requirements for User Interface Programming Languages, Gurminder Singh
9. Languages for the Construction of Multi-User Multi-Media Synchronous (MUMMS) Applications, Ralph D. Hill
10. Ideas from Garnet for Future User Interface Programming Languages, Brad A. Myers
11. Constraint Imperative Programming Languages for Building Interactive Systems, Bjorn N. Freeman-Benson and Alan Borning
12. An Active-Value-Spreadsheet Model for Interactive Languages, Brad Vander Zanden
13. Properties of User Interface Systems and the Siri Programming Language, Bruce Horn
14. A Foundation for User Interface Construction, Emden R. Gansner and John H. Reppy
15. User Interface Programming with Cooperative Processes, Toshiyuki Masui
16. Constructing User Interfaces with Functions and Temporal Constraints, T.C. Nicholas Graham
17. Different Languages for Different Development Activities: Behavioral Representation Techniques for User Interface Design, H. Rex Hartson, Jeffrey L. Brandenburg, and Deborah Hix
18. Hints on the Design of User Interface Language Features - Lessons from the Design of Turing, James R. Cordy
19. Report of the "End-User Programming" Working Group, Brad A. Myers, David Canfield Smith, and Bruce Horn
20. Report of the "User/Programmer Distinction" Working Group, Mark Guzdial, John Reppy, and Randall Smith
21. Report of the "Linguistic Support" Working Group, James R. Cordy, Ralph D. Hill, Gurminder Singh, and Brad Vander Zanden
22. Future Research Issues in Languages for Developing User Interfaces, T.C. Nicholas Graham