“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. ”