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. t
Delegation interfaces, direct manipulation, participatory theater, problem solving, visual programming, opportunistic design, spatial metaphors, temporal metaphors, agents, agentsheets, construction kits, human-computer interaction, object-oriented programming