Toolkit design for interactive structured graphics
Top Cited Papers
- 26 July 2004
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 30 (8) , 535-546
- https://doi.org/10.1109/tse.2004.44
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
This publication has 18 references indexed in Scilit:
- DateLensACM Transactions on Computer-Human Interaction, 2004
- JazzPublished by Association for Computing Machinery (ACM) ,2000
- Implementing a zooming User Interface: experience building Pad++Software: Practice and Experience, 1998
- Pad++: A Zoomable Graphical Sketchpad For Exploring Alternate Interface PhysicsJournal of Visual Languages & Computing, 1996
- The Self-4.0 user interfacePublished by Association for Computing Machinery (ACM) ,1995
- Pad++Published by Association for Computing Machinery (ACM) ,1995
- Pad++Published by Association for Computing Machinery (ACM) ,1994
- Animation support in a user interface toolkitPublished by Association for Computing Machinery (ACM) ,1993
- Self: The power of simplicityPublished by Association for Computing Machinery (ACM) ,1987
- Generalized fisheye viewsPublished by Association for Computing Machinery (ACM) ,1986