1 results
8 - Visual Programming in a Visual Domain: A Case Study of Cognitive Dimensions
-
- By Francesmary Modugno, Carnegie Mellon University, 5000 Forbes Ave, Pittsburgh, PA 15213, USA, T R G Green, MRC Applied Psychology Unit, 15 Chaucer Road, Cambridge CB2 2EF, UK, Brad A Myers, Carnegie Mellon University, 5000 Forbes Ave, Pittsburgh, PA 15213, USA
- Gilbert Cockton, University of Glasgow, Stephen Draper, University of Glasgow, George R. S. Weir, University of Strathclyde
-
- Book:
- People and Computers
- Published online:
- 04 August 2010
- Print publication:
- 15 September 1994, pp 91-108
-
- Chapter
- Export citation
-
Summary
We present a new visual programming language and environment that serves as a form of feedback and representation in a Programming by Demonstration system. The language differs from existing visual languages because it explicitly represents data objects and implicitly represents operations by changes in data objects. The system was designed to provide non-programmers with programming support for common, repetitive tasks and incorporates some principles of cognition to assist these users in learning to use it. With this in mind, we analyzed the language and its editor along cognitive dimensions. The assessment provided insight into both strengths and weaknesses of the system, prompting a number of design changes. This demonstrates how useful such an analysis can be.
Keywords: cognitive dimensions, end-user programming, programming by demonstration, visual language, visual shell, Pursuit.
Introduction
A visual shell (or desktop) is a direct manipulation interface to a file system. Examples include the Apple Macintosh desktop and the Xerox Star. Although such systems are easy to use, most do not support end-user programming. Pursuit is a visual shell aimed at providing programming capabilities in a way that is consistent with the direct manipulation paradigm.
To enable users to construct programs, Pursuit contains a Programming by Demonstration (PBD) system (Cypher, 1993). In a PBD system, users execute actions on real data and the underlying system attempts to construct a program (Myers, 1991). Such systems have limitations: feedback is often difficult to understand, disruptive or non-existent; and programs often have no representation for users to examine or edit. Pursuit addresses these problems by presenting the evolving program in a visual language while it is being constructed.