Creating user interfaces by demonstration
Creating user interfaces by demonstration
Metamouse: specifying graphical procedures by example
SIGGRAPH '89 Proceedings of the 16th annual conference on Computer graphics and interactive techniques
Creating interactive techniques by symbolically solving geometric constraints
UIST '90 Proceedings of the 3rd annual ACM SIGGRAPH symposium on User interface software and technology
Druid: a system for demonstrational rapid user interface development
UIST '90 Proceedings of the 3rd annual ACM SIGGRAPH symposium on User interface software and technology
EAGER: programming repetitive tasks by example
CHI '91 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
A demonstrational technique for developing interfaces with dynamically created objects
UIST '91 Proceedings of the 4th annual ACM symposium on User interface software and technology
Adding rule-based reasoning to a demonstrational interface builder
UIST '92 Proceedings of the 5th annual ACM symposium on User interface software and technology
Inferring constraints from multiple snapshots
ACM Transactions on Graphics (TOG)
Watch what I do: programming by demonstration
Watch what I do: programming by demonstration
Grizzly Bear: a demonstrational learning tool for a user interface specification language
Proceedings of the 8th annual ACM symposium on User interface and software technology
Inference bear: designing interactive interfaces through before and after snapshots
Proceedings of the 1st conference on Designing interactive systems: processes, practices, methods, & techniques
Pavlov: programming by stimulus-response demonstration
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Programming by example: intelligence in demonstrational interfaces
Communications of the ACM
Semantics happen: knowledge building in spatial hypertext
Proceedings of the thirteenth ACM conference on Hypertext and hypermedia
A scalable method for deductive generalization in the spreadsheet paradigm
ACM Transactions on Computer-Human Interaction (TOCHI)
Recovering from errors during programming by demonstration
Proceedings of the 13th international conference on Intelligent user interfaces
Hi-index | 0.02 |
We present an inference engine that can be used for creating Programming By Demonstration systems. The class of systems addressed are those which infer a state change description from examples of state [9, 11].The engine can easily be incorporated into an existing design environment that provides an interactive object editor.The main design goals of the inference engine are responsiveness and generality. All demonstrational systems must respond quickly because of their interactive use. They should also be general—they should be able to make inferences for any attribute that the user may want to define by demonstration, and they should be able to treat any other attributes as parameters of this definition.The first goal, responsiveness, is best accommodated by limiting the number of attributes that the inference engine takes into consideration. This, however, is in obvious conflict with the second goal, generality.This conflict is intrinsic to the class of demonstrational system described above. The challenge is to find an algorithm which responds quickly but does not heuristically limit the number of attributes it looks at. We present such an algorithm in this paper.A companion paper describes Inference Bear [4], an actual demonstrational system that we have built using this inference engine and an existing user interface builder [5].