Interactivity in Information Visualization

A Dialogue with Data - CS-GY 6313 - Fall 2025

Claudio Silva

Part 1: The “Why” of Interaction

Beyond Static Pictures

So far, we’ve treated visualizations as static images.

  • They are powerful…
  • But they only answer the questions the designer thought to ask

Interaction changes this:

  • Turns visualization from a presentation into an exploration tool
  • Enables a dialogue with data

Question: What questions can you answer? What questions can’t you answer without touching it?

Bridging the Gulfs

Key HCI Concept: Donald Norman’s Gulfs

Gulf of Execution

  • “How do I make the visualization do what I want?”
  • User’s challenge to specify intent to the system

Gulf of Evaluation

  • “What did the visualization just do?”
  • “What does this view mean?”
  • User’s challenge to understand system response

Good interaction design bridges these gulfs - making the tool feel like an extension of your thought process.

The Information Visualization Pipeline

Interaction isn’t one thing - it’s a set of manipulations at different stages:

  1. Manipulating Data
    • Filtering, deriving new fields
  2. Manipulating Visual Mapping
    • Swapping axes, changing color scales
  3. Manipulating the View
    • Panning, zooming, rotating

Lecture Objectives & Outline

Learning Objectives:

  1. Understand why interaction is essential for data exploration
  2. Master foundational frameworks (Shneiderman’s Mantra, Task Taxonomy)
  3. Apply the 12 interactive dynamics from Heer & Shneiderman
  4. Analyze current research in reusable interaction design

Today’s Outline:

  • Part 1: The “Why” of Interaction (15 min)
  • Part 2: Foundational Frameworks (20 min)
  • Part 3: A Taxonomy of Interactive Dynamics (35 min)
  • Part 4: Advanced Topic & Case Study (15 min)
  • Part 5: Conclusion & Discussion (5 min)

Part 2: Foundational Frameworks

The Visual Information Seeking Mantra

Ben Shneiderman (1996)

“The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations”

A foundational moment for interactive visualization design.

“Overview first,

zoom and filter,

then details-on-demand”

  • Overview: Most valuable first step - provides context, shows big picture
  • Zoom and Filter: Core of exploration - focus on what’s interesting, remove what’s not
  • Details-on-demand: Get raw numbers and underlying attributes for specific items

Mantra in Action: FilmFinder

Overview

  • All films shown as dots
  • Full view of the database
  • Color-coded by genre

Zoom and Filter

  • Dynamic query sliders (year, rating, length)
  • Real-time visual feedback
  • Immediate filtering on the display

Details-on-demand

  • Click on a film
  • Full details appear (title, actors, director)

Key Innovation: Dynamic queries - immediate visual feedback as you adjust sliders.

Evolving the Mantra: Shneiderman’s 7 Tasks

From the same 1996 paper:

A fuller “Task by Data Type Taxonomy”

The Original 4:

  1. Overview - Get big picture
  2. Zoom - Focus on items of interest
  3. Filter - Remove uninteresting items
  4. Details-on-demand - Get info on specific items

Three New Tasks:

  1. Relate - View relationships between items
    • Example: See all books by same author
  2. History - Keep trail of actions
    • Support undo, replay, progressive refinement
  3. Extract - Save subset of data
    • Export in desired format

This shows a move towards a more comprehensive understanding of the analysis process.

A Modern Framework

Jeffrey Heer & Ben Shneiderman (2012)

“Interactive Dynamics for Visual Analysis”

Three High-Level Categories:

  1. Data & View Specification
    • Controlling what you see
  2. View Manipulation
    • Controlling how you see it
  3. Process & Provenance
    • Supporting the analysis process itself

12 specific interaction techniques - our focus for the rest of the lecture.

Part 3: A Taxonomy of Interactive Dynamics

Category 1: Data & View Specification

Controlling what you see

1. Visualize

Choosing visual encodings

  • The most fundamental step
  • Mapping data to visual properties
  • Creating the initial representation

Example: Building in Tableau

  • Start with data
  • Drag dimensions/measures to shelves
  • Assign variables to axes
  • Choose mark types and encodings

2. Filter

Reducing the data set based on conditions

  • Remove items that don’t meet criteria
  • Focus on subset of interest
  • Can be applied at data or view level

Example:

  • Dynamic query widgets
  • Sliders for continuous values
  • Check boxes for categories
  • Real-time visual feedback

3. Sort

Ordering the data

  • Exposes rankings
  • Reveals patterns
  • Makes comparisons easier

Example:

  • Clicking column header in table
  • Sorting bars by value
  • Ordering timeline by magnitude
  • Reordering categorical axes

4. Derive

Creating new data from existing data

  • Compute new fields
  • Transform variables
  • Aggregate or summarize

Examples:

  • Profit per sale = profit ÷ sales
  • Year-over-year change
  • Moving averages
  • Binning continuous variables
  • String manipulations

Category 2: View Manipulation

Controlling how you see it

5. Select

Marking items as having special interest

  • Prerequisite for many other actions
  • Can be single or multiple items
  • Visual feedback is crucial

Interaction Patterns:

  • Hover - Temporary highlight
  • Click - Single item selection
  • Lasso/Brush - Group selection
  • Shift-click - Add to selection

7. Coordinate

Linking multiple views

This is critical!

Actions in one view are reflected in others

Brushing and Linking:

  1. Select items in one view (e.g., scatterplot)
  2. They are instantly highlighted in all other views (e.g., map, bar chart)
  3. Enables multi-perspective exploration

Why powerful? Each view shows different aspects of the same data.

8. Organize

Arranging the workspace

  • Resizing windows
  • Reordering views in a dashboard
  • Creating custom layouts
  • Collapsing/expanding panels

Goal: Optimize screen real estate for the current task

Category 3: Process & Provenance

Supporting the analysis process itself

9. Record

Capturing the history of interaction

Why?

  • Support undo
  • Enable replay
  • Show analysis path
  • Facilitate review

Examples:

  • History panel (like Photoshop)
  • Action log
  • Version control for visualizations
  • Movie generation from interactions

Record: VisTrails Movie Generation

10. Annotate

Adding notes to views

Why?

  • Capture insights as they occur
  • Communicate findings to others
  • Mark important features
  • Ask questions for later

Examples:

  • Drawing arrows on a chart
  • Adding text boxes
  • Highlighting regions
  • Tagging interesting points

11. Share

Sharing views and analysis sessions

Why?

  • Enable collaboration
  • Disseminate findings
  • Get feedback
  • Support team analysis

Examples:

  • Shareable links to interactive dashboards
  • Embedded visualizations
  • Exporting views with interaction intact
  • Collaborative workspaces

12. Guide

Leading an audience through a story

Examples:

  • Scrollytelling websites
    • New York Times interactive articles
    • Animated, progressive revelation
  • Guided tutorials
    • Step-by-step walkthroughs
    • Tooltips and contextual help
    • Progressive disclosure of features

Balance: Author-driven narrative ↔︎ Reader-driven exploration

Part 4: Advanced Topic & Case Study

The Challenge of Reusable Interactions

We have amazing libraries for reusing visualizations:

  • D3.js
  • Vega/Vega-Lite
  • Plotly
  • Observable Plot

But reusing interactions is incredibly hard.

The Problem:

Every developer ends up rewriting the same logic for:

  • Selection
  • Brushing and linking
  • Zooming and panning
  • Tooltips
  • Filtering

Result: A chasm between novel interaction research and what’s available in practical tools.

Case Study: The Libra Interaction Model

Zhao et al., CHI 2025

The Goal:

  • Separate interaction logic from visualization rendering
  • Create a “grammar of interaction”
  • Just like we have a “grammar of graphics”

The Core Idea:

Break interactions down into reusable components:

  • Instruments: Basic user inputs (Hover, Click, Drag)
  • Services: Data operations (Filter, Select, Transform)

Libra Example: Building Interactions

Figure 1 from Zhao et al.: Progressive composition of interactions in Libra

  • Step 1 (Fig 1d): Simple HoverInstrument shows tooltip with digit image
  • Step 2 (Fig 1e): Add ClickInstrument + SelectionService to highlight clicked points
  • Step 3 (Fig 1f): Add DragInstrument + KMeansService for complex cluster analysis
  • Result: Complex interaction built by combining simple, reusable parts

Why This Matters

A model like Libra could lead to:

  • More rapid prototyping of novel interactions
    • Test ideas quickly without reimplementing basics
  • More consistency for users across different tools
    • Click means click, drag means drag, everywhere
  • A richer ecosystem of shared interactive components
    • GitHub for interaction patterns
    • Mix and match from community libraries

The future: Interaction design as composition, not programming.

Part 5: Conclusion & Discussion

Summary & Key Takeaways

Foundational Frameworks:

Shneiderman’s Mantra

A timeless design heuristic

“Overview first, zoom and filter, then details-on-demand”

✓ Start with context ✓ Enable focused exploration ✓ Provide details when needed

Heer & Shneiderman’s Taxonomy

A comprehensive vocabulary

  • Data & View Specification: Visualize, Filter, Sort, Derive
  • View Manipulation: Select, Navigate, Coordinate, Organize
  • Process & Provenance: Record, Annotate, Share, Guide

Central Theme: Interaction enables a true dialogue with data, moving beyond passive viewing to active exploration.

Questions & In-Class Exercise

Questions?

In-Class Exercise (1 minute):

  1. Jot down a list of interaction techniques you use every day

    • Not just in visualization!
    • Web browsing, mobile apps, games, etc.
  2. For each one, try to map it to one of the 12 categories from the taxonomy

  3. We’ll discuss a few examples as a class

Goal: Make the concepts stick by connecting to familiar experiences.

Thank you!