Providing a software framework for capturing procedural knowledge from demonstrations, by recording the steps users take when performing procedures, combining multiple recordings and producing executable procedures that can be re-executed or disseminated.
There are currently three vehicles for disseminating procedural knowledge:
- Programs include traditional applications, scripts and macros. They are typically easy to use and can guide users through complex tasks, but suffer from high development costs, ongoing maintenance expenses and brittleness.
- Documentation can be disseminated through hardcopy and in electronic form, and provides a complete view of the procedure. It can be inspected and understood by people. However, documentation has high development costs and can quickly become obsolete.
- Word-of-mouth
The Main Functionalities of the Personal Wizards Architecture
The goal of the Personal Wizards project is to develop a new approach for capturing procedural knowledge that has most of the advantages of both programs and documentation and overcomes many of their disadvantages.
The core technology of Personal Wizards is programming by demonstration and machine learning. To automatically construct executable procedures, Personal Wizards observes one or more users perform the procedure, records the actions and the system reactions, and collects information that describes the content of the screen and the configuration of the computer system. It then combines the recordings of multiple executions of the same procedure into an executable procedure model by segmenting each recording into a sequence of actions that can be easily understood, aligning these sequences (i.e., identifying equivalent steps), and generalizing the aligned steps (i.e., explaining the differences in terms of state of the computer system and of the applications with which the user interacts). The executable procedure can be dynamically constructed and updated by adding new recordings.
The result of this learning process is procedure that can be executed, inspected and distributed. The Personal Wizards execution engine loads an executable procedure and takes a snapshots of the contents of the screen. Based on this information, it decides which steps to take. After taking each step, the execution engine observes the result of the action before deciding which action to take next. The user is allowed to take over at any point, in which case the execution engine observes the user actions, records them, and tries to match them to the existing procedure. While the matching is successful, the user can allow the execution engine to continue at any point. When the execution engine cannot decide what action to take, for example when it encounters a situation that cannot be generalized from the recorded demonstrations, it can request the user to take over the execution.
The Personal Wizards approach can reduce the cost of acquiring procedural knowledge by minimizing the need for actual programming or for writing documentation. Since the executable procedure model can be dynamically updated by adding new recordings, the approach also reduces the cost of maintaining the model and the risk of obsolescence. During execution, the system makes decisions based on the actual content of the screen, and can ask the user to take over, thereby reducing the brittleness that characterizes macros and scripts. Finally, the execution framework allows for a seamless mixed-initiative mode, where the user can both take over and relinquish the control of the execution at any given point, which sets this approach apart from traditional programs, scripts and macro recorders.
Related Publications
Lawrence Bergman, Tessa A. Lau, Vittorio Castelli and Daniel A. Oblinger. Programming-by-Demonstration for Behavior-Based User Interface Customization. Workshop on Behavior-based User Interface Customization at IUI 2004 - Intelligent User Interfaces. January 2004.
Lawrence Bergman, Tessa Lau, Vittorio Castelli and Daniel Oblinger. Personal Wizards: collaborative end-user programming. Workshop on End User Development, CHI 2003, Fort Lauderdale, FL. April 2003.
Tessa Lau, Daniel A. Oblinger, Lawrence Bergman, Vittorio Castelli and Corin Anderson. Learning Procedures for Autonomic Computing. Workshop on AI and Autonomic Computing (IJCAI 2003 - Eighteenth International Joint Conference on Artificial Intelligence). IBM, April 2003.
Tessa A. Lau, Lawrence Bergman, Vittorio Castelli and Daniel A. Oblinger. Sheepdog: Learning Procedures for Technical Support. IUI 2004 - Intelligent User Interfaces. ACM, October 2003.





