Order This Book | Authors | Contents | Web-Enhanced | Related Titles
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:
- Text and graphical editing
- Web browsing
- Computer-aided design
- Teaching programming to children
- Programming computer games
- Geographical information systems
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!"
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.
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