Title: Cheops: A Compact Explorer for Complex Hierarchies
1Giza A framework for visualization
Louis C. Vroomen, Marc-Antoine Parent Luc
Beaudoin
Human Computer Interaction Group Centre de
recherche informatique de Montréal http//www.crim
.ca/ipsi (Français) http//www.crim.ca/hci
(English)
2Outline of presentation
Problem definition CHEOPS approach Giza
Framework Inside Giza Context How to reach us
3Outline of presentation
Problem definition CHEOPS approach Giza
Framework Inside Giza Context How to reach us
4Problem definition
Components of a Traditional Visualization Approach
Visualization
Command
Data modeling
5Problem definition
Framework
- Set of cooperating classes
- reusable designs for a specific class of software
- customize to a particular application by creating
application-specific subclasses of classes from
the framework - Visualization
- set of classes to facilitate the creation of a
flexible visualization application
6Problem definition
Components of a Visualization Framework
Task
Visualization
Data modeling
7Problem definition
Main task
- Navigation
- provide flexible means to access elements and the
relations between them. - user can perform two types of actions
- structural analysis
- investigation
8Problem definition
Actions
- Structural analysis
- support visual correlation and discrimination
tasks by providing the ability to compare,
simultaneously, remote parts of a structure. - Investigation
- reinforce the expression of the current location,
in context if possible, and refine the control - where have I been, where am I, where can I go.
9Outline of presentation
Problem definition CHEOPS approach Giza
Framework Inside Giza Context How to reach us
10CHEOPS approach
Purpose
- Ability to browse and explore complex
hierarchical information structures, - Ease of use,
- Runs on standard personal computers, with SVGA
resolution.
11CHEOPS approach
Dewey Decimal Classification System
- 10 by 10 levels deep, with 1.2 cm triangles,
drawn out would take 12,000 km. - CHEOPS fits within 12 cm. square
12CHEOPS approach
Design
- Object-oriented design
- versatile,
- scalable.
- Written in JavaTM
- cross-platform,
- usable over the net.
13CHEOPS approach
Some advantages (1/3)
- Small foot print for fairly deep hierarchies
- Reuse of few visual objects
- allows display of large hierarchies ,
- quick update on a personal computer.
- Processing the opening of a branch is a fast,
simple descent
14CHEOPS approach
Some advantages (2/3)
- CHEOPS provides a stable,
synthetic view of the global structure - The relationship between
global context and the selected branch
is always
maintained. - At each node, CHEOPS providesa unique and
permanent visual signature - visual signatures facilitate re-entry,
- representation of deep descendants allows long
jump.
15CHEOPS approach
Some advantages (3/3)
- Strategies are consistent
everywhere in the hierarchy andthey enhance one
another - users can combine available tools to form
strategies to fit their needs, - this ability allows users an incremental,
yet quick method to learn the approach
and optimize their strategies.
16CHEOPS approach
General difficulties / possible solutions
- Branching factor
- investigate new manipulation tools
- Very deep hierarchies
- fragmentation strategies (eg relative root
position) - As hierarchies grow, descent can become
computationally intensive - load on demand?
17CHEOPS approach
Limitations inherent to CHEOPS / possible
solutions
- One branch open at a time
- different visual semantics
- investigate complementary manipulation tools
- People are disconcerted by speed power
- learning curve seems quite short
18CHEOPS approach
Implementation limitations / possible solutions
- Need all nodes in memory to descend and for ghost
- load on demand with limited ghost information
- Overloading is arbitrary
- investigate placement by a simple ordering
function
19CHEOPS Approach
Next step
- Investigate identified solutions
- Representation of non-hierarchical links
- Representation of graphs
- Access tools like histograms and filters
20Outline of presentation
Problem definition CHEOPS approach Giza
Framework Inside Giza Context How to reach us
21Giza Framework
Limitations of first Cheops implementation (1/3)
- Data model and visualization coupling
- inherently hierarchical, thus cannot show
non-hierarchical relations or graphs
Task
Visualization
Data modeling
22Giza Framework
Limitations of first Cheops implementation (2/3)
- Visualization and task coupling
- Cheops only one representation, yet different
representations may be required - need to visualize associated data, filtering
Task
Visualization
Data modeling
23Giza Framework
Limitations of first Cheops implementation (3/3)
- Data modeling and task coupling
- inherently hierarchical browsing
Task
Visualization
Data modeling
24Giza Framework
Giza Framework
- Object oriented framework
- Plugable representations
- now cheops, millipede, tree, explorer
- soon fish-eye, intelligent zoom,
hyperbolic geometry, tree map,etc. - Extendable widgets
- investigate new manipulation tools
- Customizable
25Giza Framework
Results
- Redesign of architecture
- Attempt decoupling data modeling/visualization
- can visualize non-hierarchical links.
- multiple representations available and easy to
implement - Attempt decoupling task/visualization
- representations can be notified of state changes
- associated data viewable (timelines, etc.)
- filtering available based on data model
26Giza Framework
Results
- Attempt decoupling data model from task
- Can navigate through non-hierarchical links and
graphs
27Outline of presentation
Problem definition CHEOPS approach Giza
Framework Inside Giza Context How to reach us
28Inside Giza Context
Analysing the modeling approach
- What is in the model for structures(hierarchies
and graphs)? - Elements with properties
- Links define a structure (a topology)
Data Modeling
29Inside Giza Context
Analysing the visualization technique
- What is in a representation?
- Components with visual attributes
- The layout of components defines neighbourhood
(topology)
Visualization
30Inside Giza Context
Analysing the visualization technique (1/2)
- Traditional approach (MVC) components and
elements within a representation correspond 1 to
1
Data Modeling
Visualization
31Inside Giza Context
Analysing the visualization technique (2/2)
- Cheops Many elements displayed by one component
- Multiple representations, polymorphy Many
components display some elements
Data Modeling
Visualization
32Inside Giza Context
Abstract coupling of properties
- Decoupling visualization from data
- Access properties through an abstract protocol
- Representing arbitrary structures
- Make topology into a property
Visualization
Data Modeling
Abstract
protocol
33Inside Giza Context
Recipes for coupling of properties
- Encapsulate coupling to vary it
- Each coupling is made into an accessor object
- Multiple representations
- Each representation couples its attributes to
properties through a distinctive process
Data Modeling
Visualization
34Inside Giza Context
Contexts to bring accessors together
- The couplings that make a representation possible
are bundled in a context object - Possibility to vary couplings for multiple
representations - Contexts are linked in a inhertance hierarchy
Data Modeling
Visualization
Contexts
35Inside Giza Context
Dynamic nature of contexts (1/2)
- The task sets in Commands can modulate the
coupling methods - The representations react accordingly Components
can observe changes in the data, and accessor
objects can automatically adjust to changes in
the coupling
Data Modeling
Visualization
Contexts
Tasks
User c
ommands
36Inside Giza Context
Why Contexts?
- Data structures, tasks and representations come
in many colours - Each context specifies a way to bridge the gap
between the model , a representation, and user
requirements - The context determines the best possible match
37Inside Giza Context
Our Goal
Task
Context
Visualization
Data modeling
38Inside Giza Context
Contexts and structure (1/4)
- The data IS how you look at it
- We analyze or abstract models into structures by
querying features of the data
39Inside Giza Context
Contexts and structure (2/4)
- The data IS how you look at it
- We analyze or abstract models into structures by
querying features of the data - Feature extraction is an active process, creates
data, and ultimately the structure itself
40Inside Giza Context
Contexts and structure (3/4)
- The data IS how you look at it
- We analyze or abstract models into structures by
querying features of the data - Feature extraction is an active process, creates
data, and ultimately the structure itself - Each contextual system of feature extraction
defines a different structure
41Inside Giza Context
Contexts and structure (4/4)
- The data IS how you look at it
- We analyze or abstract models into structures by
querying features of the data - Feature extraction is an active process, creates
data, and ultimately the structure itself - Each contextual system of feature extraction
defines a different structure - Structural analysis tools should look at the
model through many such contextual systems
42Inside Giza Context
Future work and development
- Representation of graphs
- Representation of large hierarchical spaces
- Visualization application for software
engineering
43Outline of presentation
Problem definition CHEOPS approach Giza
Framework Inside Giza Context How to reach us
44How to reach us
Cheops Innovator
- Luc Beaudoin (lubeaudo_at_crim.ca)
Cheops/Giza Implementation
- Luc Beaudoin
- Marc-Antoine Parent (maparent_at_crim.ca)
- Louis C. Vroomen (vroomen_at_crim.ca)
Director of the HCI Group
- France deVerteuil (fdev_at_crim.ca)
45URLs
HCI Group
- www.crim.ca/ipsi (Français)
- www.crim.ca/hci (English)
Main Cheops Page
- www.crim.ca/ipsi/cheops/index1.html (Français)
- www.crim.ca/hci/cheops/index1.html (English)
Graphical User Interfaces for Hierarchies A
Workshop
- www.crim.ca/vroomen/workshop/ (English)