Table of Contents
Fetching ...

Design Concerns for Integrated Scripting and Interactive Visualization in Notebook Environments

Connor Scully-Allison, Ian Lumsden, Katy Williams, Jesse Bartels, Michela Taufer, Stephanie Brink, Abhinav Bhatele, Olga Pearce, Katherine E. Isaacs

TL;DR

This work investigates interactive visualization design methodology, choices, and strategies under this paradigm through a design study of calling context trees used in performance analysis, a field which exemplifies typical exploratory data analysis workflows with Big Data and hard to define problems.

Abstract

Interactive visualization can support fluid exploration but is often limited to predetermined tasks. Scripting can support a vast range of queries but may be more cumbersome for free-form exploration. Embedding interactive visualization in scripting environments, such as computational notebooks, provides an opportunity to leverage the strengths of both direct manipulation and scripting. We investigate interactive visualization design methodology, choices, and strategies under this paradigm through a design study of calling context trees used in performance analysis, a field which exemplifies typical exploratory data analysis workflows with Big Data and hard to define problems. We first produce a formal task analysis assigning tasks to graphical or scripting contexts based on their specificity, frequency, and suitability. We then design a notebook-embedded interactive visualization and validate it with intended users. In a follow-up study, we present participants with multiple graphical and scripting interaction modes to elicit feedback about notebook-embedded visualization design, finding consensus in support of the interaction model. We report and reflect on observations regarding the process and design implications for combining visualization and scripting in notebooks.

Design Concerns for Integrated Scripting and Interactive Visualization in Notebook Environments

TL;DR

This work investigates interactive visualization design methodology, choices, and strategies under this paradigm through a design study of calling context trees used in performance analysis, a field which exemplifies typical exploratory data analysis workflows with Big Data and hard to define problems.

Abstract

Interactive visualization can support fluid exploration but is often limited to predetermined tasks. Scripting can support a vast range of queries but may be more cumbersome for free-form exploration. Embedding interactive visualization in scripting environments, such as computational notebooks, provides an opportunity to leverage the strengths of both direct manipulation and scripting. We investigate interactive visualization design methodology, choices, and strategies under this paradigm through a design study of calling context trees used in performance analysis, a field which exemplifies typical exploratory data analysis workflows with Big Data and hard to define problems. We first produce a formal task analysis assigning tasks to graphical or scripting contexts based on their specificity, frequency, and suitability. We then design a notebook-embedded interactive visualization and validate it with intended users. In a follow-up study, we present participants with multiple graphical and scripting interaction modes to elicit feedback about notebook-embedded visualization design, finding consensus in support of the interaction model. We report and reflect on observations regarding the process and design implications for combining visualization and scripting in notebooks.
Paper Structure (24 sections, 6 figures, 1 table)

This paper contains 24 sections, 6 figures, 1 table.

Figures (6)

  • Figure 1: We considered task frequency and specificity when assigning tasks to scripting or interactive visualization for our design. Highly specific tasks, such as complex queries with precise numbers we assigned to scripting as it offered expressivity and efficiency to our scripting-familiar audience over complex visual interfaces. Less-specific, more frequent tasks like finding anomalies we assigned to visualization as it supports multiple forms of recognition and browsing. We note many tasks can be supported by both, with a hand-off as the analysis grows from more exploratory to more concrete, and thus these assignments reflect a prioritization rather than hard design constraint.
  • Figure 2: We identify five major tasks which performance analysts engage in when analyzing calling context profiles and classified whether they would be better supported through interactive visualization (purple), scripting in Jupyter (gray), or both. For each subtask we show an example of how it might be accomplished in the identified modality.
  • Figure 3: Embedded CCT Visualization. The main view (a) is a pannable, zoomable node-link diagram with two node encodings---color and size. Selected nodes (b) have a thick border. Their details are shown in a floating table (c). Features like mass-pruning (e), changing encoding metrics, and exporting queries are available through the menus (d).
  • Figure 4: Manually pruned subtrees are depicted with arrows indicating they can be expanded on click. The color and size encode the average value of associated metrics in the elided subtree.
  • Figure 5: We illustrate two scenarios, each showing one direction in the two-way visualization+scripting paradigm. Each row of captioned figures shows a Jupyter notebook over time. In the first, "Visualization to Script," the user makes a selection in the visualization, causing automatic updates in cells that use the visualization state: a scripting cell and another visualization cell. In the second scenario, the user changes data stored in a variable and re-runs a code cell. A visualization showing the modified variable automatically updates to reflect the state of the notebook.
  • ...and 1 more figures