Date of Original Version
Abstract or Table of Contents
Custom interfaces, which we call appliances, allow users to efficiently carry out specialized tasks. Without one, a user is often required to perform repetitive mechanical steps using general purpose interfaces, which we call tools. Much research has attempted to enable non-programmers to create appliances for themselves.
We present a system in which a user can choose an example of the task behavior to be automated from a visualization of his past operations. The example is transformed into a visual language, using two simple rules to generalize from the single example to a class of tasks. The user can then edit this representation directly, or continue to refine the example using selective undo and redo. The visual representation can be transformed into an esthetically pleasing appliance by deleting irrelevant components, and rearranging, resizing, and relabeling other components. Restricting the domain to data analysis tasks enables a well-matched visual query language to be used. Appliance interactions are automatically provided by the underlying interactive visualization system in which the appliance is embedded.
An observational study suggests that this system represents a useful point on the ease-of-use vs. expressive power tradeoff appropriate for data analysis, and that the ability to choose and modify examples after the fact is helpful.