Title :
Toolkit design for interactive structured graphics
Author :
Bederson, Benjamin B. ; Grosjean, Jesse ; Meyer, Jon
Author_Institution :
Comput. Sci. Dept., Maryland Univ., College Park, MD, USA
Abstract :
Here, 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 JavaSD and Openlnventor. 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.
Keywords :
authoring systems; computer animation; graphical user interfaces; object-oriented programming; 2D graphical user interface toolkit; 3D scene graph; JavaSD; Jazz; MFC; Openlnventor; Pad++; Piccolo; Swing; interactive 2D structured graphics application; interactive structured graphics; monolithic toolkit; object-oriented design; polylithic toolkit; toolkit design; visual design software; zoomable user interface application; Application software; Buildings; Displays; Graphical user interfaces; Graphics; Java; Layout; Shape; Software design; User interfaces; 65; GUIs; Graphical User Interfaces; Index Terms- Monolithic toolkits; Jazz; Pad++; Piccolo.; ZUIs; Zoomable User Interfaces; animation; composition; inheritance; object-oriented design; polylithic toolkits; structured graphics;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2004.44