>> Steven Drucker: So a brief introduction. I think... interning here with George Robertson. So that was 1994?

advertisement
>> Steven Drucker: So a brief introduction. I think I first met you when you were
interning here with George Robertson. So that was 1994?
>> Tamara Munzner: 1998.
>> Steven Drucker: Yeah, so it’s been awhile. I wasn’t in visualization at the time, but
now I come here and I think you are one of the premier professors teaching information
visualization today. She just has a new book out, which I’ve had a chance to read and is
fabulous. She is here today and [indiscernible] tomorrow. So please, if you have any
interest in speaking with her let me know. Her schedule has been filling up pretty
quickly. So please welcome Tamara.
>> Tamara Munzner: Thank you. All right. So yes, thanks for the kind introduction. It
has been awhile since I have been back at Microsoft research. So I have been working on
this book project for quite some time. It turns out books take awhile, who knew? So
what I am going to do today is not try and cover the entire book, which is not possible in
an hour no matter how fast I were to talk. I am just going to hit a few key ideas, give a
big picture and particularly talk about ways I try and frame the field. It might be a little
new or different than what you might have seen before, so trying to focus on the more
interesting bits.
So to start out with let me talk about my own definition of visualization and some of its
implications. To save myself a few syllables over the hour I will call visualization vis,
because that’s the word I will use quite a bit. So computer based vis systems provide
visual representation of datasets designed to help people carry out tasks more effectively.
Now why did I pick this particular definition? What are the implications of it? So for
one thing there is this idea that we’ve got datasets and people together in the same
sentence. And in particular that vis is suitable when there’s some need to augment the
humans instead of replacing them with something purely computational.
So in what context does this happen? So I argue there’s a lot of situations we don’t need
vis. We don’t need vis if we’ve got something completely automatic that we trust. So
the problem is there are a lot of situations where you’ve got an analysis problem that’s
not well specified. There might be one of dozens, or hundreds, or thousands, or tens of
thousands of questions that you might want to be asking and you don’t know a priori
which they are. So that’s a situation where vis is typically a lot more suitable.
Now there’s actually a spectrum of possibilities and it could be that many of you might
think really on only one flight of that spectrum. So what I’ll call the classic use case for
vis is you intend it to be used in the long-term indefinitely by some group of end users.
So that classic case is something like exploratory analysis often with something like
scientific data, but that’s only one use case. So that kind of discovery use case is very
common. There is also not just discovery of the unknown, but also presentation of the
known. That might be anything from things like graphics in the New York Times to any
other situation in which you are not trying to discover something new with the vis, you
are trying to present something you know to some audience of other people.
But, there’s also these three other use cases that I want to make sure people are thinking
about. These are all in some sense visualization trying to work itself out of a job. So one
would be you are using vis with the intent of later developing an automatic solution, but
you need to understand it more so you want to have some exploratory analysis towards
the goal of model building. Another might be that you’ve already started building
something automatic and you could use the vis to try to refine it, or debug it, or figure out
the right set of parameters.
So often in that case the vis is something for the developers of the algorithm, not for the
target end users or it might be that you’ve even finished building the automatic system,
but you’ve got to get the people that are going to use it to actually trust that it’s right. So
before you actually let it run unmonitored you might have some situation where again the
visualization is trying to bridge the gap between the old practice and something that’s
new and fully automatic.
Now here’s another interesting word in that sentence “visual representation”. So why
what is the goal of having this visual representation, which is something external to your
own head? So the idea with this always is that anytime we can replace cognitive with
something perceptual then we have a win where we’ve suddenly freed up internal
resources for people to do something higher level. So here’s a very classic example, we
have a table full of numbers, in this case these numbers are gene expression levels that
are measured after applying some experimental drugs.
Now if I ask you things like, “find the minimum value,” “find the maximum value,” even
those really simple sounding tasks what do you have to do? You have to read a number,
you have to remember it in your head, you have to read the next number and compare it.
And this is trivial if you’ve got two numbers, but once you start getting a few dozen or I
ask you more complex questions like, “Well what’s the distribution not just min and
max?” This actually starts using significant amounts of resources internally. If in
contrast I take these number and in this case I’m coding them according them to a
diverging color scale where you are now able to use your perceptual system to read off
things like low values, high values and C distributions quite quickly without using a
bunch of internal resources, the idea being that now you can actually ask higher level
questions than just what’s the range of the distribution.
Now one question is: Why is it useful to actually represent all that data? After all we’ve
got statistics, aren’t we done, and are we there yet? And the answer typically is that
statics is always necessary, but in many cases not sufficient. Sometimes the loss of
information that you have in a summary matters and the details are something that it
would help if the person is able to see. So part of what you want to do is confirm what
you expected to see in the summary, but maybe look for unexpected patterns or
particularly back to this idea of model building. You wan to gage whether or not the
particular sophistical model you are using is actually a good fit with your data. So now in
this room there’s going to be some ringers, but I’m curious who here has heard of
Anscombe’s Quartet? So many, but not all the people in the room have.
So this is this great example that was designed by the statistician Anscombe in the early
70s where we have 4 datasets and they have identical mean and variance, x and y and x/y
correlation. So from this particular flavor of summary alone you can’t tell the difference.
The instant I draw you a picture of course humans can tell the difference. We see a very
classic distribution that’s probably what you expected. We see something that’s clearly
non-linear verses linear. You know we see something where that correlation line is a bit
off and then of course we see this nice terrible example where it’s deeply misleading.
This of course was a synthetic dataset that was designed to mislead in that case, but the
key thing here is you saw these patterns very quickly and this is 20 data points. What
happens when we have thousands or millions of data points? What happens when we
have dynamic data that’s changing over time? It just get’s worse, so this is the opposite
of it get’s better. There are a lot of situations where we really do want to show people a
lot of the details and that is where visualization shines.
Now there’s another interesting idea which is that there is actually some resource
limitations of three very different flavors and computers and humans and displays all
have their limits. Now for those of you who came out of computer science the idea that
there are computational limits that we care about like CPU time or system memory this is
obvious and we are used to thinking about them as computer scientists. But, there are
also very different limits, even though some of these words are the same, for humans.
And what it means to have limits of human memory are quite different than the limits of
computer memory, certainly [indiscernible] is not going to help us, but more to the point
it’s a very different model where we have particularly for things like short-term working
memory some really strict limits on what we can do and particularly what we can attend
to at once.
Now there’s a third limit that people might not have thought about quite as much, which
is this idea that there is limits on the displays. So keep in mind that display technology
has gotten better at a far slower pace than computer technology. So one of the most
precious things you have are pixels. It’s what you run out of even before human attention
you start running out of pixels on your display. So it’s useful to think about those as a
constraint in your situation as a designer. And one thing that we struggled a lot with is
this tradeoff of information density. When are you encoding information verses having
white space that’s not telling you anything and the reason it’s tricky is of course it’s a
trade off. You don’t simply want to put everything on the screen at once all on top of
each other, that’s too much clutter. But, if you spread things out too much then it takes
huge amounts of navigation and zooming to even see anything at all and it’s hard to see
details in the overview at the same time. So this idea that there is a tradeoff of
information density is one useful thing to think about.
Now finally this definition has words like tasks and effectiveness in this. This should
immediately make you wonder: what does effectiveness mean? Is there an operational
definition of that? There is an idea that a lot of people have, which is that vis is intended
to let you do new things that you could never do before. That’s definitely one of the use
cases of it, but it’s not the only use case. Perhaps the even more common case is to speed
up something that people are doing already, but to do it dramatically faster. So there is
both novel and fast. Now what makes life both terrible and good is that this is hard. It
turns out that most of the possible designs you could have for vis system don’t work; they
are ineffective.
So one of the arguments in my book of why I’m presenting things the way I do is that I
want to increase the chances that people do good designs by having them think
systematically about the entire space of possible designs. It’s a large space; it’s easy if
you don’t know much about vis to get stuck in a very small part of that. And as I will be
talking this idea is that well how would you know what to do? You are constrained by
the tasks in addition to your data. So it’s not totally surprising for people outside the field
that your dataset has got to dictate something about how you show it, but keep in min that
there are many, many possible pictures of the same dataset and the task of what the user
is trying to do is a way to actually try to constrain your choices as a designer, because as
we’ll talk about some today, representations of data don’t all server the same tasks
equally. Some are better for some tasks and some for others and likewise for the data.
So the book is built around an analysis framework that thinks about 4 different levels and
3 different questions. So let me give you an overview of that. So in what I call the
nested model of thinking about visualization design I’m actually splitting things up into
levels to help us think about them separately. So at what I think of as the very top level,
the outside level is a domain situation. There are some particular people you might have
in mind to use the system and they have characteristics. They have maybe particular
domain knowledge. They might be physicists, they might be chemists, they might be in
finance or they will have particular data. So there’s a lot of questions you can ask about
who is trying to use this and in some sense this is a very classic HCI question. Who are
you designing for?
Then there’s something that’s really important and perhaps far too easy to ignore, which
is the idea that we need to abstract from some domain problem in domain language to
something that we can actually reason about cross domain. So this idea that we need
abstraction’s where we translate from the domain to generic is a really, really key
question. I’m going to focus on two different questions: One is what is being shown? So
I’m going to call that the data abstraction and also why is it being shown to the user? I’m
going to think of that as the task abstraction. Now this is a very interesting terrain
because first of all there’s this question of translation to something generic and a lot of
this talk will be the building blocks of the generic vocabulary for thinking about data and
tasks.
But, in addition what’s particularly interesting about the data abstraction is you might do
something different than what you are given. The easy case in visualization is someone
hands you a dataset and you draw a picture of that. The interesting case, which almost
always happens with large complex real world data is you are given a dataset and then
you do some series of transformations, such that you derive new data so that when you
draw the picture of that derived data you actually help them with what they had in mind,
so this idea that your data abstraction is actually a design choice, not just what you’re
given is one of the really interesting and hard parts. So really thinking about this
abstraction layer explicitly as its own thing is something that I argue is a really good idea
and that we’re thinking about the what and why at that level.
Now finally to move on to what you might have thought about as central to vis I’m
calling this an idiom. A lot of people call it technique or a method. In particular it’s
“How is it shown?” So how do we actually make these interactive visual
representations? And I’m going to split that into what I’m going to call visual encoding:
How is it that we draw these pictures? And interaction which is: How do you manipulate
these pictures? For some idioms these are actually very intertwined and you can’t easily
separate them, but some fall more on one side or on the other. So I’ll talk some about
visual encoding and interaction.
And one of the reasons I focused on this question of idiom as it’s own level is I want to
separate out this question of designing how you draw and interact with the picture from
the algorithm level, which is how do you instantiate that efficiently in some
computational format? You can have different possible algorithms for the same idioms.
So it’s useful to distinguish between them. One thing about these four different levels is
that anything you figure out at one level above actually cascades down. So decisions you
make about abstractions cascade into idioms. Once you’ve specified your idiom well that
dictates what your algorithm needs to do. So this idea of these nested dependencies is
important.
Now one of the reasons that I find this model an interesting age for thinking is it helps
you answer the question of: Did it work? How do you know if your design has actually
succeeded? The interesting thing is that vis is this very highly interdisciplinary field
where you need quite different methods to answer the question of: Did I help at every one
of these levels? So let’s actually start with that central level, the algorithm level. Well
that’s something that as computer scientists we learn about. How do you run a
computational benchmark? It’s interesting and tricky and complexity analysis for those
who are more theoretically inclined. So the methods of computer science serve us very
well at that inner most box of algorithm. But, there are a lot of questions that we can’t
answer that way.
So questions like: Do I actually have a way to draw this picture that works with human
brains and processing? That tends to be something where we often want methods more
out of say cognitive psychology. If you’re actually running a controlled experiment in a
lab with a stopwatch measuring human performance there’s a lot of trickiness to that
experimental design that you are not taught in a typical CS class. So a lot of issues about:
How do you do lab study, controlled experiments? Those are methods we often get out
of cognitive psychology.
Then how do you think about whether or not this thing that you’ve designed is even
reasonable? So often there are a lot of design guidelines for these. So there’s a lot of
methodology out of design, generation of multiple alternatives, trying to justify some of
your choices, the idea that there’s not a single correct perfect answer, but there are many
possible good answers. There are a giant number of terrible answers and distinguishing
between those is interesting, but actually there’s even more.
So that whole question of the domain situation and the abstraction of translating from a
domain problem into something generic. How do you know if you’ve got that right?
That’s an interesting question that is not well served by controlled experiments in a lab.
This is something where you actually want to get methods less out of cognitive
psychology and much more out of domains like anthropology and ethnography, often as
filtered through HCI. But, often much more qualitative methods where you actually talk
to people, that’s necessary, but absolutely not sufficient.
You often have to observe them. You can see what happens in a field study where you
deploy your system to people and see whether what they can do changes and try to
understand how that changes. That’s typically not something where you’re looking for
statistical significance, but something where you’re doing a very different
methodological approach of trying to understand what’s now possible or what is now
sped up, but not so much with a stopwatch.
Now what’s important about these divisions is one of the big areas of weak work in
visualization is when people try to validate choices at one level with methods appropriate
for another level. So in particular if you are trying to convince me that people can use an
idiom well you are not going to convince me of that by telling me a CPU benchmark
about how fast your algorithm was, because that’s a different level of design. And
likewise I mentioned this idea that it’s pretty hard to figure out the abstraction stuff with a
user experiment and why is that?
In a controlled experiment in a lab you tell the user what to do. If you are trying to figure
out whether you are understanding what users do is correct, well you’re not going to
succeed with that. So this approach to thinking about validation methods at each level is
something I’ve found has really helped my own thinking and also helped me understand
different aspects of this design. Let me emphasize one thing, this is not something where
you start at the top, go all the way down to the bottom and declare victory. It’s very,
very, very iterative as with many design issues.
Now let me address this question of: So why am I talking about analyzing visualization
systems so much? It’s in the title of the book, why is this? And I argue that analysis is a
way to try to impose a structure on a very, very large design space. So it provides some
kind of scaffolding to help people think in a systematic way of some of these design
options. My argument is that analyzing existing systems can be a useful stepping stone
for a designer who wants to design a new one because it get’s them to think about the
design space more generally.
So let me actually give you a quick preview of this before I talk about the framework
much at all. Let me show you can example of comparing two systems which in some
ways are very similar and in other ways are very different. If we just look at the pixels on
the screen they are doing pretty different things. So what’s really going on here? Here
are two systems for looking at large trees. SpaceTree is some work out of Maryland.
TreeJuxtaposer is some work out of our own lab.
Now if I use this why, what and how analysis system that I talked about these questions
of: What are we doing with the data, why is the user doing it with a task and how are we
actually doing the idiom? Well from the “what” point of view they are both looking at
tree data. I’m positing that users are doing the same task in both situations and that task
is to try to find a path between two nodes. So out of all the possible paths in the tree what
is the one that we are looking for and then that question of how? Now notice how both
SpaceTree and TreeJextaposer are somehow visually encoding that data. There is a
picture that we are drawing. That’s pretty pervasive in all vis systems is that we’re
visually encoding. They both have an interaction technique that involves some flavor of
navigating. You change over time as you zoom in.
They both have this idea that you can select an object, but then there’s a place where they
differ. With SpaceTree once you select something much of the rest of the tree is actually
filtered out and parts are aggregated together. That’s actually these aggregated things
where depending on what you’ve chosen you see a lot of the rest of the tree in a very
compact, simplified cartoon style version and TreeJuxtaposer does something very
different. When you select something with TreeJuxtaposer what it does is it changes the
spatial arrangement of that layout. It’s actually stretching and squishing. So it’s
stretching out part of it and compressing the rest. So these are different approaches at a
high level arranging in space verses aggregating and changing the visual representation to
this same question. So a lot of my arguments with the analysis framework is to help us
think in this quite systematic way about systems.
So what is this framework I’m talking about? Well, there’s a lot of stuff here. So let’s
start with this question of what? What are some ways we can think about our data in a
generic way that’s not tied to a particular domain? Now I mentioned that there’s a lot of
book and a small number of minutes in this talk so I am not going to slog through every
detail in all of these diagrams. I will be showing you a lot of big picture diagrams to give
you flavor. I’m just going to pick a few things out of this to give you a sense of flavor of
this kind of analysis. So in particular I’m going to talk about this idea of data types and
dataset types.
So I argue that in visualization there are really 3 main types of data we have to worry
about and I’m going to start out with tables of data, that’s a common case right. You’ve
got a spreadsheet, it’s in Excel and what have you got in it? The vocabulary I’m going to
use to talk about this is that in the really simple, nice, easy case where you’ve got a flat
table your items are your rows, your attributes are your columns and you can think of
having some value in there. Now of course there can be more complex and interesting
multidimensional tables. As a computer scientist think about this as an array with
multiple indicies or keys and looking at interesting slices of those tables or roll ups is
where a lot of the action is.
But, there’s something I want to have you think about first which is: What’s happening
with these attributes? What is the type of data that you’ve got? Is it categorical, so is it
something where you can tell the difference between things? There are apples, oranges
and bananas, but that’s really all you know or is there some intrinsic ordering of your
data? The classic case is you’ve actually got something that’s quantitative where you’ve
got the weights of things like your cats. Your cat could be 20 pounds, another cat could
be 15 pounds and you can do arithmetic and say there is a 5 pound difference between
those cats and that is a meaningful statement.
There’s also orderings where you can’t do that kind of quantitative analysis on it. My
favorite example is T-Shirts. It is not defined what a large T-Shirt minus a small T-Shirt
means and yet everybody will put the medium T-Shirt in between the small and the large.
So there is an ordering, but you can’t actually do quantitative mathematics on it. So this
question of do you have an ordered data attribute or something that’s more of a category
we’ll come back to very shortly as being a really central question.
But tables are not the only kind of data. So another interesting thing we can think about
explicitly is what if you’ve got a network? What if your items actually have some
connections between them? In this case we often call the items nodes and we call these
links between them links or edges. Sometimes these networks are called graphs. There’s
a field of graph drawing in visualization. I am going to avoid the word graphs here and
mostly try and use the word network. There is also a third type of data and that data is
where you have spatial information that’s intrinsic to your dataset. So this idea that you
have tables, or networks or spatial data is really what I think of as this holy trinity of the
three data types in vis.
Now there are flavors of spatial data. One is that you’ve actually got continuous data that
you’re sampling on a regular or an irregular grid. So if we think about this room for
example we could think about sampling in many places in 3 dimensional spaces to get
things like maybe the airflow, the temperature and so suddenly we are dealing with some
of the interesting mathematics of how do you sample continuous spatial data and
interpolate?
So there’s a lot of interesting implications once you start being in a regime where you are
thinking about continuous data that you have samples of rather than more discrete data
and of course you could represent spatial fields in a table, but I really want people to
think about when is data spatial? There’s even the case of where you simply have shape
information. There is geometric structure and that might be points, or lines, or surfaces,
or volumes. So this question of tables, verses networks, verses spatial data is the way I
think of fundamental division.
>>: Is it a specific attribute then you were thinking?
>> Tamara Munzner: Well so this get’s into the stuff, there’s more complex stuff in the
book that I wasn’t going to go into deeply, but let me mention briefly. So the way I think
of temporal data is –. I wonder if I can skip forward.
>>: [indiscernible].
>> Tamara Munzner: The short answer is time could be a key to your data. You can
think of time as actually being one of the ways that you are indexing your data or time
could be more of a value. So you might have something which is, “I took this sample on
Tuesday,” that’s time as a key or you might say, “There was a horse race and this race
lasted 47 minutes,” but that’s not something you are really using as a key, that’s more of
a value. So time alone doesn’t tell you whether the semantics are key or value semantics.
And there are certainly a lot of datasets where you actually have both space and time, but
there’s a lot of non-spatial data where you also have time. So in some sense I think of
time as one of the keys that you could have, but in this kind of super high level picture
it’s not quite first class in the sense that it can be attached, it can be an attribute type for
any of these. So it’s important, but it’s not a way to distinguish between. If we have lots
of time at the end we can go deeper, but I’ll keep going for now.
So that was just a few little flavors of this question of what do we have? What are these
building blocks of abstract data? Now I’m going to spend a little bit more time on the
why. This question of what is an abstract vocabulary of tasks that people have to do? So
again I’m not going to walk through absolutely every part of this, but I am asking you to
notice there is this column of actions and there’s this column of targets and what’s that all
about? So a lot of things that people do are these action target pairs. So I’m thinking
about that systematically. So if you start looking through visualization papers you will
see a lot of these phrases like, “The goal is to discover distribution,” or “To compare the
trends,” or “Find the outliers,” or “Browse topology structure.” So, this idea that there’s
an action and a target and let me actually walk through in a little bit more detail what
some of these actions and targets can be.
So with the actions there are really three separate levels where you can ask these
questions and they are actually decoupled and they can go together in any way. So I’m
going to walk through each of them separately. So one is this question of: What are we
doing at the analysis level when we are analyzing data? And already by that statement
I’ve made the world into the part I’m talking about and the part I’m not. So when I’m
talking about analyzing data that means specifically that I’m not addressing the use of
data for artistic purposes. So I’m talking about the use of data for analysis much more
than an evocative emotional experience, although there are some interesting areas about
where those might overlap, but that’s not what I’m focusing on today.
So the really highest level split is you could be consuming data that already exists. A
very classic distinction in visualization is this idea of discover something new verses
something known. I already even eluded to that my previous slides. Sometimes that’s
called exploratory verses explanatory visualization, different vocabulary for that basic
idea. And moreover within discovery there is often a distinction between verifying an
existing hypothesis or generating a new hypothesis.
Now what’s gotten a bit of press lately in the vis world is this idea of a third category
that’s still not so well understood. We’ve called it “enjoy” for now, which is people are
having fun with their data, they are playing with it, it’s not their day job and yet here they
are. It might be baseball statistics on the web or baby names, even if you’re not about to
name a baby. All kinds of things you might do with data, sometimes that’s called casual
or social vis. So we have that as sort of a first class citizen for you to think about as the
goals of the user. Now you might not just consume existing data, you might create new
data as part of the visual analysis process. So we are calling that the case of produce.
Now one thing you might do is you might annotate. You might take an existing dataset
and add information to it. You might record an analysis session. Maybe you do that in
order just to play it back later to show someone else to present. Maybe you do that to
really make sure you’ve got providence of what’s happened with your data.
The third one here is very crucial and I want to put that front and center and get people
thinking about it, because this is the idea that you might derive new data from your
existing data and I alluded to that as a crucial question in that data abstraction step. You
can derive new things. You are not bound by what you are given. You are actually free
to change that. So I will be alluding to this as we go along in the talk and point out
examples where we’ve derived data along the way.
So those are some questions that we can ask at what I call the “high level”, the analysis
level. There are some other questions that we can ask for actions. One is what does the
user know? So words like search, explore and browse have all been used quite a bit in
vis and we wanted to encourage people to think a bit more systematically about that. By
saying, “Let’s think about the target and the location of the knowledge.” So in particular
if you know what you are looking for and you know where it is I’m going to call that
lookup. In contrast you might know what you are looking for, but you don’t know where
that is in the visualization so let’s call that “locate”.
Now there’s the flip side of that which is you don’t exactly know what you are looking
for, but you’ve identified a neighborhood that might actually be interesting. That’s the
location known so let’s think about that as browsing. Then finally the somewhat terrible
case where you don’t really know what you are looking for, you don’t know where it is,
and then you’re really in what we are going to call exploration. I mean this is both
terrible and wonderful of course, but by using this slightly more specific vocabulary
rather than just saying, “Oh we’re exploring,” we find that helps us think.
There’s one more question you could ask which is again decoupled from these other two
which is: How much stuff matters? Specifically are they trying to identify one thing?
That is the example that I showed you before, you are finding a particular path or are you
comparing a number of things to each other? So that’s you are looking at some of the
data. Or are you actually trying to summarize all of the data. So this one, verses some,
verses all, identify, verses compare, verses summarize, it turns out that a lot of what
people are doing in vis comes down to understanding which one of those scopes are you
actually trying to build a tool for.
And it’s very common for people to realize that, “Oh if I have to support the compare
task then all of the apparatus that I needed for identify is necessary, but not sufficient and
we need to build something more in.” And for summarizing the whole dataset, well
suddenly that’s actually the heart of what a lot of vis is. It’s let’s show people in
overview. How do we do that? Well that would be the devil in the details hard part, but
this question of how to provide useful and meaningful summaries in overviews as the
datasets grow bigger and bigger maybe at multiple scales is a really central question.
So now this idea of targets, well there are some targets that actually have to do with any
kind of dataset whatsoever. So things like finding the trends or finding the outliers that’s
generic to any kind of dataset. Something I’m calling a feature is essentially any kind of
domain specific thing a user cares about that generically I’m just going to think of as a
feature. Now thinking about attributes in particular a lot of core questions can be
answered by thinking about one attribute all by itself. And one of the most common
things in visualization is understand the distribution of values within the attribute or the
special case of looking at extremes like min and max. But, there are some questions that
are about relationships between multiple attributes.
So for example is one attribute dependent on another, are the correlated, and are they
similar? These are questions about multiple attributes, not just one and there are also
some targets that depend on the kind of data. So once we have network data where we’ve
got relationships between items suddenly we can ask questions about that topological
structure of the network. And path tracing that I mentioned before is just one special
case. There’s another really interesting one to think about, which is what are people
doing with spatial data? Often understanding the shape of that, the geometric shape is the
task in and of itself. One of the reasons I emphasize that is there are many other tasks
where understanding shape is not crucial. So it’s important to always understand whether
or not the spatial shape of something is a central question.
So that was our kind of whirlwind tour through the why. Now in the time that we have
left I’m going to talk about certain parts of this question of how and really that’s at the
heart of the book. How do we encode this information and interact with it. So there are a
lot of choices. I’m not actually going to talk in great detail about the more understood
parts and that is this part on the left. How do we visually encode data? I’m going to talk
about just a little bit of that to give you a glimmer where a lot of the questions of visual
encoding come down to the use of space. How are you arranging things in space? Then
there are a number of other visual channels including color and others that we also use to
communicate data visually.
So just to step through the real basics of that what if I have this question of: So I’ve got
some visualization idiom how can I analyze this? And it starts at the level of saying,
“Marks and channels.” So let me give you that vocabulary. What I am going to call a
mark, a geometric primitive, is a way to –. So some mark has meaning. It might be a
point, it might be a line or a curve, it might be an area, and think of these as geometric
primitives and now the interesting part is what can we do with the geometric primitives?
We can control their appearance through these things I’m going to call visual channels
and spatial position is a really central one. So it could be just horizontal, or vertical, or
the combination of both together. We could color code, we could shape code, we could
have orientation, or angle, or tilt. We can size code things 1 dimensionally with length, 2
dimensionally with area, and 3 dimensionally with volume. So here’s all these ways to
control the appearance of one of these marks in a way to communicate data about
attributes to users.
Once we have this idea of marks and channels then we can start to actually analyze
things. I am picking these very, very simple examples just to walk us through. What can
we say about a bar chart? Well it’s encoding using vertical position a mark that is a line.
What about a scatter plot? Now we are actually encoding two different attributes,
vertical and horizontal and we’ve switched from a line mark to a point mark. Then we
can start to add more channels. We can say, “Ah, once we add the channel of color now
we can encode a third attribute.” Then once we add a forth channel of size now we can
encode a fourth attribute. So these are simple examples, but they give us a vocabulary.
Now an interesting question is: How many channels are there? The answer is quite a
few. So what’s happening here? Here are a lot of these channels I already mentioned. I
seem to have them in particular orders. What’s going on here? This get’s into one of the
fundamental questions. This is actually originally proposed back in the 80s by
[indiscernible], this principal of expressiveness. There’s a crucial idea which is some of
these visual channels intrinsically to human brains communicate magnitude information.
They should be used to show ordered attributes.
So this question of how much, that’s something where if your brain is thinking how much
in a channel you want to make sure you are encoding data that has an ordering to it.
Because the flip side is there are also some channels that don’t communicate magnitudes.
I’m calling these the identity channels. They are saying this is something or it’s not
something and these are a good match for categorical attributes. So what region is it in?
What color is it? What direction is it moving in? What’s the shape? As opposed to how
much? How long is it? How saturated is it? How dark is it?
So these how much verses these what questions, these magnitude verses identities, this is
the part that you really want to make sure you have a match. If you show unordered data
with an ordered channel you are going to communicate something that’s not there. If you
communicate ordered data with this non-ordered channel you’ve lost information.
So that’s one important principle of matching up those characteristics. The other point is
there’s actually a spectrum here of effectiveness where we are going from the most
highly effective at the top to the least effective on the bottom and you want to try to
understand if you’ve got multiple attributes in your datasets and code the important ones
with these higher ranked channels.
Now an obvious question you might ask is: Where did these rankings come from and
how can we actually use them? Let’s actually think if we wanted to have lots of extra
time, like if we say had an extra hour today, I would go much more deeply into these
questions of justifying these rankings, talking about where they came from and actually
walking you through a lot of these choices for using space, and color and the other
channels. But, that’s actually not what I’m going to do today. So this is I would argue
the part of visualization that is more well understood that has had a lot more camera time.
Although I think there’s a lot of interesting stuff in the book that’s a somewhat different
way to think about arranging space in particular through this lens of either expressing
quantitative values, or this idea of separating it out into regions that your order and align,
or just use given spatial data, that to really discuss this is something I can’t do and also
talk about these at the same time. So I am not going to go deep into these questions of
space, color and other channels. Instead today I actually want to focus more on this
question not just of how you draw the picture, but of a systematic way to think about the
ways you might manipulate that picture. So in the time I have left today I will focus on
that and just with the caveat that there’s a lot of other stuff going on with space and other
channels, but time is finite.
So the part I want people to think about is this question of: If your dataset is really simple
like those tiny little scatter plots and bar charts I showed you then well you draw the
whole thing. What happens as your datasets get bigger and as they are dynamic? How
do we handle complexity? What I’m arguing is that it’s useful to think about essentially
all the techniques we have in visualization as fitting into one of four different strategies.
So the three that I haven’t talked about yet are this idea of manipulating, faceting and
reducing and the one I already have talked about is the idea of deriving new data.
So a classic example would be you could have two different line charts, you could draw
them both and make the user actually think about what the difference between them is.
You know that’s actually this more cognitive act if you can just derive the difference
between them and how that directly. You could visually un-code exactly what they need
to know. That’s a simple case of deriving, but it’s something that we are going to be
using all through a lot of the examples.
These other three approaches to handling complexity: one is this idea of manipulation.
You are changing something over time. You’ve got some view you are looking a data in
and you can change it. A special case even of that is to navigate or to select. So these are
all things about having a view that changes. Now there’s another set of choices that has
to do with saying, “Ah, I could have more than one view at the same time.” So a lot of
design choices about faceting your data across multiple views. Then finally a suite of
choices of saying, “Well within a single view how do I reduce the complexity?” I might
filter stuff out, I might aggregate it, I might do complex combinations of that. So these
three design choices plus that fourth one of derived are the ones I’m going to focus on a
bit today with just a few examples.
So let’s start out with this idea of manipulate and in particular having a view that changes
over time, well that’s actually obvious right. That’s what most people would just sort of
bring to the table and say, “Well I could navigate, I could zoom, I could pan, I could
change stuff.” So that has a lot of power and it’s also extremely flexible. So let me show
you just one example of that. An idiom that’s used a lot in visualization is this idea that
you would have an animated transition from one state to another. Well why is this? It
actually gives you some support for seeing how one configuration changes into another
where you don’t have to, for each item, separately try to figure out, well where did that
go? Where did that go?
So it’s an alternative to jump cut which has relatively high cognitive load and as long as
there is not too much changing in between these two views then you can actually have
items smoothly move between you have a much better ability to track. So this particular
example is looking at multilevel matrix. So here’s where we start out. We see a few
snapshots of it to its next state and what we are doing is the user has actually selected this
part in the middle and that’s now getting gradually expanded larger and larger to a final
state here.
And if you just had a jump cut from here to there it might be very hard to track the fact
that this square here now became that square there. Whereas actually having these
intermediate views where you are gradually increasing the size of one and fading out to
the other is a way to support the user’s ability to track between these. So this is just one
example of change over time. There is a huge amount that people do, particularly things
like zooming and panning that all fit into this category of something changes.
Now let’s contrast that with some of these other choices. So you might say, “Well
instead of just having a single view of the changes over time maybe I’ll have multiple
views.” Now let me point out actually just briefly going back all four of these choices are
often all done at the same time. So it’s not that if you pick one you can’t do the others.
In fact it’s extremely common to combine them, but for the purposes of analysis I’m
going to think about them separately, so this idea of faceting across multiple views. Well
what are some things we could do? We could have multiple views side by side.
We could think about how it is that we chop up the data between the views and we can
think even of putting two layers on top of each other. So let’s start with this question of:
If you were to use multiple views side by side how can you do that? What are your
design choices? Well one question you could say is: Am I going to visually encode the
data the same way across the views or differently? And particularly if you’ve got
different encodings it can be very interesting to day, “And if I highlight a section in one
view how does that correspond in another?”
Another way to think about this is are the views actually showing the same data, or is one
view a subset of the other, or are they showing completely different data? And finally
you could actually also share navigation between the views. You could have linked
navigation where navigating in one causes things to move in another or not. So the slides
are not quite in the order I thought they were, but that’s all right.
So jumping forward to this idea of linked highlighting let’s actually see an example. A
crucial question in linked highlighting, which is perhaps the most common interactive
visualization idiom out there is and it’s common because it’s powerful is: How is a region
that’s contiguous in one view distributed within another? So here’s an example from
baseball statistics where what they’ve done is we’ve got a number of different views. So
this is actually an example of a multiform visual encoding where you’ve got some
different views. You’ve got scatter plots, we’ve got bar charts, we’ve got these
histograms and the data is shared between them.
So, different ways to encode the data, but every view is actually showing you all of that
same dataset. So what happens when you actually select the high salary players? This is
log scale salary and the question is: Do the guys getting the big bucks, how are they
distributed? Well they are really distributed across different seniorities and they are
pretty distributed across the positions and even about this question of: Are you actually
getting people out? But, they seem to actually be clustered on the high side of the
number of hits people have per year.
So okay, we are rewarding the people with a lot of hits with the big money that seems
plausible. What about another way to look at the data? In this view what they’ve done is
they’ve selected what seems like this interestingly [indiscernible] distribution of people
that actually get a lot of the other people out and this is distributed across salary, across
years and across the hits. But we see that it’s very much segmented into specific
positions. So, specific people end up tagging people out in baseball. That’s how the
game is structured. So this is just one example that this example that linked highlighting
can show you relationships between these different visual encodings in a way that gives
you a lot of power.
What’s another way to think of [indiscernible] view of side by side? Well a very
different idiom in this case is these bird’s-eye maps. So these are pretty pervasive,
actually at the moment Google Maps is now taken it out of their system, but it is still
quite common of having these geographic maps. We’ve got a detailed view and an
overview and in this case what we’ve got is the same visual encoding. These are actually
both geographic views, but you’ve got a subset of the data. What we’ve done is here’s
our detailed view and here’s our overview. So we are seeing more in one view than in
the other and in many cases you do have this bidirectional link to navigation. So this
idiom of having overview and a detail together is extremely common, another way to get
power.
Now a third flavor of idiom, the buzzword for this is small multiples, is where you have
the same visual encoding in multiple views showing different parts of the data. So
typically disjoint sets of the data. So in this example, and this is one that you actually
saw earlier where we were looking at this gene expression data, at different time points in
experimental conditions we’ve actually got these completely different colorings of the
same fundamental base layout of the graph and again this one’s got shared navigation.
So when we start thinking about these possibilities there’s a way you can think about this
as a 3x2 matrix. What’s interesting about this is only four of those six possibilities are
really very interesting.
So if you think about your choices of do you show all, or some, or none of the data in
common between the views and are you encoding it the same or different between the
views well then what do we have? Well if it’s the same encoding and it’s the same data
that’s just redundant and there is no point. The interesting cases are this one where you
might have different encodings of all of the data or this sort of overview detail you can do
either with the same encoding or with different encoding. These are both extremely
common and then this case that the buzzword is small multiples is where you really have
the same encoding across different partitioned disjoint datasets. The thing I want you to
notice is this cell is also boring. This cell is if you’ve got different encodings and none of
the data is shared you can’t actually link the views. So that’s not such an interesting case.
Now the point I want to make here is why would we do this? We already talked about
the idea that you could just have a single view that changes over time. What is the
benefit of having these multiple side by side views? There’s a section of the book,
there’s a whole chapter on rules of thumb, that talks about sort of cross cutting interarching themes and one of them is eyes beat memory. So to unpack that anything that
you can do with a human’s eyes is much better than relying on their internal memory. So
the thing is there’s a lower cognitive load for this kind of side by side view compared to a
single changing view because it’s easier for you to move your eyes between views and
compare them in that way then to remember in your head what you saw before and
compare that to what you’re seeing now.
So if this is so great why do we ever do anything else? Well there’s a cost, just like
superpowers; with great powers come great costs. So yes you are lowering the cognitive
load, but you have just used up the pixels and you now have finite display areas so there
is a very finite number of views that you can actually fit before each one of them
becomes so small that you can’t see anything at all. So this tradeoff between the costs in
pixels and the benefits of scaffolding your memory is one of the core things that you then
struggle with as a vis designer. But, it’s useful to think about that very explicitly.
So there are some other questions: How do we partition into views? So I’ve said we have
multiple side by side views, well how do we chop things up between them? How do we
divide the data between these views? Let me point out something explicitly that might
sound obvious and trivial, but I think is actually a really important and central question:
What are you doing when you divide data between views? You are encoding the
association between items with spatial proximity. You’re saying, “Here’s one view and
here’s the other,” and it turns out that back to the way human brains work this spatial
proximity is a very, very strong signal to your brain that things are associated with each
other.
So it turns out that by partitioning into views, having different regions and making
choices about which items go into which regions that is one of the most crucial questions
in how you are able to detect patterns. So this choice of partitioning is actually very, very
central. So how might we do that? Well one thing we could do is say we could split
according to attributes. Typically we are doing this in situations where we don’t just
have one attribute we often have many. We have multi-attribute tables that we are
splitting in various interesting ways. So there are a whole lot of design choices. I’m not
going to go into the design choices for all of the things, but just to give you an example
that for every one of these design possibilities I’ve talked about in the book it goes into
much more detail about the set of choices.
For example how many splits do you do? Do you go all the way down until where
you’ve got a single mark per region like you do with a simple bar chart or do you actually
end up going part of the way down where you are doing some partitioning and then
you’ve got a region that actually has quite a bit of interesting structure within it. Then
you might draw something as a more complex glyph made of multiple simple marks. So
this whole question of when do you show things a glyph’s verses when do you show
things as marks this comes down to: How did you partition the data? What is the order
that you split things in? As we’ll see it’s got a big consequence. How many views?
Open research questions nobody knows. At least 2, not 6,000, in fact not even 100, in
fact probably not even more than a few dozen. Is a few dozen completely pushing it or
very viable? It depends on your circumstance. So this question of how many views is
definitely an interesting open problem.
So let me give a concrete example. Let’s think about the bar chart case because that’s
easy to think about and what do we see that’s different with two different partitioning
choices? So if we start out with a table of data and the first thing we do is split –. So I’ve
got a dataset where I’ve got a demographic attribute and I’ve got it by states in the US.
So, if I first split this by the state and then stop and say, “Okay, I have one region per
state, now what?”, now I’ve got these multiple attributes within each region that I want to
visually encode. In this case I’m going to do it where each one of them has their own
bar.
So this is basically a grouped bar chart. So what’s the point here? It’s really easy to
make comparisons within a state. We can think, “How did the demographics of
California work? Oh, look there’s this dip in the middle and then it spikes way up. Is
that different or the same from the patterns in these other states?” So you can make
comparisons within the state. That’s easy, but it’s kind of hard to compare how many
people are in that middle demographic group because there’s all this stuff in between. In
contrast you could split the other way.
You could say, “First I’m going to split by age,” and within each of those regions what
am I going to do? Well actually now I could just have one chart in each region. I could
have a single bar chart per the region. What can I do now? I can very easily compare
across age. I can say, “Oh this is relatively flat whereas this one is actually descending.”
So comparisons now within age are easier, but across states are harder. So by making a
choice about partitioning we have dictated what kinds of visual patterns are easy to see
verses hard to see. This is easy to understand with bar charts, but things can get more
complex as you combine these with some of the other more exotic layouts.
So let’s just look at a few other examples. Here’s the dataset called HIVE from the folks
at the GI Center and they’ve got a dataset where they have housing sales in London. So
the kind of house, the neighborhood it was in and exactly when it was sold. So first let’s
think about what’s one way to look at this data? In this case rather than just looking at it
as a list of things or even a matrix we’re actually recursively subdividing. So this is part
of the discussion about spatial layouts that I’m not going to get deep into, but I’ll just
mention that this is an example of this relatively complex recursive subdivision structure.
So what they’ve done here is they’ve first split it by the type of the house. It’s an
apartment, a flat, semi-detached, a terraced house, a completely detached house with a
yard, like a lot of folks have out here. Then they split by neighborhood. So these are a
bunch of the neighborhoods within London, each of which is in its own little box and
then they’ve got time where the rows are the years, the columns are the months so you
can start to see some temporal patterns. Now what you can see in this view is allowing
you to very easily look at things like, “What’s happening within a neighborhood? Let me
compare one neighborhood to another. Ah, this one’s much darker meaning the houses
sold for higher prices.”
So you can start to immediately start to see things like, “Well which ones are the rich
neighborhoods, which ones are the poorer neighborhoods? Which ones don’t have
actually very many houses at all being sold?” So what you see in this view is different
than if we partitioned the other way. So what if instead we say, “First I’m going to split
my neighborhood and then I’m going to split by the type of the house?” Now you can
see very different patterns. Now it’s much easier to say, “Ah, I see, some of these
neighborhoods are actually dominated by one house type verses another.” And we can
certainly see things like, “Ah I see, certain types are in fact more expensive.” The
detached houses in general tend to cost more than the apartments. So there’s some
analysis of these other categories that are easier to see because we did a different
partition.
Now just to wrap up this example partitioning is not just for rectangles and squares.
Here’s an example where first they partitioned into the house type and then they said,
“Okay, within that now let’s actually encode the data where we use spatial information.”
So in this case instead of just having little squares and rectangles we are actually saying,
“Let’s show the geographic boundaries and we’ll still color code by the attribute.”
Technically that’s called a [indiscernible] map and so the point is there are many ways of
visually encoding the data within these regions and some of those choices are very
interesting and central as we think about partitioning into views.
Now I’m not going to go deeper on this front. I’m going to come back again to this
question of we’ve now talked about a changing view; we’ve talked about partitioning into
multiple views. I’m just going to briefly talk about this idea of reducing the amount of
data that you show in a single view. So what’s the idea here? Well first let me mention
when I talk about reducing the amount of data half the time I actually mean increasing.
So these are these inverse things. You can reduce, you can increase, so these are ways to
throttle the amount of information you have. Now a core choice is to filter, right. Filter
means some stuff you simply don’t show. What’s nice about this is first of all incredibly
easy to explain to people and often computationally very nice and straightforward and
suddenly you’ve dramatically reduced the size of your dataset and everything is great, life
is fantastic.
So why don’t we just do this all the time? The answer is that this get’s back to how
human brains are, we have this terrible tendency to have out of sight out of mind not just
be a proverb, but actually a reality of how we visually process data. Even if you yourself
hit the filter button three minutes ago to stop drawing things you immediately start
drawing conclusions as if what’s hidden doesn’t even exist. And it’s so built in that it’s
really hard to avoid that. So even though filtering is very straightforward it can really
end up with you being misleading if you just don’t show some of the data.
Well what’s the alternative? Aggregation is a much more complex thing where what you
say is, “I’m still drawing a smaller set of things than my original, but rather than just
completely ignoring some of them I’m actually going to say, “I’ve got a proxy item that
stands for a number of original items.” So what’s nice is that proxy item in a perfect
world informs you about something about the entire set that it replaces. But, how do we
do these proxies? Well that would be the hard part. So how do you build these aggregate
proxies in a way that doesn’t lose the entire signal you were trying to encode?
So it’s very well know that if for example you just start averaging things you can easily
smooth out the interesting signal in your data. So a lot of interesting questions come to
doing something more sophisticated often with aggregation and filtering both. You are
doing something interactive where you are changing over time. So a lot of interesting
visualization and design choices comes down to combinations of filtering and
aggregation, either statically or dynamically. And let me mention you can do this either
for items or for attributes. So either the dimensions, the attributes you are showing or the
items you are showing. And again I really want to emphasize what’s very common is to
combine these things. In fact the technique, this so called focus plus context techniques
where you’re embedding focus and context information together are really sophisticated
combinations of filtering and aggregation.
So not only can you combine filtering and aggregation, but those four major design
choices of reducing, and faceting, and changing and deriving, these are all things that are
typically combined. So let me show you an example of, in this case, a well known static
aggregation technique, the boxplot. So I want to walk you through that just to put this
into context, this is designed for the task of finding distributions. And we start out with
some table of data and then what do you do? You do something interesting which is it
doesn’t matter how big that table was we are aggregating that into a very small number of
numbers that we can then show visually. So we are visually encoding the derived data of
five quantitative attributes that actually express a statistical summary of that original
attribute.
So of course what we’ve got is this central line showing the median. You can see this
upper and lower quartile’s explicitly encoded as the height of the box and then showing
the points beyond which things are outliers. And if there are outliers sometimes
explicitly showing those. So this is an example of a static aggregation technique. A lot
of the interesting action comes when we start doing things that are more interactive and
dynamic. Let me, just to give you the other side of the fence, show you a particularly
complex example of aggregation. So, this idea that actually we might aggregate not just
items, but we could aggregate the attributes themselves. Think of these as dimensions of
data.
So here’s an idea of a pretty complex idiom and task of: How do you look at a huge
document collection? What do we do now? Well documents weren’t even in our set of
data that we knew how to encode. You know you’ve got free form text, what do you do?
So first of all a very common transformation is turn the document into a table. Well how
could you make a table out of a document? You could say for each word in the document
I’m going to think of that as an attribute and actually just keep a count of the number of
times the word appears in the documents, this so called “bag of words” model. That’s a
row in this table and then I have one row for each of these documents.
What do I have? A really big table and looking at that table directly is not very
interesting. It’s incredibly sparse and it doesn’t help the human do much. But, now what
could we do? We could say, “Well I’m going to take that very large table and I want to
derive a much smaller table that has only two attributes, two dimensions.” So that is
attribute aggregation. Now the question of how we do that? Many, many algorithmic
papers, it’s an interesting topic and that’s a whole another hour long talk, which we won’t
be doing today. Lots of fun algorithmic meat in there, but let’s pause it for a moment that
we’ve found some way to actually not lose too much of the signal, because we assumed
that there’s latent structure in the data that was gathered verbosely so it’s reasonable to
actually throw away quite a lot of redundant information.
And now what do we do? Now suddenly we have points in two dimensional spaces
instead of points in high dimensional space. What we can do is start to use a visual
encoding like drawing a scatter plot to look for clusters. So now our task is to say, “Oh
are there documents that are relatively similar to each other?” So dimensionality
reduction is a hypothesis about is this an interesting space to look at? Then you can look
at the documents themselves and try to see, “Do I see clusters? Do I believe the clusters I
see?” You might actually do a lot of exploration and navigation to go in and actually
select. This point represents a document and maybe you read that document. You might
try to say, “All right, what is this cluster even about?” Is there a way I can come up with
a label for that cluster that’s meaningful?
So the thing to notice here is I’ve actually structured this as three cascading tasks. So
when I mention this idea that you want to analyze things in terms of tasks sometimes you
actually want to think about sequences of tasks, not just a simple task in and of itself.
The most interesting complex visualization systems handle these sequences of tasks and a
lot of this question of the [indiscernible] of the analysis question. At the beginning I
started out by saying, “What if people don’t know what they are asking?” Often
sequences of tasks clustered together are a way to actually go back and forth between a
lot of different possible questions. So in this one I’ve framed it as three different tasks
where the output of one is the input to the next. So it’s really focusing on deriving data
along the way. So this is an example of quite complex attribute aggregation.
Now this was a whirlwind tour through a subset of what the entire book goes into in more
detail. So I introduce these ideas of the four levels: domain, abstraction, idiom and
algorithm. I introduce this idea that there are these three questions that you can frame:
two of them are the abstraction level, the what, and the why and the how are at this idiom
level. I haven’t talked at all about algorithms, except to allude to the fact that they are
fun and we want to do a lot of them, but that would be another 17 hours of talking. In
fact the book itself does not get into the algorithm level. The book itself is staying mostly
at the abstraction and the idiom level in order to make it 400 pages rather than 4,000
pages.
So speaking of lots of detail we saw briefly this idea that there is this topology of what
questions, topology of why questions, there’s a lot of how questions and we just alluded
to some of them. So if folks are curious as I mentioned there is this book and it goes into
a lot more detail. If people actually feel like getting the book and eBook together for less
this is a magic promo code that will work on the publishers page. The talk slides
themselves are also on the web. Let me mention that all these diagrams I have, if people
want to use them in their own talks, are available as creative commons licensed and
Eamonn Maguire did a fantastic job with those. Finally there’s a lot more information
about all the other stuff we do, actually my own research, which I didn’t talk about very
much at all, both on our group’s page and then my own personal page.
So with that I’m going to switch over from talking at you to getting more questions from
you, either those of you in this room or on the screen. I see there’s a question from a long
time ago.
[Applause]
>> Tamara Munzner: So let me start with this poor question that has been languishing on
my screen and forgotten from [indiscernible]. I’m sorry about that; I’m not used to
having questions come in through this modality. So your question is not sure why the
display limit is the most constrained resource. So that was actually way back on slide 2 I
think.
>> [inaudible].
>> Tamara Munzner: So what I would argue is typically you’ve got quite a lot of
computer memory to play around with and even the humans have a fair amount of
resources, but often what we end up with, a situation as a designer, where the first thing
that causes you pain, and agony and swearing is that you’ve run out of pixels. You can
partially address this by saying, “Let’s add more displays.” These days a lot of people do
at least have one high resolution display or even a couple of high resolution displays.
You can even have more complex things like display walls, but then you start getting into
the constraints of how much of that you can actually attend to in high resolution at once?
>>: So it inner operates with human intention as well.
>> Tamara Munzner: Yes, and one reason I kind of emphasize this a bit more is that it’s
the resource that I think people tend to think about the least. People are used to thinking
about computational resources and at least people with an HCI background are used to
thinking about human limitations. But, thinking about pixels as something in and of itself
particular when you start thinking of the multiple displays. So then when I started talking
about this issue of faceting where every time you add a new window you take away the
pixels available for the other windows it helps to think about that really explicitly as a
tradeoff of a finite resource.
Any questions from people in this room? Yes, all the way in back.
>>: So I just want to get some insight from you, when you are using multiple encoding
channels to design [indiscernible]. So I remember I read somewhere, I forgot where
specifically which book, but there are two perceptual structures from psychology: integral
and separable. So, integral means that the two characteristic are perceived more
integrally with the human brain such as X and Y position and [indiscernible]. And
separable means for example size and color, there are two different encodings and when
people perceive them they tend to be separately. So what are your insights on that when
you are using those multiple channels and [indiscernible] those multiple channels to
multiple data attributes, because you have so many design choices.
>> Tamara Munzner: Yea let me actually bring up the relevant slide for that. I have to
remember where I’ve put it, but I believe I’ve got it here. Yea, so this question of
separability verses integrality is this sort of interesting and complex one. So because I
had this whole table of channels and then the question was: When are you allowed to say,
“I can combine this channel and this channel and have them actually read off the
information separately verses when life is not so good?” So this is the place where
there’s actually been quite a bit of study in the cognitive psychology literature on human
vision. So some of this is understood, but there are still a lot of frontiers where it’s not
fully understood.
But, let me just actually walk through this example because I think it’s evocative where
for example spatial position and the hue aspect of color are very, very separable. So what
we can do is say, “What I’ve done here is basically two groups of two.” There are two
groups spatially right, there’s this group verses that group. So that’s one attribute having
two possibilities and I’ve also got another attribute where I’m coding by blue or by red.
So you are able to selectively attend to either one of these. You can either attend to
position or you can attend to color. So that means I’ve successfully encoded all of that
information here.
But, things then start getting worse. Here’s a situation where it’s really easy to tell apart
the big purple circles from the big blue circles, but it’s a little harder when I have size
coding. Size interacts with color such that it’s harder to tell apart, it’s not impossible, but
it’s harder to tell apart the small purple circles from the small blue circles. You’ve sort of
got less dynamic range in which to make that perceptual discrimination. So there’s still a
little bit of interference, but at least we’re still able to see that there are two groups.
There’s little stuff and big stuff and there’s purple stuff and blue stuff.
Now what about here? Here’s where life starts getting worse because what I’ve done is
I’ve tried to separately use horizontal length and vertical length to encode information.
And that sounds good if you just think, “Well there’s two different attributes. I’m
encoding them with two different things,” but it turns out that our brains are doing
something integral with this. And what we end up perceiving is area. So the problem is
what we really see is small stuff, big stuff and flattened stuff kind of independent of
whether it’s flattened this way or flattened that way. So fundamentally we are really
seeing three groups of things more so than the four we originally had in mind. So you
can if you try hard actually start to say, “Okay, well I’ll try to treat these differently from
these.” So you can sort of start to recover, but it’s harder.
Here’s a terrible situation where what I’ve done is, and I can tell you I’ve done this and it
doesn’t help, I can tell you that there are two values of the red channel and there are two
values of the green channel. And I can tell you this until my face turns blue and it
doesn’t help you actually see those, because this color is actually perceived as a single
perception. So you can’t actually separate that out. You can’t find the two values of red
verses the two values of green. You just really do see these four different colors. So
even if you try hard consciously you can’t pull apart those integrated dimensions.
So one issue is understanding what the relationships are between the channels. So one of
the things I do is talk a bit in the book about which ones are more separable and which
ones are more integral. Basically it turns out size coding ends up interfering with a lot of
the other channels and it particularly interferes with color perception. So that’s
something to be aware of. So the usual case in vis is that you are going for this kind of
experience where you want things to be as separable as possible. Sometimes you are
deliberately going for this where you are actually getting this integrated perception,
particularly designing glyphs where you have multiple marks in a small region.
So you want to be aware of this phenomenon. There is no magic answer, but
understanding and what we can use much more research is, for example, let me go back
to a list of these channels, some pairs have been explored and understood and others not
so much. So there’s been some work, [indiscernible] and [indiscernible] have done some
work for example on the motion channels. Right now it turns out that any kind of motion
verses something static really strongly pops out at people. So you’ll notice if something
is moving around. It’s conjectured to be unlikely by people like [indiscernible] that you
can have multiple motion channels that are easy to just [indiscernible].
So maybe it’s not a good idea to try to say, “Well I’m encoding one thing in Flickr
frequency, and another thing in direction of motion and a third thing.” That probably is
not very separable, but this is something which is literally not yet extremely well
understood, so some characterizations. Also like size coding interferes with shape
coding. As things get smaller you are less and less able to see. So there is some work,
but it’s not completely understood, so good question, long “ish” answer.
>>: This is an observation, not a question, but you were referring to the size coding
interfering with color and it seems that’s an example where that interference is true. We
can all grasp that, but it’s primarily true at very small sizes in that case. So there might
be a large range over which they don’t interfere much, but then other parts of the
continuum, if you will, where there would be interference and that may be true as well for
other angular displacement or other things too. But, it’s kind of an interesting angle, like
over what domain or what range do these things coexist very nicely, very orthogonal that
at some point they don’t?
>> Tamara Munzner: So part of what I didn’t have time to get into deeply with talking
about these is you can think about these channels in terms of many things: one is the
accuracy at which you can perceive things and another is the discriminability. How
many bins within each of these do you have? And so you can imagine a situation where
depending on the size coding you might have the full range of bins or fewer bins, also the
ability of something to actually visually pop out pre attentively without conscious
control. So these are all ways you can think about these channels.
So for example I didn’t have time to go deep into questions of color today, although it’s a
pretty glorious topic. One reason color is so difficult for people to think about first of all
is that some aspects of it are categorical and some are magnitude. So that’s one source of
confusion right there. And for example there is definitely some overlap between things
like saturation coding and luminance coding where at some point as you remove more
and more of the hue suddenly you start to be unable to distinguish.
So there’s a lot of stuff about color that also involves stuff that you wish would be
separable that ends up being far more integral than you realize. Transparency also, in
order to create visual layers you often have a foreground verses a background and you
might have a semitransparent background. It turns out that heavily interferes with things
like luminance and saturation coding. So there’s a lot of stuff involving color where it
really very much comes to the forefront.
Natalie?
>>: [inaudible]. So lots of ways you presented even though it seemed like you make it
design for exploration and presentation, but in my head I was thinking all of this
technique or different methods to [indiscernible] or manipulating things you couldn’t say
one is better than the other in many exploration cases. But, then I started thinking in fact
when you are in the presentation case where you are using [indiscernible] things or
maybe you are repeating things then that may become now some of them are better than
others. So, I was just wondering how much you thought about that. So first are all of
those thought about the exploration and how you divide all of those different things and
elements? Did you think really about those two cases: presentation and exploration or
maybe more one? Also, do you have some sort of idea about if we talked about visual
communication now if some would be preferable or not.
>> Tamara Munzner: Yea let me actually bring back a different slide to make a particular
point. So one point is that these questions of: When is something good? I heavily
emphasize that you can never say, “When is something good?” You always have to say,
“When is something good for a particular task and data abstraction combination?” So I
feel like a lot of interesting questions come down to characterizing design choices at the
how level with respect to specific configurations of what and why.
So it’s never is this better; it’s always is this better for this task? And so what you talked
about is weight. Here are two very different high level tasks: discover verses present.
And so now can we start characterize some design choices with respect to these tasks?
And my answer is absolutely, like the answer to almost everything in vis is it depends on
the task, but that’s a good thing and not a bad thing. So this question of so absolutely it
can depend on discover verses present. In fact it could depend on things even at a much
finer level of granularity than that.
I feel like one of the most interesting in vis right now is basically we’ve done a lot of
enumeration of blocks, if you think about these idioms as Lego bricks. The beginning
years of vis were all about, “Look at my new Lego brick; isn’t it great and here it is.”
Then at some point we became interested in questions of: And so what is it good for?
Can we characterize not just this new brick, but a whole family of bricks as being related
in an interesting way in a way that we can tie to these questions of why and what?
So I feel like these characterization guidelines for abstraction level into idiom level
mappings is where a lot of these interesting questions are. So some of that work has been
done and there’s just this enormous amount left to do. So it’s kind of a long winded
answer, but my answer is yes, yes, yes, absolutely it depends and not just on that, but on
all the tasks. So I feel like filling in this giant cookbook in the sky of one day will we be
able to fill the vis cookbook where you say, “This is my data and this is my task,” and we
have the complete vocabulary of these abstractions. So we’ve found a bunch of the Lego
building blocks at this level and we flip through and we find page 5,673 says, “Okay, so
for those here are some sets of idioms that are known to be good or known to be bad.”
That’s the 30 year research agenda for the field, but we totally need to do it.
Benjamin?
>>: [inaudible].
>> Tamara Munzner: I think of interaction not as a limit, but as a strategy, as a tactic. So
a lot of the really, I mean many of the interesting vis idioms are just intrinsically these
combinations of visual encoding and interaction. So with [indiscernible] like what is the
encoding part and what is the interaction part? They are linked and so I feel like
interaction is part of the strategies about how we do things. So a whole bunch of the
design choices come down to specific uses of interaction. So it’s not so much that
interaction is a limit, interaction is a technique to address a limit, which is human abilities
to do things like remember.
I mean interaction is very much a double edged sword, because actually to go back to
these bits here the thing about interaction is any time you are changing the view over time
you are now basically imposing a memory cost. You are asking people to remember,
“What did I do before?” With a lot of navigation the problem is, “So I navigated and
now I’m lost. Where am I, where is the root, where is home?” So a huge amount of the
techniques that we propose are ways to basically scaffold the frailties of human memory
to get some of the power of interaction, because the power of interaction is you the vis
designer didn’t have to figure everything out a priori. The user’s allowed to actually do a
bunch of this exploration, but then you are actually now taxing their cognitive system
more and more.
So, there’s this sort of tradeoff of power verses cost. So I think of all the interaction
techniques as being sort of apart of this system of design choices. One of my logics
behind this taxonomy the way that it is, is to say, “Let’s explicitly think about stuff that
involves changing something, which is at the heart of interaction, but a huge amount of
the power of all of these side by side views is the fact that you interact with them.” So as
you go in and you select an object in one view and see it highlighted in the other, well
that’s a combination of linking views and interacting.
So a lot of these reduction techniques of filtering and aggregation, the simple ones are all
static. The interesting and complicated ones are of course all dynamic where as you
interact, as you select things, as you do things like, “Well let me select a scale at which to
aggregate in this local region to me it feel that interaction is essentially a suite of design
choices that work in combination with these others to actually give you a lot of power of
the vis.” Again, sort of a long winded answer, but –.
>>: How confident are you that you’ve covered everything can exist?
>> Tamara Munzner: So the answer is in some ways I am reasonable confident and in
other ways I am absolutely sure that it’s incomplete. So let me give those caveats. What
I have tried to do is particularly in the how where I’ve thought about the use of space, the
use of the other channels and then manipulating and multiple views and reducing. I do
think of this as reasonably complete. However, if I had a hundred million dollars to bet
would I say that this is the final answer and we are all done? Well no, I wouldn’t bet a
hundred million dollars on that. On the other hand if we are talking about 20 bucks that
we are betting and you were to say three years from now could you go through pretty
much every paper at vis and end up categorizing it’s choices in to one of these bins
usefully I’d say, “Yeah, I’ll bet you 20 bucks on that.”
Now the place where my willingness to bet is going way further down, so for example I
don’t think this is complete. I think that this taxonomy of tasks is fairly high level. I
think one of the really interesting parts in vis is going to be coming up with either
hopefully not domain focused, but ideally at least like dataset set focused like, “What are
the set of tasks for networks?” There has been papers written by people like
[indiscernible] on let’s have a topology of network visualization tasks and there has been
other work as well. So we just had a paper last year at Believe on: What are the tasks for
working with dimensionally reduced data, where you actually end up adding quite a bit
more precision.
So I think this is a start. It’s a better start than I had before and even this, for those of you
who know the paper from last year on a multilevel taxonomy for tasks notice how there’s
a bunch of stuff in this version in the book that wasn’t in that, in part because of page
length, but in part because we spent more time thinking. So I feel like this is very much
sort of evolving and then on the dataset front I don’t think this is necessarily the final
answer either. In particular I went back and forth a lot about these questions of spatial
fields and geometric stuff in and of itself and notice how there’s this grab bag of other
stuff. This was the miscellaneous category.
So suddenly there are all these papers on sets. At InfoVis this year there were three
papers on sets. You know lists, clusters, so I don think any of these is the final answer,
but I think they let us try to come up with some kind of shared vocabulary for now and
people will propose additions to the vocabulary in changes and refinements. So I don’t
think that necessarily these particular diagrams will be the final answer 200 years from
now, but I hope they give us a place to have a discussion of the next set of building and
define these guidelines between them, which I think is the really interesting part.
[Applause]
Download