This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Toolkit Design for Interactive Structured Graphics
August 2004 (vol. 30 no. 8)
pp. 535-546
In this paper, we analyze toolkit designs for building graphical applications with rich user interfaces, comparing polylithic and monolithic toolkit-based solutions. Polylithic toolkits encourage extension by composition and follow a design philosophy similar to 3D scene graphs supported by toolkits including Java3D and OpenInventor. Monolithic toolkits, on the other hand, encourage extension by inheritance, and are more akin to 2D Graphical User Interface toolkits such as Swing or MFC. We describe Jazz (a polylithic toolkit) and Piccolo (a monolithic toolkit), each of which we built to support interactive 2D structured graphics applications in general, and Zoomable User Interface applications in particular. We examine the trade offs of each approach in terms of performance, memory requirements, and programmability. We conclude that a polylithic approach is most suitable for toolkit builders, visual design software where code is automatically generated, and application builders where there is much customization of the toolkit. Correspondingly, we find that monolithic approaches appear to be best for application builders where there is not much customization of the toolkit.

[1] 3D Studio Max,http:/www.3dmax.com, 2003.
[2] Adobe SVG Viewer,http://www.adobe.comsvg/, 2003.
[3] ECMA Script,http:/www.ecma-international.org, 2003.
[4] ILog,www.ilog.com, 2003.
[5] Java3D,http://java.sun.com/products/java-media3D / 2003.
[6] Macromedia Flash,http://www.macromedia.com/softwareflash/, 2003.
[7] SGI OpenInventor,http://www.sgi.com/softwareinventor/, 2003.
[8] SoftImage,http:/www.softimage.com, 2003.
[9] B.B. Bederson, PhotoMesa: A Zoomable Image Browser Using Quantum Treemaps and Bubblemaps Proc. ACM Symp. User Interface Software and Technology, CHI Letters, vol. 3, no. 2, pp. 71-80, 2001.
[10] B.B. Bederson, A. Clamage, M.P. Czerwinski, and G.G. Robertson, DateLens: A Fisheye Calendar Interface for PDAs ACM Trans. Computer-Human Interaction, vol. 11, no. 1, pp. 90-119, 2004.
[11] B.B. Bederson and J.D. Hollan, Pad++: A Zooming Graphical Interface for Exploring Alternate Interface Physics Proc. User Interface and Software Technology (UIST 94), pp. 17-26, 1994.
[12] B.B. Bederson, J.D. Hollan, K. Perlin, J. Meyer, D. Bacon, and G.W. Furnas, Pad++: A Zoomable Graphical Sketchpad for Exploring Alternate Interface Physics J. Visual Languages and Computing, vol. 7, pp. 3-31, 1996.
[13] B.B. Bederson and J. Meyer, Implementing a Zooming User Interface: Experience Building Pad++ Software: Practice and Experience, vol. 28, no. 10, pp. 1101-1135, 1998.
[14] B.B. Bederson, J. Meyer, and L. Good, Jazz: An Extensible Zoomable User Interface Graphics Toolkit in Java Proc. ACM Symp. User Interface Software and Technology, CHI Letters, vol. 2, no. 2, pp. 171-180, 2000.
[15] B.B. Bederson and J.D. Hollan, Pad++: A Zooming Graphical Interface System Proc. Conf. Human Factors in Computing Systems (CHI 95), 1995.
[16] D. Fox, Tabula Rasa: A Multi-Scale User Interface System doctoral dissertation, New York Univ., New York 1998.
[17] G.W. Furnas, Generalized Fisheye Views Proc. Conf. Human Factors in Computing Systems (CHI 86), pp. 16-23, 1986.
[18] S.E. Hudson and J.T. Stasko, Animation Support in a User Interface Toolkit Proc. Conf. User Interface and Software Technology (UIST 93), pp. 57-67, 1993.
[19] J.K. Ousterhout, Tcl and the Tk Toolkit. Addison-Wesley, 1994.
[20] B.E. Krasner and S.T. Pope, A Description of the Model-View-Controller User Interface Paradigm in the Smalltalk-80 System J. Object-Oriented Programming, vol. 1, no. 3, pp. 26-49, 1988.
[21] M.A. Linton, J.M. Vlissides, and P.R. Calder, Composing User Interfaces With InterViews IEEE Software, vol. 22, no. 2, pp. 8-22, 1989.
[22] B.A. Myers, R.G. McDaniel, R.C. Miller, A.S. Ferrency, A. Faulring, B.D. Kyle, A. Mickish, A. Klimovitski, and P. Doane, The Amulet Environment: New Models for Effective User Interface Software Development IEEE Trans. Software Eng., vol. 23, no. 6, pp. 347-365, 1997.
[23] K. Perlin and D. Fox, Pad: An Alternative Approach to the Computer Interface Proc. Computer Graphics Conf. (SIGGRAPH), pp. 57-64, 1993.
[24] K. Perlin and J. Meyer, Nested User Interface Components Proc. ACM Symp. User Interface Software and Technology, CHI Letters, vol. 1, no. 1, pp. 11-18, 1999.
[25] S. Pook, E. Lecolinet, G. Vaysseix, and E. Barillot, Context and Interaction in Zoomable User Interfaces Proc. Conf. Advanced Visual Interfaces (AVI 2000), pp. 227-231, 2000.
[26] J. Raskin, The Humane Interface. Addison Wesley, 2000.
[27] R.B. Smith, J. Maloney, and D. Ungar, The Self-4. 0 User Interface: Manifesting a System-Wide Vision of Concreteness, Uniformity, and Flexibility Proc. Conf. Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 95), pp. 47-60, 1995.
[28] M.C. Stone, K. Fishkin, and E.A. Bier, The Movable Filter as a User Interface Tool Proc. Conf. Human Factors in Computing Systems (CHI 94), pp. 306-312, 1994.
[29] S.H. Tang and M.A. Linton, Blending Structured Graphics and Layout Proc. Conf. User Interface and Software Technology (UIST 94), pp. 167-174, 1994.
[30] D. Ungar and R.B. Smith, Self: The Power of Simplicity Proc. Conf. Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 87), pp. 227-241, 1987.

Index Terms:
Monolithic toolkits, polylithic toolkits, object-oriented design, composition, inheritance, Zoomable User Interfaces (ZUIs), animation, structured graphics, Graphical User Interfaces (GUIs), Pad++, Jazz, Piccolo.
Citation:
Benjamin B. Bederson, Jesse Grosjean, Jon Meyer, "Toolkit Design for Interactive Structured Graphics," IEEE Transactions on Software Engineering, vol. 30, no. 8, pp. 535-546, Aug. 2004, doi:10.1109/TSE.2004.44
Usage of this product signifies your acceptance of the Terms of Use.