Bay-Wei Chang, David Ungar, and Randall B. Smith
Current visual programming environments make use of views and tools to present objects. These view-focused environments provide great functionality at the expense of distancing the objects behind the intermediary layers of views and tools. We propose the object-focused model, which attempts to foster the notion that objects themselves are directly available for interaction. Unique, directly manipulable representations of objects make them immediate, and basing functionality on the object rather than on extrinsic tools makes them the primary loci of action. But although immediacy and primacy contribute to the sense of concreteness of the objects, discarding conventional views and tools potentially restrict the functionality of the environment. Fortunately, by being extremely faithful to the notion of concreteness of objects, two principles emerge that allow object-focused environments to match the functionality of view-focused environments. The principle of availability makes functionality of objects accessible across contexts, and the principle of liveliness allows objects to participate in multiple contexts while retaining concreteness. All these elements help make objects seem more real in the object- focused environment, hopefully lessening some of the cognitive burden of programming by reducing the distance between the programmer’s mental model of objects and the environment’s representation of objects. Programmers can get the sense that the objects on the screen are the objects in the program, and thus can think about working with objects rather than manipulating the environment.
In Visual Object-Oriented Programming, Margaret Burnett, Adele Goldberg, and Ted Lewis, eds., Prentice-Hall, 1995, pp. 185-198.