Your Wish is My Command: Giving Users the Power to Instruct Their Software, This new book with 19 articles on Programming by Example will be published later this year by Morgan Kaufmann. Read the introduction, foreward and Table of Contents, here. Also see the March 2000 Communications of the ACM for a preview.
Often, in computer interfaces, users wind up doing the same or similar sequences of operations over and over again in different situations. But if computers are so good at repetition, why is it that the users are the ones who keep repeating things?
Programming by example [or "programming by demonstration"*] is a technique for teaching the computer new behavior by demonstrating actions on concrete examples. The system records user actions and generalizes a program that can be used in new examples.
*(We decided to call this page "Programming by Example", but "Programming by Demonstration" is also used to designate this research area.
Henry Lieberman
lieber@media.mit.edu