content - tu wienieg.ifs.tuwien.ac.at/~aigner/ztimeview/html/1_03_jazz.pdf · 2 5 wolfgang aigner,...
TRANSCRIPT
1
Jazz: An ExtensibleZoomable User InterfaceGraphics Toolkit in Java
WOLFGANG AiGNERMatr.Nr.: 9755342
MARTiN TOMiTSCHMatr.Nr.: 9726166
Benjamin B. Bederson, Jon Meyer, Lance GoodHuman-Computer Interaction Lab, University of Maryland
Proceedings of the ACM Symposium onUser interface software and technology (UIST), 2000, p. 171-180
UE Informationsvisualisierung, SS 2004 Gruppe 3
WOLFGANG AiGNER, MARTiN TOMiTSCH2
ContentZoomable User Interfaces
Semantic Zooming
Jazz
Example Application
Monolithic vs. Minilithic Approach
Scene Graphs
Piccolo
Our Implementation
WOLFGANG AiGNER, MARTiN TOMiTSCH3
Zoomable User Interfacesusing a virtual canvas and cameras for displayinginformation
abstract data is mapped to 2D graphicrepresentations (onto a virtual canvas)a portion of the virtual canvas is seen on the displaythrough a virtual “camera”
requirements for ZUIs:support for custom application graphics andtraditional widgetsperformance should scale with complex scenesview navigations (zooms and pans) should besmooth and continuously animated
space-scale diagrams (Furnas and Bederson) smooth and efficient zooming and panning(Wijk and Nuij )
WOLFGANG AiGNER, MARTiN TOMiTSCH4
Semantic Zoomingconventional geometric zoom
objects change only sizesemantic zoom
affects not only size of objects but theirrepresentationobjects change shape or even their very presencein the display
4
2
WOLFGANG AiGNER, MARTiN TOMiTSCH5
Jazzpredecessors: Pad/Pad++
written in tcl/tksupports semantic zoomingmonolithic and inflexible
Jazza minilithic Java toolkit for creating ZUIapplicationsuses the Java2D renderer
supports embedded Swing widgetsuses a basic hierarchical scene graph model
successor: PiccoloWOLFGANG AiGNER, MARTiN TOMiTSCH6
Example Application
Space tree: a novel node-link tree browser
WOLFGANG AiGNER, MARTiN TOMiTSCH7
Monolithic vs. Minilithicmonolithic (standard) approach
relatively small number of classesto provide a large amount offunctionality
inherited by all of the widgets inthe toolkit
drawbacks
leads to a very complex hard-to-learn top level class
developers are forced to acceptthe functionality provided by thetop-level class
all inherited classes pay for anyextra functionality
minilithic designone feature per classclasses are working togetheradvantages
more flexiblecode is less complex
WOLFGANG AiGNER, MARTiN TOMiTSCH8
Scene Graph (1/2)
hierarchical scene graph model with cameras
graph of visual and non visual elements
nodesrelationships between objects
visual componentsgeometry and color
camerasdisplay a view of a scene graph visually
functionality by composing simple objectsrather than by class inheritance
3
WOLFGANG AiGNER, MARTiN TOMiTSCH9
Scene Graph (2/2)
JFrame
ContentPane
JPanel
JPanel
GeneralPath GeneralPath
Rectangle
Jazz
Swing
WOLFGANG AiGNER, MARTiN TOMiTSCH10
Piccolodescendant of Jazz
goal: similar feature set + easier to usecomplexity
no separation between nodes and visualcomponents (no ZVisualLeaf decoration)
speed / memoryless memory usage (65 kB vs. 450 kB .jar)
featuresnot supported yet: hyperlinks, clip group,constraint group, fade group, layout managers,selection group, spatial index, embedding Swingobjects
WOLFGANG AiGNER, MARTiN TOMiTSCH11
Our Implementation (1/2)Basic Idea:
Using Piccolo to implement a zoomableversion of “PlanningLines”
PlanningLines
further development of LifeLine/GANTTchart
visualizing temporal (planning) activities
hierarchical decomposition
temporal uncertaintiesWOLFGANG AiGNER, MARTiN TOMiTSCH12
Our Implementation (2/2)