Improvise: a User Interface for Interactive Construction of Highly-Coordinated Visualizations
Total Page:16
File Type:pdf, Size:1020Kb
IMPROVISE: A USER INTERFACE FOR INTERACTIVE CONSTRUCTION OF HIGHLY-COORDINATED VISUALIZATIONS By Christopher Eric Weaver A DISSERTATION SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY (COMPUTER SCIENCES) at the UNIVERSITY OF WISCONSIN – MADISON 2006 Copyright by Christopher Eric Weaver 2006 All Rights Reserved For Kim . gdmfsoab! i Abstract The development of exploratory visualization tools based on coordinated multiple views has become an important area of information visualization research. One goal of this research is to allow users to explore their data by switching freely between building and browsing in a flexible, integrated, interactive graphical environment that requires minimal programming skill to use. However, the range of possibilities for displaying data across multiple views depends on the flexibility of coordination, the expressiveness of visual abstraction, and the ability of users to comprehend the structure of their visualizations as they work. As a result, data exploration has been limited in practice to a small subset of visualizations that are both useful and usable. This dissertation describes four primary contributions to the field of information visualiza- tion. The first contribution is a conceptual model of multiple view coordination, Live Prop- erties, in which views tightly couple through shared objects that describe the navigation and selection state of a visualization. The second contribution is a visual abstraction language, Coordinated Queries, loosely based on the relational data model. Views aggregate, filter, sort, and graphically encode data records using declarative expressions that can be defined in terms of interactive parameters. The third contribution is a conceptual model of metavisualization, in which the interactive structure of coordinated visualizations can be explored by visualizing it in situ, directly in the running visualizations themselves. The fourth contribution is Improvise, an implemented system in which users build and browse multiview visualizations interactively using Live Properties and Coordinated Queries. By coupling visual abstraction with coordination, users gain precise control over how naviga- tion and selection in a visualization affects the appearance of data in individual views. In the ii Improvise user interface, users can create and modify visualizations quickly and incrementally during data exploration, optionally using metavisualization to explore interactive structure as it evolves. As a result, it is practical to build visualizations with many more views and much richer coordination in Improvise than in other exploratory visualization environments. iii Acknowledgements Thanks to the members of my dissertation committee—Raghu Ramakrishnan, Mike Gleicher, Miron Livny, Chuck Dyer, and Mark Harrower—for their generous time, effort, and many suggestions. Grateful thanks to Miron and Raghu for their support and guidance during my time with the DEVise research group. Thanks also to Lorene Webber, Marie Johnson, Cathy Richard, Virginia Werner, Heather Cotes, John O’Malley and the Computer Systems Lab for making university and department life so much easier over the years. Special thanks to Chris North, Steve Eick, Harry Hochheiser, Marjan Trutschl, and Urska Cvek for feedback, advice, encouragement, and fellowship when I needed it most. Thanks to members of the DEVise team, including Kevin Beyer, Donko Donjerkovic, Vuk Ercegovac, and Shilpa Lawande. In particular, discussions with Kevin about potential connec- tions between coordinated multiview interfaces and multiple query processing strategies led to many of the early ideas that evolved into Coordinated Queries (chapter 4). The work on standalone metavisualization of DEVise visualizations (chapter 8) is an outgrowth of Shilpa’s DEVise Layout Manager. I am especially indebted to Kent Wenger for answers to my innu- merable questions about the inner workings of DEVise. Cheers to the whole gang at my new home in GeoVISTA: Alan MacEachren, Mark Ga- hegan, Donna Peuquet, Ian Turton, James Macgill, and all the great graduate students. Spe- cial thanks to Ritesh Agrawal, Chaomei Chen, Jin Chen, Jianwei Dou, David Fyfe, Deryck Holdsworth, Junyan Luo, Scott Pezanowski, Anthony Robinson, Mike Stryker, and all the stu- dents in the Geovisual Analytics seminar for actually putting Improvise to work. The Penn State Department of Geography is truly an extraordinary place, and I am profoundly grateful to be a part of it. iv Thanks to the members of my distraction committee—Nate Bockrath, Nick Leavy, and Rajesh Raman—for only slightly more carousing than is generally called for. What’s in the flask, Egg? Magic potion? I would be remiss if I did not note my camaraderie with the grand old boys on the Condor team including Jim Basney, Todd Tannenbaum, and Derek Wright. Up to the Mickey’s Chal- lenge, every last one of them. For many parties and the occasional couch, thanks to Brenda Mudry, Kartik Chandran, Kay Shot, Jim Mosher & Christie Truly, and Aaron Williamson. To my new friends in Happy Valley—Anthony Robinson, Brandi Nagle, Matt & Jess Whitehead— it’s like being on reality TV without the cameras! To my old friend Paul Fontana (and founding member of TSMWK), stop reading immedi- ately and get back to work! To my dear friend Kim Johnson, thank you for everything. Enjoy the book report, sweetie. Where’s my trip to New Zealand? Most of all, I would like to thank my family—David, Carol, Kate, Mike, and Annika—for their unequivocal love and support. All I’ve ever really needed is a steady northwest wind... v Contents Abstract i Acknowledgements iii 1 Introduction 1 1.1 Overview . 1 1.2 Highly-Coordinated Visualization in Improvise . 4 1.2.1 Example . 5 1.3 Thesis Statement and Research Contributions . 10 1.4 Research Questions and Scope . 11 1.5 Organization of the Dissertation . 12 2 Background 14 2.1 Visualization . 14 2.2 Concepts . 16 2.2.1 Visual Encoding . 16 2.2.2 Coordination . 17 2.2.3 Dynamic Queries . 18 2.2.4 Visual Abstraction . 19 2.3 Foundation Systems . 20 2.4 Visualization Tools, Toolkits, and Systems . 21 3 Model of Coordination 29 3.1 Overview . 29 vi 3.2 Mediation Model of Coordination . 30 3.2.1 Live Properties Overview . 32 3.2.2 Model Components . 33 3.2.3 Notification Protocol . 35 3.2.4 Implementing Views . 36 3.2.5 Coordinating Views . 39 3.3 Graph Model of Coordination . 39 3.4 Limitations . 42 3.4.1 Constraints . 42 3.4.2 Granularity . 43 3.5 Extensions . 44 3.5.1 Type Composition . 44 3.5.2 Value Transformation . 45 3.6 Summary . 46 4 Model of Visual Abstraction 47 4.1 Overview . 47 4.2 Relational Model of Visual Abstraction . 48 4.2.1 Coordinated Queries Overview . 50 4.2.2 Model Components . 52 4.2.3 Expressions . 59 4.2.4 Graph Relationships and Notification Protocol . 69 4.2.5 Implementing Views . 72 4.2.6 Coordinating Views . 75 4.3 Graph Model of Visual Abstraction . 77 vii 4.4 Limitations . 80 4.4.1 Cycles . 80 4.4.2 Unary Operations . 81 4.5 Extensions . 82 4.5.1 Extensible Lexical Types . 82 4.5.2 Expression Binding . 83 4.6 Summary . 84 5 Improvise 85 5.1 Overview . 85 5.2 Users . 86 5.3 Requirements . 87 5.4 User Interface . 89 5.4.1 Data . 90 5.4.2 Views . 94 5.4.3 Queries . 99 5.4.4 Coordination . 104 5.4.5 Enhancements . 106 5.5 Software Architecture . 107 5.5.1 Types of Views and Other Controls . 109 5.5.2 Implementing Views . 111 5.5.3 Enhancements . 113 5.5.4 Packaging and Deployment . 114 5.6 Issues and Tradeoffs . 115 5.6.1 View Compatibility . 115 viii 5.6.2 Data Access . 116 5.6.3 Query Processing . 117 5.6.4 Visual Concurrency . 117 5.6.5 Screen Space . 118 5.7 Extensions . 119 5.7.1 Standalone Browsing . 119 5.7.2 Library Namespace and Versioning . 119 5.8 Summary . 120 6 Coordination Patterns 121 6.1 Overview . 121 6.2 Navigation Patterns . 128 6.2.1 Scatter Plot + Axes . 128 6.2.2 Synchronized Scrolling . 129 6.2.3 Scatter Plot Matrix . 130 6.2.4 Overview + Detail . 130 6.2.5 Perceptual Slider . 131 6.2.6 Navigation-Dependent Encoding . 133 6.3 Selection Patterns . 135 6.3.1 Shared Selection . 135 6.3.2 Selection-Dependent Data . 136 6.3.3 Selection-Dependent Encoding . ..