Evaluating program representation in a demonstrational visual shell

For Programming by Demonstration (PBD) systems to reach their full potential, some way of representing programs is necessary so that programs can be viewed, edited and shared. How to represent programs, especially in a way that is easy for non-programmers to understand, is an open question. We designed and implemented two representation languages for a PBD desktop similar to the Apple Macintosh Finder. The first language is based on the comic-strip metaphor and graphically depicts the effects of a program on data. The second language is text-based and describes the actions of a program. A user study revealed that both languages enabled non-programmers generate and comprehend programs containing loops, variables and conditionals. Moreover, the study revealed that the comic-strip language doubled users’ abilities to accurately generate programs. Trends suggest that the same language was also easier for users to comprehend. These findings suggest that it is possible for a PBD system to enable non-programmers to construct programs and that the form of the representation can impact the PBD system’s effectiveness.

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

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

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

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

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

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

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

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

[9]  Kjell Borg IShell: a visual UNIX shell , 1990, CHI '90.

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

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

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

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

[14]  Henry Lieberman,et al.  Mondrian: a teachable graphical editor , 1993, INTERCHI.

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