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!"

Key Features

* 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.

Table of Contents

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-indepe


No. of pages:
© 2001
Morgan Kaufmann
Print ISBN:
Electronic ISBN:

About the editor

Henry Lieberman

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.

Affiliations and Expertise

Massachusetts Institute of Technology