Abstract
An open question in the area of Programming by Demonstration (PBD) is how to best represent the inferred program. Without a way to view, edit, and share programs, PBD systems will never reach their full potential. We designed and implemented two graphical representation languages for a PBD desktop similar to the Apple Macintosh Finder. Although a user study showed that both languages enabled nonprogrammers to generate and comprehend programs, the study also revealed that the language that more closely reflected the desktop domain doubled users' abilities to accurately generate programs. Trends suggest that the same language was easier for users to comprehend. These findings suggest that it is possible for a PBD system to enable nonprogrammers to construct programs and that the form of the representation can impact the PBD system's effectiveness. A paper-and-pencil evaluation of the two versions of the PBD desktop prior to the study supported these finding and provided interesting feedback on the interaction between usability evaluations and user studies. In particular, the comparison of the paper-and-pencil evaluation with the empirical evaluation suggested that nonempirical evaluation techniques can provide guidance into how to interpret empirical data and, in particular, that PBD systems need to provide support for programming-strategy selection in order to be successful.
- BORG, K. 1989. Visual programming and UNIX. In the IEEE Workshop on Visual Languages. IEEE, New York, 74-79.Google Scholar
- BOTZUM, K. 1995. An empirical study of shell programs. Tech. Rep., Bell Communications Research.Google Scholar
- CUNNIFF, N. AND TAYLOR, R. P. 1987. Graphical vs. textual representation: An empirical study of novices' program comprehension. In Empirical Studies of Programmers: 2nd Workshop (Washington, D.C., Dec.). G. M. Olson, S. Sheppard, and E. Soloway, Eds. 114-131. Google Scholar
- CYPHER, A. 1991. EAGER: Programming repetitive tasks by example. In Proceedings of CHI '91 (New Orleans, La., Apr.). ACM, New York, 33-40. Google Scholar
- CYPHER, A. 1993. Watch What I Do: Programming by Demonstration. The MIT Press, Cambridge, Mass. Google Scholar
- GREEN, T. 1989. Cognitive dimensions of notations. In People and Computers V, A. Sutchiff and L. Macaulay, Eds. Cambridge University Press, Cambridge, Mass., 443-460. Google Scholar
- GREEN, T. 1991. Describing information artifacts with cognitive dimensions and structure maps. In People and Computers VI, D. Diaper and N. Hammonds, Eds. Cambridge University Press, Cambridge, Mass., 297-316.Google Scholar
- GREEN, T., PETRE, M., AND BELLAMY, R. 1991. Comprehensibility of visual and textual programs: A test of superlativism against the 'Match-Mismatch' conjecture. In Empirical Studies of Programmers: 4th Workshop. Ablex, Norwood, N.J.Google Scholar
- GREEN, T. R. G. ANn PETRE, M. 1994. Cognitive dimensions as discussion tools for programming language design. Tech. Rep., M. R. C. Applied Psychology Unit, Cambridge, England.Google Scholar
- HAEBERLI, P. 1988. ConMan: A visual programming language for interactive graphics. In ACM SIGGRAPH (Atlanta, Ga.). ACM, New York, 103-111. Google Scholar
- HALBERT, D.C. 1984. Programming by example. Ph.D. thesis, Computer Science Division, Univ. of California, Berkeley, Calif. Google Scholar
- HENRY, T. R. ANn HUDSON, S. E. 1988. Squish: A graphical shell for UNIX. In Graphics Interface. 43-49. Google Scholar
- JOVANOVIC, B. ANn FOLEY, J. D. 1986. A simple graphics interface to UNIX. Tech. Rep. GWU-IIST-86-23. Inst. for Information Science and Technology, The George Washington Univ., Washington, D.C.Google Scholar
- KURLANDER, D. ANn FEINER, S. 1988. Editable graphical histories. In the IEEE Workshop on Visual Languages (Pittsburgh, Pa., Oct.). IEEE, New York, 127-134.Google Scholar
- LIEBERMAN, H. 1992. Dominoes and storyboards: Beyond "Icons On Strings". In the IEEE Workshop on Visual Languages. IEEE, New York.Google Scholar
- MAULSBY, D. L., GREENBERG, S., AND MANDER, R. 1993. Prototyping an intelligent agent through Wizard of Oz. In Proceedings of InterCHI '93. 277-284. Google Scholar
- MAULSBY, D. L. AND WITTEN, I. H. 1989. Inducing programs in a direct-manipulation environment. In Proceedings of CHI '89 (Austin, Tex., Apr.). ACM, New York, 57-62. Google Scholar
- MODUGNO, F. 1995. Extending end-user programming in a visual shell with Programming by Demonstration and graphical language techniques. Ph.D. thesis, Tech. Rep. CMU-CS-95- 130. Carnegie Mellon Univ., Pittsburgh, Pa. Google Scholar
- MODUGNO, F., GREEN, T., AND MYERS, B.A. 1994. Visual programming in a visual domain: A case study of cognitive dimensions. In Proceedings of Human Computer Interaction '94. Google Scholar
- MOHER, T. B., MAK, D. C., BLUMENTHAL, B., AND LEVENTHAL, L.M. 1993. Comparing the comprehensibility of textual and graphical programs: The case of Petri Nets. In Empirical Studies of Programmers: 5th Workshop. Ablex, Norwood, N.J.Google Scholar
- MYERS, B.A. 1988. Creating User Interfaces by Demonstration. Academic Press, Boston, Mass. Google Scholar
- MYERS, B.A. 1992. Demonstrational interfaces: A step beyond direct manipulation. IEEE Comput. 25, 8 (Aug.), 61-73. Google Scholar
- MYERS, B. A., GUISE, D., DANNENBERG, R., VANDER ZANDEN, B., KOSBIE, D., PERVIN, E., MICKISH, A., AND MARCHAL, P. 1990. Garnet: Comprehensive support for graphical, highly-interactive user interfaces. IEEE Comput. 23, 11 (Nov.), 71-85. Google Scholar
- PETRE, M. 1995. Why looking isn't always seeing: Readership skills and graphical programming. Commun. ACM 38, 6 (June), 33-44. Google Scholar
- SHNEIDERMAN, B. 1983. Direct manipulation: A step beyond programming languages. Computer 16, 8 (Aug.), 57-69.Google Scholar
- SMITH, D., CYPHER, A., AND SPOHRER, J. 1994. Kidsim: Programming agents without a programming language. Commun. ACM 37, 7, 54-67. Google Scholar
- SMITH, D. C., IRBY, C., KIMBALL, R., AND HARSLEM, E. 1982. Designing the Star user interface. Byte 7, 4 (Apr.), 242-287.Google Scholar
Index Terms
- Graphical representation of programs in a demonstrational visual shell—an empirical evaluation
Recommendations
Pavlov: an interface builder for designing animated interfaces
Conventional interface builders provide little support for interactive development of interfaces with application-specific graphics. Some Programming by Demonstration (PBD) systems do provide such support, but none provide full support for demonstrating ...
Adding rule-based reasoning to a demonstrational interface builder
UIST '92: Proceedings of the 5th annual ACM symposium on User interface software and technologyThis paper presents a demonstrational interface builder with improved reasoning capabilities. The system is comprised of two major components: an interactive display manager and a rule-based reasoner. The display manager provides facilities to draw the ...
Visual design checklist for graphical user interface (GUI) evaluation
SAC '18: Proceedings of the 33rd Annual ACM Symposium on Applied ComputingThe1 Graphical User Interface (GUI) design is a major process within the software development lifecycle, because the GUI is the portion of the interface that will be in direct contact with the end-user. There are resources to help make the interface ...
Comments