Programming as problem solving: a participatory theater approach

Spatial and temporal metaphors can play an important role in making the task of programming serve problem-solving processes. Visual programming research hopes to capitalize on innate human perceptual skills to make the programming task easier by using visualization to simplify program construction at the syntactic level. Instead, we advocate that the role of visualizations, and the consequent use of spatial metaphors, is not to simplify programming per se but instead to support the problem-solving process. To that end, environments endorsing spatial metaphors should support: creating and changing external representations of the problem, and opportunistic design strategies necessary for exploring problem spaces. We discuss problems with human-computer interaction schemes arising from the use of temporal metaphors. Direct-manipulation, on the one hand, can be too direct for controlling a number of autonomous processes such as cooperating agents. The complete delegation of tasks to agents, on the other hand, can leave users entirely in the role of passive observers. We propose a new approach, called the participatory theater metaphor, which combines the advantages of human computer interaction schemes based on direction manipulation and delegation and provides users with a continuous spectrum of control over their program behaviors.

[1]  G. Lakoff,et al.  Metaphors We Live By , 1980 .

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

[3]  Alexander Repenning,et al.  Using Agentsheets to create a voice dialog design environment , 1992, SAC '92.

[4]  D. Schoen,et al.  The Reflective Practitioner: How Professionals Think in Action , 1985 .

[5]  Peter Szolovits,et al.  Research directions in computer science: an MIT perspective , 1991 .

[6]  Donald A. Schön The reflective practitioner : how professionals think in action , 1986 .

[7]  Thomas W. Mastaglio,et al.  The role of critiquing in cooperative problem solving , 1991, TOIS.

[8]  Michael R. Genesereth,et al.  Logical foundations of artificial intelligence , 1987 .

[9]  Thomas W. Mastaglio,et al.  Using critics to empower users , 1990, CHI '90.

[10]  G. Lakoff,et al.  Metaphors We Live by , 1982 .

[11]  Alexander Repenning,et al.  Agentsheets: a tool for building domain-oriented dynamic, visual environments , 1993 .

[12]  Gerhard Fischer,et al.  Empowering designers with integrated design environments , 1991 .

[13]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[14]  Tamara Sumner,et al.  Iterative design of a voice dialog design environment , 1992, CHI '92.

[15]  T.R.G. Green,et al.  Programming Languages as Information Structures , 1990 .

[16]  Alexander Repenning,et al.  Creating user interfaces with Agentsheets , 1991, [Proceedings] 1991 Symposium on Applied Computing.

[17]  Mitchel Resnick,et al.  Beyond the centralized mindset-explorations in massively-parallel microworlds , 1992 .

[18]  Seymour Papert,et al.  The Children's Machine , 1993 .

[19]  Bonnie A. Nardi,et al.  Beyond Models and Metaphors: Visual Formalisms in User Interface Design , 1993, J. Vis. Lang. Comput..