|
Abstract |
This paper describes how 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. Furthermore, 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. Five principles for the design of computational systems, originating from the programming as problem solving perception and the participatory theater metaphor, are enumerated. These principles are embodied in the Agentsheets system. Agentsheets is a substrate for constructing domain-oriented, dynamic, visual problem-solving environments. These environments consist of cooperating agents organized in temporal and spatial metaphors. The five principles are illustrated with examples from applications built using the Agentsheets substrate. |
|