Splitting the Difference: Exploring the Middle Ground in User Interface Design
Sarah Douglas, Eckehard Doerry, David Novick
Committee:
Technical Report(Jun 1990)
Keywords:

The concept of interface construction kits has become become firmly established and well-accepted in recent years. Through both their popularity and the perceptions of their users, they seem to offer solutions to the programming complexity created by introducing user interface operations into traditional programming languages. We argue in this paper that an understanding of the productivity gain afforded by construction kits must be shaped by separating programming language from programming environment.

We also argue that abstraction and the creation of high-level languages, particularly object-oriented ones, reduce programming complexity. We note that when languages soive for abstraction they also strive for generality, thus losing programming power and expressiveness. Our own research, the QUICK user interface construction kit extends this research by exploring the middle ground in language abstraction. Our use of the prototype model of object-oriented languages rather than the class-based system is a relatively unique contribution.

We also describe characteristics of user interface construction kit programming environments making a distinction between weak direct manipulation environments and strong ones. Weak environments essentially support the program text as the object of interest and allow text object, menu and dialog box selection of programming language components. Structure editors are an elaborate version of this. QUICK is definitely a weak direct manipulation environment. Strong direct manipulation environments feature elements of visual programming and progrnmming by demonstration. QUICK is also a strong direct manipulation environment, allowing the programmer to continuously display the product user interface and directly specify programming constructs by positioning and movement of those objects. We also note that The concept of interface construction kits has become become firmly established and well-accepted in recent years. Through both their popularity and the perceptions of their users, they seem to offer solutions to the programming complexity created by introducing user interface operations into traditional programming languages. We argue in this paper that an understanding of the productivity gain afforded by construction kits must be shaped by separating programming language from programming environment.

We also argue that abstraction and the creation of high-level languages, particularly object-oriented ones, reduce programming complexity. We note that when languages soive for abstraction they also strive for generality, thus losing programming power and expressiveness. Our own research, the QUICK user interface construction kit extends this research by exploring the middle ground in language abstraction. Our use of the prototype model of object-oriented languages rather than the class-based system is a relatively unique contribution.

We also describe characteristics of user interface construction kit programming environments making a distinction between weak direct manipulation environments and strong ones. Weak environments essentially support the program text as the object of interest and allow text object, menu and dialog box selection of programming language components. Structure editors are an elaborate version of this. QUICK is definitely a weak direct manipulation environment. Strong direct manipulation environments feature elements of visual programming and progrnmming by demonstration. QUICK is also a strong direct manipulation environment, allowing the programmer to continuously display the product user interface and directly specify programming constructs by positioning and movement of those objects. We also note that some programming environments allowed rapid switches between programming and testing. This supports the concept of rapid prototyping in design. QUICK is one such system.