Using the multi-layer model for building interactive graphical applications

Most interactive graphical applications that use direct manip- ulation are built with low-level libraries such as Xlib because the graphic and interaction models of higher-level toolkits such as Motif are not extensible. This results in high de- sign, development and maintenance costs and encourages the development of stereotyped applications based on buttons, menus and dialogue boxes instead of direct manipulation of the applications objects. There have been several attempts to provide high level tools for building such applications, including popular toolkits such as Garnet [26], Unidraw [33], Fresco [21, 32] and Open- Inventor [28]. Unfortunately, these tools are not adapted to the development of sophisticated graphical editors because of their lack of extensibility: In this article we argue that these drawbacks come from the fact that high-level toolkits rely on a visualization model to manage interaction. We introduce a model that uses several graphical layers to separate the graphic entities involved in visualization from those involved in feedback and interaction management. We describe the implementation of this Multi- Layer Model and we show how it can take advantage of soft- ware and hardware graphic extensions to provide good per- formance. We also show how it supports multiple input de- vices and simplifies the description of a wide variety of in- teraction styles. Finally, we describe our experience in using this model to implement a set of editors for a professional an- imation system.

[1]  Roger B. Dannenberg,et al.  Garnet: comprehensive support for graphical, highly interactive user interfaces , 1990, Computer.

[2]  Stephen G. Eick,et al.  Data visualization sliders , 1994, UIST '94.

[3]  システムソフトエンジニアリング OpenGL programming guide(日本語版) : the official guide to learning OpenGL, release 1 , 1993 .

[4]  Brad A. Myers Encapsulating interactive behaviors , 1989, CHI '89.

[5]  Carl Gutwin,et al.  Workspace awareness in real-time distributed groupware , 1998 .

[6]  Mark A. Linton,et al.  Unidraw: a framework for building domain-specific graphical editors , 1990, TOIS.

[7]  Mark Linton,et al.  Building distributed user interfaces with Fresco , 1993 .

[8]  James Gosling,et al.  The NeWS Book , 1989, Sun Technical Reference Library.

[9]  Tom Davis,et al.  Opengl programming guide: the official guide to learning opengl , 1993 .

[10]  Danny Goodman,et al.  The complete HyperCard handbook , 1998 .

[11]  William Buxton,et al.  A taxonomy of see-through tools , 1994, CHI '94.

[12]  Jean-Daniel Fekete,et al.  TicTacToon: a paperless system for professional 2D animation , 1995, SIGGRAPH.

[13]  Paula M. Ferguson The X11 input extension , 1993 .

[14]  James D. Foley,et al.  Fundamentals of interactive computer graphics , 1982 .

[15]  Mark A. Linton,et al.  Blending structured graphics and layout , 1994, UIST '94.

[16]  Paul R. Calder,et al.  Composing user interfaces with InterViews , 1989, Computer.

[17]  Antonio C. Siochi,et al.  The UAN: a user-oriented representation for direct manipulation interface designs , 1990, TOIS.

[18]  Alain Karsenty,et al.  Transparency and awareness in a real-time groupware system , 1992, UIST '92.

[19]  Paul R. Calder,et al.  Glyphs: flyweight objects for user interfaces , 1990, UIST '90.

[20]  Adobe Press Programming the display PostScript system with NeXTstep , 1991 .

[21]  Jean-Daniel Fekete A multi-layer graphic model for building interactive graphical applications , 1992 .

[22]  Ralph Mor PEXlib: a new 3-D graphics API for the X Window System , 1993 .

[23]  Roger B. Dannenberg,et al.  Garnet: comprehensive support for graphical, highly interactive user interfaces , 1995 .

[24]  Mark A. Linton,et al.  Pacers: time-elastic objects , 1993, UIST '93.

[25]  Adobe Press,et al.  PostScript Language Reference Manual , 1985 .