Christophe Bouthier
Ph.D. Student
ECOO team
LORIA, France
•
Use case : states treemap
•
The Java TreeMap Library
• • Planned evolution
Christophe.Bouthier@loria.fr
2
• 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
Repository
V1 V2 V3 V4
• Use case
• The library
• Futur
Workspace User A
Christophe.Bouthier@loria.fr
Workspace User B
4
• Use case
• The library
• Futur
• Up-to-date
• Locally modified
: Nothing to do
: You have modified this file
• Remotely modified : Somebody else is modifying this file
• Potentially conflict : You and somebody else have modified this file
• Need update
• Will conflict
: A new version is on the server
: … and you have modified this file
Christophe.Bouthier@loria.fr
5
F1 F2
Workspace User A
Christophe.Bouthier@loria.fr
• Use case
• The library
• Futur
F1
V1
F2
V1
Repository
F1
V2
F2
V2
F1
V3
• Up-to-date
• Locally modified
• Remotely modified
•
Potentially conflict
• Need update
• Will conflict
F1 F2
Workspace User B
6
• Use case
• The library
• Futur
•
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 «TreeMap Visualization» toolkit !
Christophe.Bouthier@loria.fr
7
• 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
•
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
• Use case
• The library
• Futur
9
•
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
• Use case
• The library
• Futur
10
• Use case
• The library
• Futur
TMNode root; // root of the data tree
// build internal structures
TreeMap treemap = new TreeMap(root);
TMComputeSize cs;
TMComputeDraw cd;
// algorithm computing nodes’ size
// algorithm computing nodes’ filling
// Get a treemap view widget
TMView view = treemap.getView(cs, cd);
Christophe.Bouthier@loria.fr
11
•
To be added :
nodes attributes
• every data will be acceded the same way
• display of node name in the treemap
dynamic queries
• on nodes attributes
user interaction
• zoom
• file selection
Christophe.Bouthier@loria.fr
• Use case
• The library
• Futur
12
•
Compatibility
-
Swing TreeModel
-
TreeMap 2000 file format
•
The Java TreeMap Library
http://sf.net/projects/treemap/
http://treemap.sf.net/
Christophe.Bouthier@loria.fr
• Use case
• The library
• Futur
13