prefuse: a toolkit for interactive information visualization jeffrey heer stuart k. card james a....

36
prefuse: A Toolkit for Interactive Information Visualization Jeffrey Heer Stuart K. Card James A. Landay CHI2005

Upload: sharlene-manning

Post on 19-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

CHI2005

prefuse: A Toolkit for Interactive Information Visualization

Jeffrey HeerStuart K. Card

James A. Landay

CHI2005

Outline

• Motivation• Introduction• Design of Prefuse• Build Application with Prefuse• Evaluation• Summary

CHI2005

Motivation

• Infovis is indispensable– Find hidden patterns in data– Interaction with visualized info

• Still lack of infovis app– Difficult to provide domain-specific config– Difficult to build• Complex layout• Dynamic graphics

CHI2005

Motivation

• Previous work– TreeMaps– Cone Trees– Hyperbolic Trees– DOITrees– SpaceTrees– Perspective Walls– StarField displays

CHI2005

TreeMap

CHI2005

Hyperbolic Trees

CHI2005

DOITree

CHI2005

SpaceTrees

CHI2005

Perspective Walls

CHI2005

StarField displays

CHI2005

Motivation

• Current work– Explorer designs and techniques

• Similar project• Infovis-specific toolkits (monolithic)

– Fekete's InfoVis toolkit– Indiana's XML toolkit

• Lib of existing visualization• Without set of reusable components

CHI2005

Motivation

• Need a toolkit

– Diversity customization support– Handle complex layout and graphics– Animation handling– Introduce new functionalities– Reusable

CHI2005

Outline

• Motivation• Introduction• Design of Prefuse• Build Application with Prefuse• Evaluation• Summary

CHI2005

Introduction to prefuse

• Written in Java• Extensible UI toolkit• Interactive display• Not ready-made infovis “widgets”• A set of building blocks• Basic data structure on graph– Entities– Relations

CHI2005

Outline

• Motivation• Introduction• Design of Prefuse• Build Application with Prefuse• Evaluation• Summary

CHI2005

Design of Prefuse

• Information Visualization Reference Model

– Abstract data representation– Map data into a visualizable form– Process the form– Map into interactive displays

CHI2005

Design of Prefuse

CHI2005

Design of Prefuse--Abstract Data

• Interface for data structure• Basic element—Entity

– Named attributes– Base class for structural type

» Node» TreeNode» Edge» …

• Interface for data io• Bounded visualization to fit in memory

CHI2005

Design of Prefuse--Filtering

• Filtering can make visualization-specific model– Multiple visualizations of a data set– Different views of a specific visualization

• Filtering process– Select a set of abstract data elements– Generate visual items• Attributes of source data• Visual properties

CHI2005

Design of Prefuse—Visual Items

• Three types of VisualItems

– NodeItems

– EdgeItems

– AggregateItems

CHI2005

Design of Prefuse—Visual Items

• ItemRegistry– Data structure which stores visual items– Houses states of visualization– Request by filter action– Contains FoucsManager– Caching approach– Recycle

CHI2005

Design of Prefuse—Actions

• Basic component of application design

– Update visual items in ItemRegistry– Select visualized data, set visual properties– Simple API– Perform arbitrary tasks

CHI2005

Design of Prefuse—Actions

• Actions Types

– Filter

– Assignment

– Animator

CHI2005

Design of Prefuse—ActionLists

• ActionList is a list of actions

• Can be subroutine of other list

• Can run once or more

• Execution is managed by scheduler

CHI2005

Design of Prefuse—ActionLists

• Example

CHI2005

Design of Prefuse—Render

• Renders draw VisualItems– Take use of item’s visual attributes– Simple API

• RenderFactory manages mapping between items and appearences– Return a Render given a visualitem– High flexbility– Easy change to visual appearance

CHI2005

Design of Prefuse—Display

• Perform presentation of visualized data

• Display the contents of ItemRegistry

• Subclass JComponent

• Interaction support (ControlListener)

CHI2005

Design of Prefuse—Library

• Layout and Distortion• Force Simulation• Interactive Controls• Color Maps• Integrated Search• Event Logging

CHI2005

Design of Prefuse—Sample Application

CHI2005

Design of Prefuse—Evaluation 1

• Build two novel visualizations– Degree of Interest Tree– Vizster

• Reuse and extensibility

• Accelerated implementation times

• Maintain real-time interaction and animation over lots of data elements

CHI2005

Design of Prefuse—Evaluation 2

• Understand the learnability of prefuse for other programmers

• 8 participants

• Build applications and take interview

CHI2005

Design of Prefuse—Evaluation 2

• 8 participants– 4 CS students• 2 undergrads• 2 grads

– 3 professional programmers– 1 UI designer– 1 infovis expert

CHI2005

Design of Prefuse—Evaluation 2

• Give a tutorial • Give a social network data file• Three programming tasks (PC, Eclipse IDE,

prefuse source code)– Static visualization– Refine visualization– Add interactivity and animation

• Open-ended interview

CHI2005

Design of Prefuse—Evaluation 2

• Positive reactions

CHI2005

Summary

• Prefuse brings quick development and flexible and customized visualization

• Prefuse supports the design of 2D, what about 3D?

• Take use of it in Search Results Visualization

• Is it possible to map music into visualization using prefuse?

CHI2005

The end

Thank you!

Any question?