Visual Programming

ion gradient What are the minimum and maximum levels of abstraction? Can fragments be encapsulated? Closeness of mapping What ‘programming games’ need to be learned? Consistency When some of the language has been learnt, how much of the rest can be inferred? Diffuseness How many symbols or graphic entities are required to express a meaning? Error-proneness Does the design of the notation induce ‘careless mistakes’? Hard mental operations Are there places where the user needs to resort to fingers or penciled annotation to keep track of what’s happening? Hidden dependencies Is every dependency overtly indicated in both directions? Is the indication perceptual or only symbolic? Premature commitment Do programmers have to make decisions before they have the information they need? Progressive evaluation Can a partially-complete program be executed to obtain feedback on “How am I doing”? Role-expressiveness Can the reader see how each component of a program relates to the whole? Secondary notation Can programmers use layout, color, or other cues to convey extra meaning, above and beyond the ‘official’ semantics of the language? Viscosity How much effort is required to perform a single change? Visibility Is every part of the code simultaneously visible (assuming a large enough display), or is it at least possible to compare any two parts side-by-side at will? If the code is dispersed, is it at least possible to know in what order to read it? Table 1: The cognitive dimensions. A concrete application of the cognitive dimensions is representation design benchmarks [24], a set of quantifiable measurements that can be made on a VPL’s static representation. The benchmarks are of three sorts: (1) binary (yes/no) measurements reflecting the presence (denoted S p) f the elements of a static representation S, (2) measurements of the extent of characteristics (denoted S c) in a VPL’s static representation, or (3) number of user navigational actions (denoted NI) required to navigate to an element of the static representation if it is not already on the screen. The benchmarks are given in Table 2.

[1]  Marian Petre,et al.  Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework , 1996, J. Vis. Lang. Comput..

[2]  Genny Tortora,et al.  Automatic parser generation for pictorial languages , 1993, Proceedings 1993 IEEE Symposium on Visual Languages.

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

[4]  Frederick Hayes-Roth,et al.  Rule-based systems , 1985, CACM.

[5]  Steven L. Tanimoto,et al.  VIVA: A visual language for image processing , 1990, J. Vis. Lang. Comput..

[6]  Margaret M. Burnett,et al.  Scaling Up Visual Programming Languages , 1995, Computer.

[7]  Kim Marriott,et al.  On the Classification of Visual Languages by Grammar Hierarchies , 1997, J. Vis. Lang. Comput..

[8]  M. Erwig,et al.  Semantics of visual languages , 1997, Proceedings. 1997 IEEE Symposium on Visual Languages (Cat. No.97TB100180).

[9]  Bonnie A. Nardi,et al.  A Small Matter of Programming: Perspectives on End User Computing , 1993 .

[10]  David Kurlander,et al.  Chimera: example-based graphical editing , 1993 .

[11]  Louis Weitzman,et al.  Visual grammars and incremental parsing for interface languages , 1990, Proceedings of the 1990 IEEE Workshop on Visual Languages.

[12]  Ed Baroth,et al.  Visual programming in the real world , 1995 .

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

[14]  Piero Mussio,et al.  Visual conditional attributed rewriting systems in visual language specification , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[15]  Margaret M. Burnett,et al.  Representation Design Benchmarks: A Design-Time Aid for VPL Navigable Static Representations , 1997, J. Vis. Lang. Comput..

[16]  Kirsten N. Whitley Visual Programming Languages and the Empirical Evidence For and Against , 1997, J. Vis. Lang. Comput..

[17]  James D. Hollan,et al.  Direct Manipulation Interfaces , 1985, Hum. Comput. Interact..

[18]  Margaret Burnett,et al.  A bug's eye view of immediate visual feedback in direct-manipulation programming systems , 1997, ESP '97.

[19]  Brad A. Myers,et al.  Evaluating program representation in a demonstrational visual shell , 1995, CHI '95.

[20]  Ted G. Lewis,et al.  Visual Object-Oriented Programming: Concepts and Environments , 1995 .

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

[22]  Philip T. Cox,et al.  Prograph: a step towards liberating programming from textual conditioning , 1989, [Proceedings] 1989 IEEE Workshop on Visual Languages.

[23]  Margaret M. Burnett,et al.  Is it easier to write matrix manipulation programs visually or textually? An empirical study , 1993, Proceedings 1993 IEEE Symposium on Visual Languages.