The Use-Mention Perspective on Programming for the Interface¶
Randall B. Smith, David Ungar, and Bay-Wei Chang
In the past decade, direct manipulation interfaces have become commonplace. It is generally recognized that these interfaces succeed because they allow users to import intuitions from their real world experience. We believe that there are significant advantages to taking the physical world metaphor more seriously than does a typical direct-manipulation interface. In our work on ARK and on the interface for the language Self, we have concentrated on trying to portray a consistent, tangible reality: a user who subconsciously buys into this illusion does not have to bear the cognitive load associated with the conscious awareness of the interface. In this paper, we discuss the implications for programming that arise from taking the physical world analogy very seriously, particularly in regard to issues of use and mention. The task of programming is bound up in the issue of mention vs. use. For example, when programming for the direct manipulation context, one must have ways to mention buttons and menus without invoking (using) them. When modifying a button, one must talk about it, and is not then interested in firing it off. Programming for direct manipulation interfaces is commonly carried out in a textual language, in which use and mention are distinct. However, a direct manipulation interface is a physical-world analog, and we argue that use and mention are not distinguished by the physical world. We argue that passing from the user interface into the textual language will always be an ungraceful act, because the two domains are fundamentally different in how they handle use and mention. We claim that forcing a distinction between use and mention into the interface has serious and evil consequences. The solution we propose is to take the real world’s lack of distinction between use and mention seriously by providing programming capabilities within the direct manipulation paradigm in a way that is modeled on the physical world.
Languages for Developing User Interfaces, Brad A. Myers, ed., Jones and Bartlett Publishers, Boston, 1992, pp. 79-89.
(Not available online)