Foreword Ben Shneiderman
Introduction Henry Lieberman
1) Novice Programming Comes of Age David Canfield Smith, Allen Cypher, Larry Tesler
2) Generalizing by Removing Detail: How Any Program Can Be Created by Working with Examples Ken Kahn
3) Demonstrational Interfaces: Sometimes You Need a Little Intelligence; Sometimes You Need a Lot Brad A. Myers, Richard McDaniel
4) Web Browsing by Demonstration Atsushi Sugiura
5) Programming by Demonstration for Information Agents Mathias Bauer, Dietmar Dengler, Gabriele Paul
6) End Users and GIS: A Demonstration is Worth a Thousand Words Carol Traynor and Marian Williams
7) Bring Programming by Demonstration to CAD Users Patrick Girard
8) Demonstrating the Hidden Features That Make an Application Work Richard McDaniel
9) A reporting tool using programming by example for format designation Tetsuya Masuishi and Nobuo Takahashi
10) Composition by Example Toshiyuki Masui
11) Learning Repetitive Text-editing Procedures with SMARTedit Tessa Lau, Steve Wolfman, Pedro Domingos and Daniel S. Weld
12) Training Agents to Recognize Text by Example Henry Lieberman, Bonnie A. Nardi and David J. Wright
13) SWYN: A Visual Representation for Regular Expressions Alan Blackwell
14) Learning Users' Habits to Automate Repetitive Tasks Jean-David Ruvini and Christophe Dony
15) Domain-independent programming by demonstration in existing applications Gordon W. Paynter and Ian H. Witten
16) Stimulus-Response PBD: Demonstrating When as Well as What David Wolber and Brad A. Myers
17) Pavlov: Where PBD Meets Macromedia's Director David Wolber
18) Programming by Analogous Examples Alexander Repenning and Corrina Perrone-Smith
19) Visual Generalization in Programming by Example Robert St. Amant, Henry Lieberman, Richard Potter, and Luke Zettlemoyer
As user interface designers, software developers, and yes-as users, we all know the frustration that comes with using "one size fits all" software from off the shelf. Repeating the same commands over and over again, putting up with an unfriendly graphical interface, being unable to program a new application that you thought of yourself-these are all common complaints. The inflexibility of today's computer interfaces makes many people feel like they are slaves to their computers. Shouldn't it be the other way around? Why can't technology give us more "custom-fitting" software?
On the horizon is a new technology that promises to give ordinary users the power to create and modify their own programs. Programming by example (PBE) is a technique in which a software agent records a user's behavior in an interactive graphical interface, then automatically writes a program that will perform that behavior for the user.
Your Wish is My Command: Programming by Example takes a broad look at this new technology. In these nineteen chapters, programming experts describe implemented systems showing that PBE can work in a wide variety of application fields. They include the following:
The renowned authors and their editor believe that PBE will some day make it possible for interfaces to effectively say to the user, "Your wish is my command!"
- Text and graphical editing
- Web browsing
- Computer-aided design
- Teaching programming to children
- Programming computer games
- Geographical information systems
Professionals involved in the areas of HCI and AI, designers of complex systems and programming environments including researchers and software developers specializing in agent technology.
- No. of pages:
- © Morgan Kaufmann 2001
- 26th February 2001
- Morgan Kaufmann
- eBook ISBN:
Henry Lieberman has been a Research Scientist at the MIT Media Laboratory since 1987. From 1972 until 1987, he was a researcher at the MIT Artificial Intelligence Laboratory. His work focuses on the intersection of artificial intelligence and the human interface. Dr. Lieberman began his career with Seymour Papert and the group behind the educational language Logo. A member of the Software Agents group, he holds a doctoral-equivalent degree from the University of Paris-VI and has published over fifty papers on a wide variety of research topics.
Massachusetts Institute of Technology