prefuse: A Toolkit for Interactive Information Visualization Jeffrey Heer Stuart 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? CHI2005