A Free Java Library for Tree Map Visualization

A Free Java Library for Tree. Map Visualization Christophe Bouthier Ph. D. Student ECOO team LORIA, France

Plan of the presentation • Use case : states treemap • The Java Tree. Map Library • Planned evolution Christophe. Bouthier@loria. fr 2

A Treemap usage • Use case • The library • Futur • Motu project Research prototype (http: //motu. sf. net/) Accepted paper to CRIWG 2001 • Classic CSCW scenario : version management in a design project • Treemaps : files states visualization « workspace awareness » (Gutwin & Greenberg) Christophe. Bouthier@loria. fr 3

• Use case • The library • Futur Copy-Modify-Merge Repository V 1 V 2 V 3 Workspace User A Christophe. Bouthier@loria. fr V 2 V 3 V 4 Workspace User B 4

• Use case • The library • Futur Files states • • : Nothing to do Up to date Locally modified : You have modified this file Remotely modified : Somebody else is modifying this fil Potentially conflict : You and somebody else have modified this file • Need update • Will conflict Christophe. Bouthier@loria. fr : A new version is on the server : … and you have modified this file 5

• Use case • The library • Futur States Treemap : example Repository F 1 F 2 V 3 V 1 V 2 Edit F 2 Update F 1 Edit F 1 Commit F 2 Commit F 1 Workspace User A Christophe. Bouthier@loria. fr F 1 F 1 V 2 V 3 F 2 V 1 V 2 • • • Up to date Locally modified Remotely modified Potentially conflict Need update Will conflict F 1 F 2 V 3 V 1 V 2 V 1 Commit F 1 Update F 2 Edit F 1 Workspace User B 6

• Use case • The library • Futur Why a treemap library ? • Existing treemaps are : standalone applications specialized for specific task Unreusable • If you want treemaps in your project : existing treemaps could not be reused you should reimplement treemaps from scratch Need of a «Tree. Map Visualization» toolkit ! Christophe. Bouthier@loria. fr 7

Treemap widget • Use case • The library • Futur • Ready to be used • Can be combined with other widgets • Dynamic multi threaded update : if data changed if data added or removed • Really fast, even for several thousands of nodes • Free (MIT license) Christophe. Bouthier@loria. fr 8

Data representation • Use case • The library • Futur • Programmer can specify algorithms : in charge of nodes’ filling in charge of nodes’ size • Algorithms can be changed dynamically • Filling could be : a color a pattern Christophe. Bouthier@loria. fr 9

Treemap representation • Use case • The library • Futur • 2 orthogonal presentation properties : treemap classic or nested treemap classic or squarified a treemap can be nested AND squarified • Provided configuration view : dynamic property on/off size of nested border Christophe. Bouthier@loria. fr 10

• Use case • The library • Futur Code sample TMNode root; // root of the data tree // build internal structures Tree. Map treemap = new Tree. Map(root); TMCompute. Size cs; TMCompute. Draw cd; // algorithm computing nodes’ size // algorithm computing nodes’ filling // Get a treemap view widget TMView view = treemap. get. View(cs, cd); Christophe. Bouthier@loria. fr 11

In the near futur. . . • Use case • The library • Futur • To be added : nodes attributes • every data will be acceded the same way display of node name in the treemap • on nodes attributes • zoom file selection • dynamic queries user interaction • Christophe. Bouthier@loria. fr 12

In the near futur. . . • Use case • The library • Futur • Compatibility Swing Tree. Model Tree. Map 2000 file format • The Java Tree. Map Library http: //sf. net/projects/treemap/ http: //treemap. sf. net/ Christophe. Bouthier@loria. fr 13
- Slides: 13