Abstract This paper describes a template-based method for construct-ing interactive displays with the building-blocks (widgets) provided in a user interface toolkit. Templates specify how to break down complex application objects into smaller pieces, specify the graphical components (widgets) to be used for displaying each piece, and specify their layout. Complex interfaces are constructed by recursively applying templates, thus constructing a tree of widgets to display a complex application object. The template-based method is more general than the interactive, WYSIWYG interface builders in that it can specify dynamic displays for applica-tion data that changes at run time. The template-based method also leads to more consistent, extendable and modi-fiable interfaces. 1.0 Introduction User interface toolkits such as the X Toolkit [10] and the Macintosh Tool-Box [5] provide abstractions that make the construction of user interfaces significantly easier than pro-gramming using graphics primitives. Unfortunately the toolkits do not make the construction of user interfaces easy enough. The tasks of assembling the widgets to construct complex displays, and of tying the widgets to application data structures remains difficult and time consuming.Interactive user interface builder systems such as Prototyper [14] provide interactive what-you-see-is-what-you-get in-terfaces to assemble tool-box widgets into more complex interfaces. These tools are excellent for a restricted class of interfaces, which typically includes only menus and dia-logue boxes. However, these tools do not help with the con-struction of the “main windows” of an application, which display application objects that typically change at run time.This paper describes a template-based method for assem-bling widgets into complex interfaces and tying them to ap-plication objects. Templates specify how to break down complex application objects into smaller pieces, specify the widgets to be used for displaying each piece, and specify their layout. Complex interfaces are constructed by recur-sively applying templates, thus constructing a tree of wid-gets to display a composite application object. The template-based method supports the construction of dynam-ic displays, and also encourages the design of consistent, extendable and modifiable interfaces.The paper is organized as follows. Section 2.0 presents an overview of a template-based UIMS named Humanoid, the High-level UIMS for Manufacturing Applications Needing Organized Iterative Development. Section 3.0 compares the template-based method with other methods, sections 4.0 and 5.0 describe the template-based method in detail, and fi-nally section 6.0 discusses our experience with Humanoid.
[1]
Roger B. Dannenberg,et al.
Creating graphical interactive application objects by demonstration
,
1989,
UIST '89.
[2]
Brad A. Myers,et al.
The Garnet toolkit reference manuals : support for highly-interactive, graphical user interfaces in Lisp
,
1989
.
[3]
Joel McCormack,et al.
An overview of the X toolkit
,
1988,
UIST '88.
[4]
Charles Wiecha,et al.
Transformations on a dialog tree: rule-based maping of content to style
,
1989,
UIST '89.
[5]
Stuart C. Shapiro,et al.
Automatic Construction of User-Interface Displays
,
1988,
AAAI.
[6]
Dan R. Olsen,et al.
MIKE: The Menu Interaction Kontrol Environment
,
1986,
ACM Trans. Graph..
[7]
Thomas W. Malone,et al.
Object lens: a “spreadsheet” for cooperative work
,
2018,
TOIS.
[8]
Jock D. Mackinlay,et al.
Automating the design of graphical presentations of relational information
,
1986,
TOGS.
[9]
Luca Cardelli,et al.
Building user interfaces by direct manipulation
,
1988,
UIST '88.
[10]
Robert M. MacGregor,et al.
A Deductive Pattern Matcher
,
1988,
AAAI.
[11]
Gurminder Singh,et al.
Chisel: a system for creating highly interactive screen layouts
,
1989,
UIST '89.