Graphical representation of programs in a demonstrational visual shell—an empirical evaluation

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.

[1]  Allen Cypher,et al.  EAGER: programming repetitive tasks by example , 1991, CHI.

[2]  Paul E. Haeberli,et al.  ConMan: a visual programming language for interactive graphics , 1988, SIGGRAPH.

[3]  Francesmary Modugno Extending end-user programming in a visual shell with programming by demonstration and graphical lan , 1995 .

[4]  Marian Petre,et al.  Why looking isn't always seeing: readership skills and graphical programming , 1995, CACM.

[5]  Eric Harslem,et al.  Designing the STAR User Interface , 1987, ECICS.

[6]  Kjell Borg,et al.  Visual programming and UNIX , 1989, [Proceedings] 1989 IEEE Workshop on Visual Languages.

[7]  James C. Spohrer,et al.  KidSim: programming agents without a programming language , 1994, CACM.

[8]  Thomas R. G. Green,et al.  Cognitive dimensions of notations , 1990 .

[9]  Daniel C. Halbert,et al.  Programming by Example , 2010, Encyclopedia of Machine Learning.

[10]  Nancy Cunniff,et al.  Graphical vs. textual representation: an empirical study of novices' program comprehension , 1987 .

[11]  Roger B. Dannenberg,et al.  Garnet: comprehensive support for graphical, highly interactive user interfaces , 1990, Computer.

[12]  Subhash C. Kak Data Security in Computer Networks: Guest Editor's Introduction , 1983, Computer.

[13]  Ian H. Witten,et al.  Inducing programs in a direct-manipulation environment , 1989, CHI '89.

[14]  Henry Lieberman,et al.  Watch what I do: programming by demonstration , 1993 .

[15]  Steven K. Feiner,et al.  Editable graphical histories , 1988, [Proceedings] 1988 IEEE Workshop on Visual Languages.

[16]  Ben Shneiderman,et al.  Direct Manipulation: A Step Beyond Programming Languages , 1983, Computer.

[17]  Brad A. Myers,et al.  Creating user interfaces by demonstration , 1988 .

[18]  Brad A. Myers,et al.  Demonstrational interfaces: A step beyond direct manipulation , 1992, Computer.

[19]  Henry Lieberman Dominoes and storyboards beyond 'icons on strings' , 1992, Proceedings IEEE Workshop on Visual Languages.

[20]  Brad A. Myers,et al.  Visual Programming in a Visual Domain: A Case Study of Cognitive Dimensions , 1994, BCS HCI.

[21]  Tyson R. Henry,et al.  Squish: a graphical shell for UNIX , 1989 .

[22]  Saul Greenberg,et al.  Prototyping an intelligent agent through Wizard of Oz , 1993, INTERCHI.