All Readings

This is all the readings for the semester on a single big list.

Each week, the readings will be given to you in a shorter list for that week. Warning: future weeks’ readings might change.

The reading description should try to give you an idea of what I expect you to get out of the readings. In general, it is OK to read things quickly to get the main point - for some things I might even recommend this. It is more important to get the main point (so you can revisit for details) than to get the specific details.

Readings listed as optional are recommended as things I view as high value for the content of the class. In most cases, they are things I would have liked to have included as required, but did not because I realize that not everyone reads as quickly as I do.

Page content

Readings01: What is Visualization

in All Readings

This week’s readings are a but unusual because this is an unusual week.

Usually, readings are due on Monday (so you have read them for the Monday content survey and before Wednesday’s lecture - see the Weekly Rhythm). But class doesn’t start until Wednesday, so there is no Monday.

These readings are really “due” with the week 2 readings (on the first Monday of the semester, Sept 9).

If I put both week 1 and week 2 readings together it might seem like too much… (it is a lot, but …)

One thing to get used to: the course materials (like this reading description, and the “weeks-in-vis” postings) are (often) a reading unto themselves. View it as part of the required reading (it will provide information, and insight into what you are reading/doing, etc.)

Another thing to get used to: the readings are meant to present viewpoints. Many weeks, I will give you a variety of different things to read with the idea of giving you multiple viewpoints. In many (most) CS/Math/Engineering classes, the readings tell you “the” answer; readings are the objective truth to refer to. With this class, many of the topics don’t have a single correct answer, or have conflicting viewpoints to consider, or have some historical angle that is worth considering, … Sometimes I will intentionally give you things I don’t completely agree with because they can be thought provoking. In all cases, they are things I think you will benefit from reading.

Some of these are from textbooks (see the Books). A secondary goal is to introduce you to the people you’ll be learning from this semester (including me!). Reading isolated chapters from a book can be tricky because you lack the context. Here, we’re starting from the beginning in two of them.

  1. (required)  Read over the course web (at least the stuff on the Getting Started page) is an important part of the required readings. It’s a big part of the “What is this class and how does it work?” learning goal.

  2. (required)  My What is Visualization? tutorial. This will give you a sense of where I am coming from, and where we are going to. This reading is the model for the past “intro lecture” - this year, I am going to try something else in class, so it is extra important that you read it. You should also read the second part: A Simple Example: 4 Design Moves on a Table.

    The What Is This Class and Why? is also an important part of this, but you should have read that already (it was required as part of the “first” thing up top).

  3. (required)  What we talk about when we talk about Visualization (Chapter 1 of The Truthful Art) (theTruthfulArtCh1.pdf 5.7mb) This will be your first exposure to Alberto Cairo’s books. These are discussed at Cairo's Books. I recommend reading the preface (below under optional) first, but it is optional.

  4. (required)  What’s Vis? (Chapter 1 from Munzner’s Visualization Analysis & Design) (Munzner-01-Intro.pdf 0.3mb) This is the main textbook of the class, and is important to get the main ideas. Read what I have to say about the book Munzner's Book.

Optional Readings for Week 1

These are both worthwhile, but the list is already long given the short time frame…

  1. (optional)  For a great (but optional) introduction to Cairo’s style and philosophy, read the “Introduction” (which is before Chapter 1) (theTruthfulArtCh0.pdf 7.7mb). It will help you appreciate the book a lot more.

  2. (optional)  Two Blog Postings by Robert Kosara: What is Visualization? A Definition and The Many Names of Visualization.

    Read these to get a viewpoint different than mine. Robert was a visualization researcher at Tableau (and in academia before that).

Read formatted page...

Readings02: Why Vis? and Critique

in All Readings

If you haven’t done the first week’s readings, please do them first.

This week’s readings are in two parts: one on the “main content” (why vis), and the other about critique. There is a connection.

You should read the first readings before doing this week’s discussion (Discussion 02 (due Wed, Sep 11)). We’ll talk about the second readings in class on Wednesday (please read them before lecture). You will need to read them for the end of the week survey and future classes.

The first part of the readings look at the “Why Vis” question from the “what can a visualization do” perspective. What are the reasons why we would choose to make a visualization? You should read these before Wednesday’s lecture (for the discussion). There is a second part of “why” - “Why does Vis Work?”, what are the perceptual and cognitive foundations? That I took out of this week since we have enough to read. We’ll read about this later in the semester.

The second part of the readings talk about design process and critique. This is much more immediately practical: we will be doing a lot of critique in class.

Critique and redesign practice is a primary tool we will use to learn about visualization, and part of the process for designing visualizations. There are readings about that. Which include some examples of critique gone wrong.

This week, we’ll read some Tufte - who deserves explanation since he is an important “historical” figure. In the past, some students noted in the course evals that I didn’t explain him well enough to students who weren’t aware of him. I now try to be more explicit - since there are lessons to learn (both from and about him).

Many of these readings are book chapters, so you might want a reminder about the Books they come from.

  1. (optional)  Why Visualize: From Information to Wisdom (Preface and Chapter 1 of The Functional Art) (online at publisher) (theFunctionalArtCh1.pdf 7.8mb)

    This is a great introduction to thinking about data presentation from a journalist’s perspective, with Cairo’s great use of examples, clarity, and connection to a bigger picture. It’s optional since it’s a little off topic (it’s more about Data Journalism), and a little redundant with the other Cairo readings. But it might feel weird to start with Chapter 3 (which is required, next).

  2. (required)  The Beauty Paradox (Chapter 3 of Cairo’s The Functional Art) (theFunctionalArtCh3.pdf 11.4mb)

    This chapter gets into the philosophy of evaluation. Cairo has an interesting (and non-academic) perspective. We’re reading this now (rather than when we get to evaluation) because it’s good food for thought, and it has a good discussion of Tufte, so you’re prepared when you read him next.

  3. (required)  Graphical Excellence (Chapter 1 of Tufte’s The Visual Display of Quantitative Information) (1-VDQI-1-GraphicalExcellence.pdf 33.8mb)

    Tufte’s fame, style and personality can get in the way of his message. Cairo (above on the list) will help us understand that. But, there’s no denying that Tufte has had influence - and there is a lot to learn from him.

    Once thing to note with Tufte: he makes his points through critique of examples. As we will see below, his critique technique is terrible. His conclusions don’t always follow, but he has nice examples. This chapter is Tufte at his best: good examples showing that visualization can work. Below, we’ll see Tufte at his worst.

  4. (required)  Tutorial 3: What is Easy to See? and Tutorial 2: A Simple Example: 4 Design Moves on a Table. These extend Tutorial 1 which was part of last week’s reading (read it if you haven’t yet). Tutorial 4 (on critique) isn’t ready yet.

    Tutorial 3 is about asking the question “what is easy to see?” and building your intuitions. It will give you a starting point for doing critiques. Tutorial 2 is really part of Tutorial 1, but I forgot to assign it in the first week.

Critique

We will be talking about how to critique and practicing critique in class. Usually, we just critique – but one of my goals in this class is to teach people to do it more effectively. These readings will hopefully give you some things to think about, although ultimately, I think it just takes practice.

  1. (required)  Understanding Critique (Chapter 1 of Discussing Design by Adam Conor and Aaron Irizarry, O’Reilly Books, 2015). Chapter available online as a sampler from the publisher. (pp. 7-25, 18 pages)

    This is part of a whole book on how to critique productively.

  2. (required)  Visual Statistical Thinking (Chapter 2 from Tufte’s Visual Explanations (pages 26-53; 27 pages). (3-VE-2-Visual-Statistical-Thinking.pdf 25.1mb)

    This used to be part of “Why Vis” - you visualize because it might save lives. Except that Tufte’s critiques are problematic. So an equally important lesson is how not to do critique.

    This is Tufte at his worst. He describes two historical examples. The point is historical examples where visualization could have saved lives (John Snow’s map of the London Cholera Epidemic and The Challenger Disaster). However, his oversimplification of the role of visualization in these situations makes his points forceful, but incorrect to the point of being unethical.

    The reading on redesign (below) will help us see his flawed critique practice. For (optional) interesting takes on how wrong he was (including the ethics issues) see Kosara’s blog and a more technical analysis by some engineering ethics writers (paper) (conference presentation). There’s also a great Freakanomics podcast that talks about the Challenger disaster (weblink) and makes it clear that a visualization wouldn’t have helped - no matter what Tufte tells Congress.

    But let this be a cautionary tale… critique and redesign are great tools for learning. But don’t forget that we have the benefit of knowing the answers. Hindsight makes a lot of things easier.

  3. (required)  Design and Redesign (Medium posting by Fernanda Viegas and Martin Wattenberg)

    The authors are two well known visualization researcher/practitioners who have worked together for years (they are now at Harvard and Google). They use examples and explanations to show how critique and redesign can be an effective tool, and give advice on how to do it well.

    The reading has a great critique of Tufte’s Challenger chapter (above) that shows why it is not good criticism, and that his redesign isn’t good practice either. And they will give you advice on how to do it well.

    Unfortunately, they also give you some of the examples I like to use in class for practice. I guess I need to find new ones.

Read formatted page...

Readings03: Abstraction

in All Readings

Something I forgot to mention explicitly (except in an announcement): The readings are meant to present viewpoints. Many weeks, I will give you a variety of different things to read with the idea of giving you multiple viewpoints. In many (most) CS/Math/Engineering classes, the readings tell you “the” answer; readings are the objective truth to refer to. With this class, many of the topics don’t have a single correct answer, or have conflicting viewpoints to consider, or have some historical angle that is worth considering, … Sometimes I will intentionally give you things I don’t completely agree with because they can be thought provoking. In all cases, they are things I think you will benefit from reading.

This came up in talking to a student about Tufte (last week’s reading) after class. You don’t have to agree with him. You should hear what he has to say and learn from it. Even if it is “don’t make the same mistakes he does.”

This week, it is less that I don’t agree with things than there are multiple answers, each differently useful (or historically relevant).

The topic for this week’s readings is Abstraction.

There are two types of abstraction we need to discuss: data abstraction and task abstraction. Data abstraction should be familiar, but it is good to review the terminology. Task abstraction is a fuzzier, and more vis-specific thing. There are many different ways to think/talk about it. We’ll look at a few. There is a whole literature trying to come up with good ways to abstract tasks in visualization - there are no “right” answers, many things are useful.

Yes, there are six required readings this week. But, this is an important topic, and for all of the readings, they are things to read to get the key points without necessarily worrying about the details. You need to be able to think about data and task abstractly - the specifics of any particular abstraction are less important.

  1. (required)  The eyes have it: a task by data type taxonomy for information visualizations. Ben Shneiderman, Proceedings of the 1996 IEEE Symposium on Visual Languages (pp. 336–343). (doi) (web pdf)

    This is a classic. Possibly one of the most influencial papers in the field. It’s old, and newer things are far more extensive. And the field has moved on from 1996 in many ways. But the initial thinking of abstracting data and task separately, and suggesting what those abstractions might be, really started here. The information seeking mantra is a classic notion. This paper is a classic in the field.

  2. (required)  What: Data Abstraction (Chapter 2 from Munzner’s Visualization Analysis and Design) (Munzner-02-DataAbstraction.pdf 1.1mb)

    A fairly dry description of the types of data. Don’t worry about trying to remember all the terms - you can always look them up when you encounter them again.

    Despite its length, the chapter skips a key concept: level of measurement for scales. You might have learned this in a stats class, but please understand the difference between “scale types” (nominal, ordinal, interval, ratio). Scribbr has a simple introduction.

  3. (required)  Forms and Functions (Chapter 2 of The Functional Art) (theFunctionalArtCh2.pdf 8.2mb).

    Cairo’s thinking about “the shape of data” is another way to think about data abstraction in a less academic way.

  4. (required)  Why: Task Abstraction (Chapter 3 from Munzner’s Visualization Analysis and Design) (Munzner-03-TaskAbstraction.pdf 0.4mb)

    Figuring out how to think about tasks is important. This chapter (and the research paper it is derived from) focuses too much on trying to put every task in a neat organization. What is important is to think about tasks. This is one way to do it, and it will help you learn to think about tasks. Don’t get too bogged down in all of her categories. What I’d like you to get from this is some vocabulary for thinking about what people are doing.

    We’re reading the book chapter, not the paper. If you’re going to work in the field, you might want to look at the paper A Multi-Level Typology of Abstract Visualization Tasks by Brehmer and Munzner, IEEE InfoVis 2013. The chapter is better, although the paper is notable for its extensive references and careful use of the terminology. If you want to read one paper, I recommend the Schulz et. al paper below for contrast.

  5. (required)  Michael Gleicher, Maria Riveiro, Tatiana von Landesberger, Oliver Deussen, Remco Chang and Christina Gillman. A Problem Space for Designing Visualizations. IEEE Computer Graphics and Applications, Volume 43, Number 4, page 111-120 — Jul 2023. (PDF) (IEEE Page)

    This paper promotes thinking about visualization problems (even more broadly than task) as requiring a range of considerations. It was strongly inspired by the Schulz et al. paper (listed as optional below, but strongly recommended) which promoted the idea of thinking about task as a multi-faceting thing using the “Five Ws and How” framework. At a workshop, a bunch of us liked this way of thinking, but thought it should be streamlined (in particular, so it would be useful in classes). We wanted to write a new, broader version.

    This probably fits better with last week’s “Why” readings.

    By the way, “Dagstuhl” is a place in Germany where they hold workshops. The Dagstuhl working group is a set of people I spent time with at a workshop this past summer.

  6. (required)  Amar, Eagan and Stasko. Low-Level Components of Analytic Activity in Information Visualization. InfoVis 2005. pdf doi

    An important paper because it tried to break down “analysis work” into low enough level tasks that can be named, and therefore designed for and evaluated. It is not as encyclopedic as things that come later - but that is a feature. In practice, we need to describe our task, well enough that we can design to address it. Having an encyclopedic taxonomy is useful for many reasons (it provides a vocabulary, a way to see similarities and differences, …). But its not the only thing.

    This is a useful contrast to the prior two task abstractions because it focuses on the low level. Any specific level is insufficient, but the low level is important.

    There is a more recent paper that basically takes this taxonomy and uses it to organize the perceptual science behind visualization. A Survey of Perception-Based Visualization Studies by Task gives a concise overview of Amar, Eagan & Stasko - and then uses it to organize the literature of perceptual studies to connect them to these tasks. You can look at that paper instead of the original (I was tempted to use it as a replacement), but the survey part does get a bit long.

Some optional readings.

This paper used to be required, but it was replaced by the “Problem Space” paper above. This paper inspired the problem space paper, and is discussed in it. I still think it is quite valuable, but the Problem Space paper (even in draft form) is more appropriate for class.

  • (optional)  Schulz, H.-J., Nocke, T., Heitzler, M., & Schumann, H. (2013). A Design Space of Visualization Tasks. IEEE Transactions on Visualization and Computer Graphics, 19(12), 2366–2375. (doi) (web pdf)

    This paper takes a quite different approach to Munzner in thinking about tasks. It came out at the same time as the paper behind the book chapter. It was literally in the same session of the conference. I actually find this to be a more useful way to think about task - it’s not as encyclopedic, but that’s a feature.

If you’re curious about the direct application of abstraction in order to build real practical tools (and a little bit of why Tableau is the way that it is)…

  • (optional)  Mackinlay, J., Hanrahan, P., & Stolte, C. (2007). Show me: automatic presentation for visual analysis. IEEE Transactions on Visualization and Computer Graphics, 13(6), 1137–44. (DOI) (pdf)

    This is a research paper, but it’s an unusual one. It’s easy to dismiss this paper as marketing for Tableau - but it really does give a sense of how good abstractions can help in choosing appropriate visualizations. It is timely, since Tableau will come up in class.

Many task taxonomies focus on what people do with specific types of visualizations (i.e., chart specific task taxonomies). These can be useful because they help connect what users do (tasks) to the available designs. I recommend this one as an example (I am biased, since we wrote it).

  • Sarikaya, A. and Gleicher, M. Scatterplots: Tasks, Data, and Designs. IEEE Transactions on Visualization and Computer Graphics, 24(1) — Jan 2018 . (web page)

    An recent paper that Alper (a former student) and I wrote. It focuses on a specific (but ubiquitous) kind of visualization, but thinks through the tasks and shows how thinking about the data properties and tasks helps suggest designs. I like this paper, but I am biased.

There are many task taxonomy papers. These two are notable because they are a bit “meta” in trying to understand the relationships amongst them.

  • (optional)  N. Kerracher and J. Kennedy. 2017. Constructing and Evaluating Visualisation Task Classifications: Process and Considerations. Computer Graphics Forum 36, 3 (2017), 47–59. (DOI)

    This paper explores how we evaluate task taxonomies. Given that we have so many, it’s a worthwhile question.

  • (optional)  Alexander Rind, Wolfgang Aigner, Markus Wagner, Silvia Miksch, and Tim Lammarsch. 2016. Task Cube: A three-dimensional conceptual space of user tasks in visualization design and evaluation. Information Visualization 15, 4 (October 2016), 288–300. (PDF) (DOI)

    This might just be yet another task classification system, but I like it because it explicitly takes on the variance we see in how papers have defined task.

Read formatted page...

Readings04: Encodings

in All Readings

This week, the topic is Encodings. The Visual channels to which we can map data. These can be thought of as the building blocks from which visualizations are constructed. We’ll read about different encodings, and hopefully get a sense of why you might choose one over the other. And you’ll look at some standard designs and try to understand how they are put together from encodings.

Unfortunately, I don’t have a way to let you read the original source where the idea of basic encodings/visual variables were introduced (see Bertin's Books).

The primary readings are three chapters that discuss the different encodings, and a classic paper they all refer to:

  1. (required)  Marks and Channels (Chapter 5 from Munzner’s Visualization Analysis & Design) (Munzner-05-MarksAndChannels.pdf 0.4mb)

    A nice discussion of the main encodings, with information of how they differ and how to choose.

  2. (required)  Arrange Tables (Chapter 7 from Munzner’s Visualization Analysis & Design) (Munzner-07-ArrangeTables.pdf 0.6mb)

    Position encodings are extra important and potentially more complex, so they get their own chapter. This chapter is particularly interesting because Munzner shows us how to break down a lot of standard (and some not so standard) charts into basic encodings. (note that we’ve skipped over Chapters 4 and 6 - we’ll come back to these).

  3. (required)  Basic Principles of Visualization (Chapter 5 of The Truthful Art) (theTruthfulArtCh5.pdf 10.2mb)

    In some ways, this is redundant with Munzner - but I like it as a different perspective, less formal and less academic. It provides some thoughts on how to make practical use of the research literature (which we will look at).

  4. (required)  Cleveland and McGill. Graphical Perception: Theory, Experimentation, and Application to the Development of Graphical Methods/ Journal of the American Statistical Society 79 (387), 1984. (online library) (ClevelandMcGill84.pdf 3.2mb)

    or

    (alternate)  Cleveland and McGill. Graphical Perception and Graphical Methods for Analyzing Scientific Data. Science 229(4716), 1985. (online library) (ClevelandMcGill85.pdf 1.3mb)

    The first one (84) is the famous “Cleveland and McGill” paper; the second one is a shorter version that was published in a broader venue. You can read either one. Either one will feel dated - this work is a historical foundation of the field.

    This paper is referred to by Munzner, Cairo, and, well, everyone else. It’s the first rigorous attempt to understand how people perform at reading encodings. I think it’s important to see the original paper, so you know what they are talking about. It is OK to skim it to get the general gist and ideas.

    There are many more recent papers that continue the tradition of trying to rigorously and empirically determine what works and doesn’t work. It’s become a whole genre. We’ll see more when we talk about evaluation and perception. See Heer&Bostock (optional, below) for a more modern take on this paper.

  5. (required)  Michael Gleicher. Video Lecture on TreeMaps made for CS765 in 2020. The one lecture is broken into three parts. (the whole thing is 35 minutes). This may also give you an idea of what the lectures were like when they were online.

    A Three Part Series on TreeMaps (and part whole encodings):

    1. Treemaps 1 - Part/Whole Encodings (10:51)
    2. Treemaps 2 - Encoding Part Whole Relationships (9:17)
    3. Treemaps 3 - Details and Algorithms (14:22)
  6. (required)  Data Vis Project - this is a catalog of chart types with lots of different named types. You can select by different types (use the menus at the top). Spend a few minutes looking at all the different charts they decided to name (I don’t always agree with the names). This should make you willing to try to use a more building-blocks based approach. (as an (alternate)  you can look at a different catalog below).

Optional

  • (optional)  Crowdsourcing Graphical Perception: Using Mechanical Turk to Assess Visualization Design. Jeffrey Heer, Michael Bostock ACM Human Factors in Computing Systems (CHI), 203–212, 2010 PDF (607.4 KB)

    This paper is interesting since it recreates most of Cleveland and McGill as a Mechanical Turk study, with a much broader population. The presentation is much more modern (and easier to interpret). This could be a replacement for the original, but I think it is important to see the original.

  • (optional)  Automating the Design of Graphical Presentations of Relational Information by Jock Mackinlay, ACM Transactions on Graphics, 1986.

    In an amazing 1986 system, Jock Mackinlay tried to automatically create charts from data. One of the key insights was to think about visualizations in terms of the basic encodings, which let him reason about these basic building blocks. His intuitions of what encodings were better/worse for different tasks was the beginning of trying to formalize this. He based this on his intuitions - but experiments show that he wasn’t too far off.

    In 1986 he was systematizing the design of visualizations - he had to have a systematic way to design, since he wanted to do it automatically! His approach is exactly what we are doing: considering visualizations in terms of encodings that can be reasoned about. Amazingly far ahead of its time.

  • (optional)  Mackinlay, J., Hanrahan, P., & Stolte, C. (2007). Show me: automatic presentation for visual analysis. IEEE Transactions on Visualization and Computer Graphics, 13(6), 1137–44. (DOI) (pdf)

    This is from last week’s optional list. However, it shows how abstraction and encoding can be put together to make a cool system: Tableau. It is timely, since we are using Tableau in class.

These are late adds for 2024 - should be added in the future

  • (optional)  Younghoon Kim and Jeffrey Heer. 2018. Assessing Effects of Task and Data Distribution on the Effectiveness of Visual Encodings. Computer Graphics Forum 37, 3 (2018), 157–167. (DOI) (PDF)

  • (optional)  Caitlyn M. McColeman, Fumeng Yang, Timothy F. Brady, and Steven Franconeri. 2022. **Rethinking the Ranks of Visual Channels. IEEE Transactions on Visualization and Computer Graphics 28, 1 (January 2022), 707–717. DOI:https://doi.org/10.1109/TVCG.2021.3114684

    Graphical perception considering more realistic factors, a very different task, and other metrics of quality.

Part of the idea of class is to avoid trying to think of visualization as a huge catalog of discrete designs. There are definitely efforts to do this. And they will come up again when we talk about implementation. Here are a few examples:

  • (required)  Data Vis Project - really nice visual compendium, with useful discussions of each. (note - this is duplicated from required)

  • (optional)  The Data Visualisation Catalogue - the index are smaller icons, but the description pages are rich with resources.

  • (optional)  D3 Gallery - examples of things made using D3. Since just about anything can be made in D3, this covers a pretty good range. OK, 3D stuff and scientific data sets are conspicuously missing, but this is expected.

  • (optional)  VTK Gallery - examples of things made using VTK (a toolkit for scientific data visualization). This is a place to see the kinds of things missing from the D3 Gallery. It’s not an encyclopedia - it’s just meant as a counterpoint to the others that ignore this whole side of visualization.

  • (optional)  Harris, Robert. Information Graphics: A Comprehensive Illustrated Reference. Oxford University Press, 2000. (UW Library Link).

    I used this in class as an example of what not to do. It’s quite dated, but also quite encyclopedic. Who knew there were so many different kinds of charts worthy of names? It’s worth a look for amusement. Note that this book is from 2000 (!) before a lot of the current academic organization and rigor had been brought to the field. To make it easier for students in class, I have put a copy of the library’s online version on Canvas at: (Information+Graphics.pdf 58.8mb).

Read formatted page...

Readings05: Implementation

in All Readings

Short version

  1. Watch Dominick Moritz’s Guest Lecture (required) 
  2. Read about some “high-level” visualization toolkit of your choosing (required) 
  3. Look at the D3 paper (or some other thing about D3) (optional) 
  4. Go through the first 32 “chapters” of the UW (the other UW) visualization curriculumn. (required) 
  5. Do some optional reading about something that interests you. (required) 

Note that this “readings” list is part of the reading itself.

Longer version

Reading about implementation is hard: everyone is likely to want to use a different tool, and for any tool, the best documentation is a moving target. What I really want to teach you is not any particular tool, but to give you a sense of what’s available and how you might choose amongst them. That’s what we’ll focus on in lecture.

In 2020, I had a guest lecturer for this topic: Prof. Dominik Moritz from CMU. Dominik was a central part of several of the systems/toolkits we’ll learn about. He gave an amazing survey that connected the key ideas from class (abstraction and encodings) to a range of implementation choices.

Remote guest lectures were an upside to online pandemic teaching. This year, you just get to watch the video. (in Kaltura Mediaspace)

Readings are a little tricky, since I want you to learn “about” some tools, not necessarily to learn to use the tools (which is what most documentation is about). Also, I’d rather you learned about tools that are relevant to you (e.g., if you’re a Python programmer, it makes more sense to learn about Python toolkits, not just because you are likely to use them, but also you won’t get caught up in the language).

The learning goal is to see how there is a range of options for visualizations, and to get a sense of how you might choose between them:

  1. Creating things by hand (literally, with pen and paper, but also figuratively, using manual drawing tools like Illustrator)
  2. Standard Interactive Tools (Tableau, Excel, …)
  3. High-Level Visualization (data) toolkits - (Matplotlib, plotly, Bokeh, …)
  4. Low-Level Visualization (graphics) toolkits (D3, Processing, …)
  5. Declaritive Specifications (Vega-Lite, …)

With #4 and #5, I want you to learn about D3 and Vega-Lite because they are useful to help think about the abstractions useful in creating visualizations.

For #1 and #2, there isn’t that much to read. Reading some of the technical papers about Tableau is optional (see optional readings below).

For #3: I’d like you to read over the documentation for some high-level visualization toolkit that you might want to use. I’ll let you pick. If you’re already using something, use this as an opportunity to learn about something new. The goal is not to learn to use this new tool, but to read enough of the basics of the documentation to understand it’s key ideas and abstractions.

If you need some ideas:

  • Plot.ly - high level charting API for Python, R and JavaScript
  • Bokeh - Python Graphing Library that provides high- and low-level control
  • Seaborn - a python library that has lots of useful chart types
  • HighCharts - a commercial (and industrial grade) graphing library. Not free, so you can’t really use it unless you work at a company. But interesting in the “why do people pay for this when there are free alternatives” sense.

You will need to do this reading for the online discussion posting due on Wednesday.

For #4 (low level libraries): In the past, I wanted to students to learn about D3. But increasingly, I see students wanted to work at different levels of abstraction, and D3 itself is a bit too caught in the details of how web browsers work. So learning about D3 is (optional) .

How to learn about D3

I want you to learn about D3 (not necessarily to learn to use D3). Actually using D3 requires being an expert web programmer (see my 2015 rant about how hard it is for students to learn D3). However, it embodies a number of interesting concepts and ideas - and serves as the basis for almost everything else.

To learn about the ideas of D3, the D3 paper is an important starting point. It’s the “academic document” that tries to explain why D3 is what it is, and why it’s a good idea. It’s a weird mix of an academic CS paper with lots of specific implementation details (which are less common in academic CS papers). The paper really is the best way to get the rationale and the key ideas, you just have to skip over a lot of acronyms and buzz-words and JavaScript/Web browser details. It is not a way to learn how to use D3. Read the D3 paper, but don’t worry about the details.

Note: if you want to learn D3, there are lots of resources around the web. My recommendations are out of date.

For #5: I want you to learn about the declarative specification approach. Vega-Lite is one that is very interesting, and is a mature enough system that you can use it for real things.

For the reading, I want you to learn about a more research oriented tool (Vega-Lite) that is valuable to learn about because it really illustrates the concepts we emphasize in class. The goal is not for you all to become Vega-Lite users (although you might want to), but to see enough about it that you can appreciate its ideas.

The “reading” for Vega-Lite is to do the first 2 “Chapters” of the UW Visualization Curriculum. (UW is the other UW, not us). It is strongly recommend that you watch the video first (its also linked in chapter 1). (Chapter 3 is (optional) , but recommended if you want to really understand or use the tool). Reading the technical paper for Vega-Lite gets at the ideas more directly and is recommended (but optional).

Vega-Lite can either be used from Python (using a binding library called “Altair”), or directly inside of web pages. There are correspondingly, two versions of the curriculum. If you’re a Python programmer, choose the “Altair” version (you can either download the notebook, or run it online in “Colab”). If you prefer JavaScript or aren’t already a Python expert, use the “Obervable” version. There isn’t really any JavaScript programming involved.

Optional

More on Vega-Lite: If you want to learn more about Vega-Lite and declarative approaches, read the paper:

The Future: The Draco system takes Vega-Lite a step farther: automating a lot of the decision making in visualization design by encapsulating design knowledge. See the (award winning) paper. (optional) 

Read formatted page...

Readings 06: Too Much Stuff (Scalability)

in All Readings

There are 4 required readings. The Munzner chapters are fairly short. The papers are somewhat light, especially since one of them is a survey (read it for the gist).

My comparisons paper (reading 3) generally gives you my thoughts on thinking about visualization in terms of comparison. It is the first place that the framework for thinking about scalability came up. In the paper, it is phrased in terms of comparison, but the ideas are more general (see reading 4). While sections 4 and 5 are the main pieces that deal with scale, I am having you read the whole paper now because I think it is useful in general (and this is the most logical place to put it). I believe that comparison is a generally useful way to think about visualization in general.

Our paper on Summary Visualization (reading 4) is a close up look at the scalability pieces introduced in the comparison paper. It tried to confirm that the three way categorization of scalability strategies from the earlier paper really covers everything we see in practice by doing a large survey. As a survey, it provides a lot of details and examples. It does introduce a fourth category, but mainly because it considers a broader range of things (it distinguishes reducing the number of items and number of dimensions, with comparison the latter is less relevant).

  1. (required)  Reduce Items and Dimensions (Chapter 13 from Munzner’s Visualization Analysis & Design) (Munzner-13-Reduce.pdf 0.4mb)
  2. (required)  Embed: Focus+Context (Chapter 14 from Munzner’s Visualization Analysis & Design) (Munzner-14-Embed.pdf 0.5mb)
  3. (required)  Considerations for Visualizing Comparisons, Michael Gleicher, Info Vis 2017 (TVCG 2018). (web)
  4. (required)  Design Factors for Summary Visualization in Visual Analytics. Sarikaya, Gleicher and Szafir. (web) - This is a survey of different ways of doing summarization that appear in the visualization literature. There is a lot about how the survey was conducted, but the main thing for class is to see the different categories of summarization and how they interact. This is definitely a paper where it is important to get the big picture, and not to worry about the details.
Read formatted page...

Readings 07: Scalability in Dimensions

in All Readings

Last week, we focused on scaling in the number of items. This week, we’ll talk about what to do when we have too many dimensions.

Unfortunately, we can’t discuss the mathematics and algorithms of dimensionality reduction in class. Which is too bad, since its useful and important and (in my mind) interesting. There are enough other classes that discuss it.

Reading 1 is a historical one - the “bad old days” when people made wacky stuff. Readings 2-4 are interesting because they use interactive visualization as a medium for presenting the information.

  1. (required)  High-Dimensional Visualizations. Georges Grinstein, Marjan Trutschl, Urska Cvek. (semantic scholar) (link1)

    This is an old (Circa 2001) paper that I am not sure was actually published at KDD. However, it is a great gallery of old methods for doing “High-Dimensional” (mid-dimensional by modern standards) visualizations. Most of these ideas did not stand the test of time - but it’s amusing to look through the old gallery to get a sense of what people were trying.

  2. (required)  The Beginner’s Guide to Dimensionality Reduction, by By: Matthew Conlen and Fred Hohman. An Idyll interactive workbook.

    This is a very basic demonstration of the basic concepts of dimensionality reduction. It doesn’t say much about the “real” algorithms, but you should get a rough idea if you haven’t already.

  3. (required)  How to Use T-SNE Effectively

    I wanted to give you a good foundation on dimensionality reduction. This isn’t it. But… it will make you appreciate why you need to be careful with dimensionality reduction (especially fancy kinds of it).

  4. (required)  Understanding UMAP

    I like this as a way to explain the UMAP algorithm. It is a mix of the details, but also the intuitions. It is less important to understand UMAP, but more to get a sense of what these kinds of algorithms do.

I was going to suggest some optional readings for those of you who want to learn more about dimensionality reduction. There is a lot of great stuff the is visualization specific: techniques for using dimensionality reduction, approaches for user-controlled (supervised) dimensionality reduction, ways to visualize and interpret dimensionality reductions, … But there’s so much I don’t know where to start.

If you’ve had an ML class, you might be wondering “what about X?” (where X is some more modern dimensionality reduction algorithm). Machine learning has made dimensionality reduction a hot topic recently, and there are a plethora of new methods to consider.

There is also a separate question of how to look at dimensionality reduced data. There are no required readings for this.

  • (optional)  Julian Stahnke, Marian Dork, Boris Muller, and Andreas Thom. 2015. Probing Projections: Interaction Techniques for Interpreting Arrangements and Errors of Dimensionality Reductions. IEEE transactions on visualization and computer graphics 22, 1 (August 2015), 629–638. DOI:https://doi.org/10.1109/TVCG.2015.2467717

    This focuses on more basic dimensionality reductions (PCA), but it gets at many of the issues.

  • (optional)  Florian Heimerl and Michael Gleicher. 2018. Interactive Analysis of Word Vector Embeddings. Computer Graphics Forum 37, 3 (June 2018), 253–265. DOI:https://doi.org/10.1111/cgf.13417 (online version)

    While this is specific to Word Vector Embeddings, I like it because it tries to get away from the “default” scatterplot designs, and is very focused on identifying tasks and responding to them.

  • (optional)  Florian Heimerl, Christoph Kralj, Torsten Möller, and Michael Gleicher. 2020. embComp: Visual Interactive Comparison of Vector Embeddings. IEEE Transactions on Visualization and Computer Graphics preprint, (December 2020). DOI:https://doi.org/10.1109/TVCG.2020.3045918 (online version)

    A paper I am quite proud of - dealing with the challenges of comparing embeddings. Again, a lesson here are the choices in how to do things other than scatterplots.

Read formatted page...

Readings09: Perception

in All Readings

Human vision is complex and fascinating (to me). Understanding it is beyond the scope of the class, but hopefully, you can learn some basics and see how it connects to visualization design. It’s so hard to pick just a small set of readings. I admit that this list starts to get long.

The most important “reading” is to watch a Steve Franconeri talk. He gave a virtual lecture on campus earlier this year, but the content is basically from the talk that he gave at the Open Vis Conference in 2018. This video is required.

The main readings are the Ware chapters, since it’s a good introduction to the basics of perception, and its impact on design. Chapter 6 of Cairo is useful because it considers “higher level” perceptual issues, and gives his non-scientific take. I also include Cairo Chapter 5 (as optional) because it’s redundant with Ware, but it’s fun to see his (less scientific) take on it. And look at Chris Healy’s web page to get a sense of pre-attentive effects.

You were required to read #2 last week - it’s included here for completeness.

The readings aren’t as plentiful as they might seem: the Ware and Cairo chapters are fairly light, and get the key points across (you don’t need as much of the details). You don’t need to read the Healy and Enns paper - just look at the demos. The 39 studies in 30 minutes posting is totally skimmable - it’s a 30 minute talk, but you can get the key ideas quickly.

The Ware readings are from the book Visual Thinking for Design - this is the older version. If you have the newer version of the book, read the appropriate chapters. You were already required to read Chapter 9 (the last chapter) in a prior week. If you haven’t read it yet include it in your readings. (ware09.pdf 1.5mb)

  1. (required)  Steve Franconeri. Thinking with Data Visualizations, Fast and Slow, Open Vis Conference Talk, 2018 (via YouTube).

  2. (required)  Visual Queries (Chapter 1 of Visual Thinking for Design) (ware01.pdf 3.1mb)

  3. (required)  What We Can Easily See (Chapter 2 of Visual Thinking for Design) (ware02.pdf 3.4mb)

  4. (optional)  Structuring Two Dimensional Space (Chapter 3 of Visual Thinking for Design) (ware03.pdf 4.6mb)

  5. (required)  Visualizing for the Mind (Chapter 6 of The Functional Art) (theFunctionalArtCh6.pdf 8.1mb)

  6. (optional)  Look at the pre-attention demos and pictures in the old version of Chris Healey’s web survey of perceptual principles for vis. The paper (optional, below) is much better in terms of explaining things - but it’s too much to require as reading.

  7. (optional)  39 Studies about human perception in 30 minutes. By Kennedy Elliot. Medium Posting.

    The list is getting long, but this is really worth a skim.

    This gives you the punch line of 39 different perception studies very quickly. What’s great about this is that it gets at “what can we learn from design from each of this.” While understanding the experiments is interesting (especially if you are a researcher trying to design new experiments), the basic takeaway is often what you need to influence design.

Perception: Optional

Perceptual science is a whole field, so we’re just touching the surface. Even just the beginnings of what is relevant to visualization. It’s hard for me not to require these…

  • (optional)  The Eye and Visual Brain (Chapter 5 of The Functional Art) (theFunctionalArtCh5.pdf 5.4mb) Optional - Cairo’s take on it. More based on his experience as a designer.

  • (optional)  Healey, C. G., & Enns, J. T. (2012). Attention and Visual Memory in Visualization and Computer Graphics. IEEE Transactions on Visualization and Computer Graphics, 18(7), 1170–1188. (pdf) (doi)

    This is a good survey of basic perception stuff that is useful for vis. In this past, this was required reading. Warning: this survey is a little dense, but it gets the concepts across with examples. Don’t worry about the theory so much. Get a sense of what the visual system does (through the figures, and the descriptions of the phenomena), and skip over the theories of how it does it (unless you’re interested). There is an older, online version as Chris Healy’s web survey which has lots of cool pre-attention demos. But the text in the paper is much better, and the paper includes more things.

  • (optional)  Franconeri, S. L. (2013). The Nature and Status of Visual Resources. In D. Reisberg (Ed.), The Oxford Handbook of Cognitive Psychology (pp. 1–16). Oxford University Press. (pdf) (doi)

    This is a survey, similar to Healey and Enns above, but written more from the psychology side. The first part, where he characterizes the various kinds of limitations on our visual system is something I’ve found really valuable. The latter parts, where he discusses some of the current theories for why these limitations happen is interesting (to me), but less directly relevant to visualization (since it is mainly trying to explain limits that we need to work around). I think these explanations may lead to new ideas for visualization – but its less direct of a path.

  • (optional)  Albers, D., Correll, M., Gleicher, M., & Franconeri, S. (2014). Ensemble Processing of Color and Shape: Beyond Mean Judgments. Journal of Vision, 14(10), 1056–1056. (paper page) (doi)

    We (Steve, myself, and some of our students) have written a survey paper on some other things the visual system can do (and why it can matter for vis). We call it “visual aggregation” and in psychology they call it “ensemble encoding.” It might be useful to skim through for the pictures and diagrams. I will talk about this stuff (at least the work that we did) in class.

Read formatted page...

Readings10: Color

in All Readings

Color is a surprisingly complex topic - and the complexities of perception and display have real impact on how we use it for Vis. There is some redundancy in these readings, but it’s hard for me to choose which ones are best. It’s probably OK to see it multiple ways. This is actually less reading than I’ve given in the past for the topic (see 2017 Color Readings). And there are so many recent and useful things…

And, since it’s thanksgiving week, and the project is going on, I wanted to reduce the reading, so I’ve made more optional than usual. I’ll discuss more theory in class, so I’ll make more of the reading optional.

  1. (required)  Maureen Stone. Expert Color Choices for Presenting Data. (Stone-ColorChoices.pdf 0.3mb) (originally a web article).

    Maureen really is an expert on color. This is a good review of the basics, and then gets into why it’s important to get it right, and how to do it.

  2. (required)  Map Color and Other Channels (Chapter 10 from Munzner’s Visualization Analysis & Design) (Munzner-10-MapColor.pdf 0.4mb)

    Color is really 10-10.3, 10.4 talks about other channels. It’s a good reminder.

  3. (required)  Borland, D., & Taylor, R. (2007). Rainbow Color Map (Still) Considered Harmful. IEEE Computer Graphics and Applications, 27(2), 14–17. (rainbow-still-considered-harmful.pdf 0.7mb) (doi)

    The rainbow color map is still used (10 years after this paper). Understanding why you shouldn’t use it is a good way to check your understanding of color ramp design. However, there are lots of reasons you should use it (or a variant of it) that are discussed in more modern papers. The key point is to understand the issues.

    A more recent paper (Bujack et. al - optional below) gets at this in a more mathematical way, but it is overkill for class purposes.

    There are also recent papers that show the benefits of rainbow color maps.

Color: Optional

Since you’ve been learning about perception from the Ware book, it makes sense to include it. In previous years, this was required.

This paper is really practical in that it shows how color science and modeling and be used to tell us what will and won’t work in visualization. It shows the value in careful experimentation and modeling. It’s a good fit because it focuses on color. And she’s my former student.

We’ll talk about Color Brewer in class, but if you want to know the science about it:

  • (optional)  Cynthia Brewer. Color Use Guidelines for Data Representation. Proceedings of the Section on Statistical Graphics, American Statistical Association, Alexandria VA. pp. 55-60. (web) (Brewer_1999_Color-Use-Guidelines-ASAproc.pdf 1.5mb)

    The actual paper isn’t so important - it’s the guidelines she used in creating Color Brewer, which also tells us how to use it. What is more important is to actually check out ColorBrewer which is a web tool that gives you color maps. Understand how to pick color maps with it, and try to get a sense of why they are good.

    The irony is that this, one of the most important papers about color, wasn’t printed in color!

If you want a little more of how color science and vis come together.

  • (optional)  Bujack, R., Turton, T. L., Samsel, F., Ware, C., Rogers, D. H., & Ahrens, J. (2017). The Good, the Bad, and the Ugly: A Theoretical Framework for the Assessment of Continuous Colormaps. IEEE Transactions on Visualization and Computer Graphics, 24(1 (Proceedings SciVis)). (doi)

    This paper does a serious, deep dive into figuring out what makes a good or bad color ramp and making the intuitions mathematical. You can play with their tool for assessing color ramps.

In case you want a few other perspectives on color…

Read formatted page...

Readings11: Interaction and Design

in All Readings

This week, we’re combining two very different topics. Both are hard to give readings about.

There are two very different topics this week.

  1. The first is graphic design. I call it “Design School in a Day”, since we’ll see if/how we can impact your graphic design skills in a single lecture (and a design exercise).

  2. The second is interaction. It’s not that this isn’t a big and important topic - it’s just one that is hard to learn about through readings.

Graphic Design Readings

While a little bit of reading is not going to make you a designer, it can begin the process of getting you to improve. And it will give you something to practice.

It’s not hard to find things to read about design. You can look just about anywhere. But finding something that is short and that you can learn quickly from is hard.

So, there is no required reading. You need to read something. And tell your classmates about it in the discussion. You can search the web for some web page, or try to find a magazine article, or… You can pick something specific (like how to choose fonts) or general. Or you can pick the things I list here.

(both of these are listed on the design books page)

I really like these basic lessons of 4 basic principles from Robin Williams’ Non-Designer’s Design Book. It will be the basis of the lecture. 4 brief chapters (and a summary chapter) will give you the idea of the CARP principles (contrast, alignment, repetition, proximity). People who are good designers (and teach design) tell me this is a great place to start. I feel that learning this has helped me (and generations of students seem to agree). Yes, this is 5 chapters, but they are really short (a few pages each). They are all in The Design Readings Folder. (TheNonDesignersDesignBook1and6-Overview.pdf 0.9mb) (TheNonDesignersDesignBookChapter2.pdf 4.8mb) (TheNonDesignersDesignBookChapter3.pdf 4.3mb) (TheNonDesignersDesignBookChapter4.pdf 3.5mb) (TheNonDesignersDesignBookChapter5.pdf 4.3mb).

The book “Design for Hackers: Reverse Engineering Beauty” seems to be exactly what would be appropriate for class: a book trying to teach design principles to computer scientists. I like the book (although I haven’t read the whole thing closely). And, it is available online through the UW library. I have put 2 relevant chapters into The Design Readings Folder.

But I encourage you to go beyond this and find something else to read.

Interaction

Interaction is one of those things that is best experienced, rather than read about. The readings will give you a lot of examples, and help to give you a framework for organizing your thinking around interaction. The optional reading is a really useful way to think about the tradeoffs in using interaction.

The first reading is a survey paper that provides a good way to organize many of the interactions we see in visualization, and provides lots of good examples. Two chapters of the Munzner book will formalize some of the common patterns. The optional reading is a great way to think about

  1. (required)  Interactive dynamics for visual analysis. Heer, J., & Shneiderman, B. (2012). Communications of the ACM, 55(4), 45. (pdf) (doi)

  2. (required)  Maniplate View (Chapter 11 from Munzner’s Visualization Analysis & Design) (Munzner-11-ManipulateView.pdf 0.5mb)

  3. (required)  Facet into Multiple Views (Chapter 12 from Munzner’s Visualization Analysis & Design) (Munzner-12-FacetMultipleViews.pdf 1.0mb)

    This isn’t specific to interaction, but it fits better here than anywhere else.

  4. (optional)  Lam, H. (2008). A Framework of Interaction Costs in Information Visualization. IEEE Transactions on Visualization and Computer Graphics, 14(6), 1149–1156. (doi). (Unfortunately, the “author’s free” version of this paper is gone. You can Access the official version either on campus, or using the campus proxy server EZProxy.)

    I’ll use this paper to frame the discussion in class. It provides a good “why not add interaction” point of view.

Read formatted page...

Readings13: Uncertainty

in All Readings

This is a great topic, but I am not quite sure what to recommend that you read. It’s a holiday week, so I’ll keep the list short.

Lace Padilla Uncertainty Vis Chapter

  1. Jessica Hullman How to get better at Embracing Unknowns, Scientific American, Volume 29, Special Issue. (pdf) (official paywalled).

    A nice brief survey.

    If you want more, you could watch this talk at OpenVis. Although, these slides would have been even better.

  2. Padilla, L., Kay, M. and Hullman, J. (2022). Uncertainty Visualization (Chapter 22). In W. Piegorsch, R. Levine, H. Zhang, and T. Lee (Eds.), Computational Statistics in Data Science (pp. 405-421). Wiley. (pdf) (PsyArXov)

    A litte more technical than #1, covers some example techniques.

Read formatted page...