content - tu wienieg.ifs.tuwien.ac.at/~aigner/ztimeview/html/1_03_jazz.pdf · 2 5 wolfgang aigner,...

3

Click here to load reader

Upload: dangkhanh

Post on 21-Apr-2019

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Content - TU Wienieg.ifs.tuwien.ac.at/~aigner/ztimeview/html/1_03_jazz.pdf · 2 5 WOLFGANG AiGNER, MARTiN TOMiTSCH Jazz predecessors: Pad/Pad++ written in tcl/tk supports semantic

1

Jazz: An ExtensibleZoomable User InterfaceGraphics Toolkit in Java

WOLFGANG AiGNERMatr.Nr.: 9755342

[email protected]

MARTiN TOMiTSCHMatr.Nr.: 9726166

[email protected]

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

Page 2: Content - TU Wienieg.ifs.tuwien.ac.at/~aigner/ztimeview/html/1_03_jazz.pdf · 2 5 WOLFGANG AiGNER, MARTiN TOMiTSCH Jazz predecessors: Pad/Pad++ written in tcl/tk supports semantic

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

Page 3: Content - TU Wienieg.ifs.tuwien.ac.at/~aigner/ztimeview/html/1_03_jazz.pdf · 2 5 WOLFGANG AiGNER, MARTiN TOMiTSCH Jazz predecessors: Pad/Pad++ written in tcl/tk supports semantic

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)