Video summary
Shirley Wu and Nadieh Bremer introduce "Data Sketches," a collaborative project born from their desire to create visualizations on the same topic but following divergent creative paths. Starting in July 2016, they committed to producing one visualization each month for a year, documenting not just the final results but also the entire creation process across three pillars: data sketching, coding, and writing. Their journey highlights that while initial plans often underestimate time requirements, especially with coding, maintaining curiosity is key; even if raw data isn't readily available online, it can be manually gathered or scripted using tools like R's tidyverse package to build custom datasets from scratch.
The speakers illustrate their methodology through diverse examples where they prioritized ideation before data acquisition and rigorously validated information sources. For instance, when visualizing every line of the musical *Hamilton*, Shirley had to manually parse lyrics to identify recurring themes because no such dataset existed online. Similarly, for a project involving former President Obama's facial expressions, she combined manual video collection with Google Vision API calls to correlate emotions with speech captions. In another case regarding Olympic gold medalists from 1896 to 2016, they discovered significant inaccuracies in reputable sources like *The Guardian* and used Wikipedia event counts as a proxy to cross-reference and correct their data, learning that missing data can be harder to find than incorrect data but is essential for accuracy.
A crucial lesson emphasized throughout the presentation is the iterative nature of design, where sketching on paper or using code helps refine abstract shapes before committing to final layouts. This was particularly evident in a network visualization of European royal families; after initially creating an unreadable "hairball" by plotting all 3,000 members with basic settings, they adjusted gravity parameters based on birth years and eventually focused the design around current leaders to reveal meaningful connections like those between Queen Elizabeth II and Prince Albert. They also demonstrated that pre-calculating visual variables in languages like R can significantly improve performance over JavaScript for static layouts, allowing designers to focus computational resources only on dynamic data aspects while ensuring faster load times for viewers.
Beyond technical execution, the project underscores the importance of storytelling, user engagement, and adding "delight" through small details that enhance the audience experience. Shirley described how animations were used to guide users as they scrolled down a page about *Hamilton*, revealing lyrics only when relevant sections appeared on screen, while other projects featured animated legends or hover effects with detailed trivia. Despite facing creative burnout during intense coding nights, the duo found immense value in their collaboration and mutual accountability, noting that bringing a trusted partner along for ambitious projects is vital for receiving constructive feedback. They concluded by launching a publication to encourage others to share similar iterative processes, proving that even fun-driven experiments can lead to profound technical growth and unexpected opportunities.
Read the full video transcript
thank you very much
Irene yes yes cool good morning everyone
my name is Shirley and this is NY and we
are super excited to be back at open
viscom this year to talk to you about
our project data sketches so let's start
from the very beginning we actually met
online virtually in the data
visualization Centric slack in the fall
of
2015 and didn't meet each other in
person in real life until open bov in
Boston last year those are our happy
faces and at ois C we had the pleasure
of giving talks and hanging out for
three whole days where we hid it off
super well so that when two months later
when nauy put up her SVG tutorials um
from her open V talk I went and dove
into it with Vigor and I started
chatting with naughty about all of the
questions I had of her tutorials and
somehow that whole conversation led into
US lamenting the fact that we hadn't
finished as many full-blown
visualization projects as we would like
and then I had an idea and I was like
Hey naughty fully expecting to be
rejected do you want to collaborate on
something and then she say yes
yay and that's how data sketches was
born so in the following week we figured
out that we both likeed the idea where
we would create a visualization each
month around the same topic and do do
that for a year to see how two people
would create a sort of visual two
visualizations starting from the same
seat the topic but then diverging into
different paths based on our own
interests and history but besides
sharing the end result we also wanted to
write about the creation process and we
split this up into the three pillars
that we find most important data
sketching and coding and initially we
thought we could pull data sketches off
at about 5 to six hours a week but you
know real life usually doesn't agree
with plans especially coding plans so
since starting in July 2016 we've
clocked many many hours into creating a
visualization each month and during this
talk we'd like to take you through some
of the lessons that we learned the
challenges that we faced and how we
tackled them and the insights that we
gathered along the
way so let's start with the data we
often get asked this question do you get
the data first and then come up with
your ideas or do you get the idea first
and go and find the data from that and
for us the answer is always always idea
first so for example for my November
data sketches I wanted to visualize
every single line in the musical
Hamilton and I built this filter tool
where I can filter by any set of
characters as well as their
conversations and any themes and then be
able to dig into these set of lines from
the songs that were left
over and the idea came from a question
of how do the relationships between the
characters change throughout the whole
Musical and then what are the recurring
phrases and who are they associated with
now as you can imagine this data set is
not available anywhere online save for
the lyrics themselves so I had to go
through all of the lyrics and know all
of the recurring phrases that pure for
more than across more than one song
group them into broader themes go
through the lyrics manually again so
that I can enter them into the computer
associating them with the right song and
line numbers and also do the same thing
for the characters and conversations
write the script to aggregate all of
that information together to get my
final data set in a more extreme example
for my October data sketches I wanted to
put emojis on the well former president
Mr and Mrs Obama's faces and then I
built this tool for exploration where
you can go through any of the videos I
found of their late night talk show
interviews and then go through the whole
entire YouTube video to look at all of
the emojis that I put on their
faces and this idea really came from a
conversation with Eric Cunningham right
there um where he was like wouldn't it
be cool if you could just run facial
detection on the videos and correlate
their emotions with what they're saying
and I was like hey you realize this say
like I only have one month for this
project and then I was like challenge
accepted um so I started with first
manually Gathering all of the late night
talk show appearances off of
IMDb I Then I then went and downloaded
or I then went and found all of the
videos correlating with those talk show
interviews from the host
channels used a note package to download
all the videos and their captions get
the time stamp from each of those
captions so that I can take a screenshot
for every single time somebody talked
upload that to Google Vision API because
they give me information about faces and
their boundaries and emotions and how
happy they are or angry or if they're
wearing a hat um and then I took that
data and then aggregated it with my
caption data to get my final data
set so what these two lesson these two
months taught me was if I'm just curious
if I have a curiosity there is some way
that I'm going to be able to get my hand
on that data set whether it's to
manually um go through and enter them or
write a script to automate them which by
the way I found I think there is a not
package for literally anything I can
imagine Under the
Sun as long as I do all of this
responsibly and
legally well thankfully not every month
is as data intensive as that so for
August the obvious theme was the
Olympics especially since we're both big
fans and I decided to visualize all
5,000 gold medal winners since the very
first Olympic Games in
1896 so each of these circles represents
uh a group of similar sports like water
sports or Ball Sports and then each
slice or feather within a circle
represents one sport like Athletics we
have the first edition over here going
outward to
2016 the reddish background are female
events and the bluish background are
male events and then finally each medal
is given the color of the continent in
which the country lies that won the
Medal so for example America is red
Europe is blue and so on and we can see
here that there were actually no female
events in the very first editions of the
Olympics but we've been catching up
since then so I actually found the data
for this piece from two articles
published by the guardian for the 2012
games in London however after getting a
rough shape of my visual on the screen I
noticed some very obvious medals were
missing like hockey from
2012 so my confidence in this data set
suddenly dropped drastically even coming
from such a respectable source as the
guardian and I therefore had to get a
sense of the accuracy of the complete
data set but I didn't want to have to go
manually through all 5,000 medals maybe
surely
wouldn't so I found a proxy instead so
on Wikipedia I could find the number of
events that happened during each of the
additions and I then compared that to
the number of gold medals I had in my
data set and if there was a discrepancy
I dug deeper to figure out where and how
and that's how I found out that for some
of the years the horses were also in the
data set winning gold which makes for an
interesting read to see princess and
and Lady merka as women winning
gold in the
Olympics well eventually I ended up
figuring out each discrepancy and making
adjustments to my data to get it to the
point where I trusted it again so my
lesson here was that even if I have data
from very respectable Source I really
need to get a sense of accuracy and
completeness missing data can be harder
to find than wrong data and you don't
have to check every value like every
separate value but think about taking
sums and counts and averages and
comparing that just to plain common
sense or even better a different data
source so many people dive straight from
data to final visual but take some time
and actually sit back and sketch out
your ideas on paper we filled many pages
of our notebooks since starting because
it helps us think and lay out ideas
beforehand but my sketches often are
very simple only focusing on the main
abstract shape that I want to fit my
data into colors and layout and design
these are things I only vaguely think
about but don't act on until I have the
data on my screen there's just no use
for me to think about these things until
I figured out that the data actually
works once I've morphed it into the main
shape so for the Olympics for example
example I had this idea of feathers
placing emphasis on the more recent
additions but I had no idea if that
would look all right once I finally
placed all 5,000 Metals together so I
had to see if the general shape would
work before moving on well I started
laying out the feathers but it took a
few steps until I saw that luckily it
did show potential with the actual
data but sometimes there's even no use
to start sketching on paper although I
will say that's very rare for me but
networks are an exception and for our
October month I decided to dive into
royalty I've always been intrigued you
know how intermar the royal families
really are are they all cousins twice
removed well luckily I found a genealogy
data set that contained a gigantic
family tree of the European Royal houses
it was from 1992 so I had to add one or
two more Generations in the main line of
succession which was a fun night on
Wikipedia
not so here we have the final result of
all 3,000 people in my family tree the
bigger circles are actually the 10
current royal leaders and everybody's
connected to their parents their partner
and their children and to highlight the
interconnections you can hover over
anybody to see their Six Degrees of
Separation light up and how far they
reach into the web but you can also
click on any person and let's see if I
can get it to work here and any other
person to see the shortest path between
these two people because the entire web
is connected they're all family in one
way or another
but when I started out with this data
set I had no idea what it contained so I
just sort of plotted everybody using the
most basic network settings and then
this happened an explosion of points and
lines going out of my screen so I pulled
in gravity a bit I could have used D3
expressed during this part but and then
I ended up with a useless hairball yay
so I call it the points by year of birth
well still not helping well thankfully
in d3's version 4 you can easily have
gravity depend on variables so I pulled
the web apart by year of birth as well
which was better but it was still a
rather uninsightful bundle and at this
point I'd already invested several hours
into playing with the network settings
playing with different types of
connections adjusting my data and I was
really at the point where I thought
about giving up maybe I could try a
different angle like how much they're
spending each year or something but I
gave it one last shot and that's when I
decided to focus on the current royal
leaders so I plac these in a line and
then I let the vertical gravity depend
on which of these Royal leaders you were
most closely related to and that's when
I finally saw it insights for example
that the queen of Denmark over here is
very Central in the web but that we have
the Prince of Monaco whose lines
separated from the rest more than 200
years
ago and it was around this time that I
also started thinking more about the
general design aspects and networks
often remind me of constellations and
with my astronomy background I have a
bias for all things space so I turned it
into a starring night
but I could have never sort of designed
this visualization beforehand and
Illustrated or sketched it I had to go
hand in hand with the actual data and
apply my design choices to all of the
data simultaneously so that I could see
if the results were both interesting and
engaging so NTI gave us a really great
example of when you land on the right
visualization earlier on but that's not
necessarily always the case for our
March data sketches we had the
incredible opportunity to work with
Google news laab and their search data
dating back to 2004 which by the way
launched this morning so please check it
out
yay um so with access to all of that
data I wanted to look into what people
are searching for and specifically what
people in a country search for around
the world so each of these blocks are a
topic that the US have searched for in
Spring and I can toggle between all of
the different weathers weather Seasons
um and see the topics the top topics as
well as dig into a specific country and
look at the top places there I can also
expand on the topic so that I can see
the search interest and seasonality for
that particular
topic and the question I really started
out was what are the top search
countries which turned out to be Brazil
and then I was like who's searching for
Brazil can I see actually what kind of
topics are being searched for around the
world in each country country including
Brazil and can I see the distribution of
uh those searches across the years and
then let me actually get a little bit
greedy because I want to see the search
interest
also okay maybe
not okay so let's step back and let's
try for circles for each of the topics
and size them according to the search
interest and maybe I can show the
countries searching for each of those
Topics by overlapping circles and this
is kind of pretty and like bubbly so I
kind of like it um but does geography
play a part in who searches for a
country's topics so let's try sorting
maybe try sorting all of the topics by
distance for a year um and that doesn't
look really great so maybe I can just
concentrate on one topic across all of
the years and that actually kind of
looks like it might lend well to a heat
map maybe maybe not this is really not
going anywhere um I need to step back
but I did notice in an earlier
exploration that seasonality is quite
common in a lot of the topics so maybe I
can keep the sorting by distance because
that geography is actually still quite
interesting but maybe this time around I
can try and filter and group by the
seasons and that sounds quite promising
right nope so it turns out that all of
the topics are searched for across all
of the seasons making for all of the bar
barographs to look exactly the same that
was pretty sad but wait then I realized
that because there's seasonality the
search interest is actually different
across all of the seasons so if I just
size all of the heights of the uh blocks
by the search interest I actually start
to get very interesting insights like
this one that the US searches for travel
more often in the spring than in the
fall and finally finally Tada I have my
last uh visual my final visualization
form that I'm quite happy about where
each of the topics are grouped by the
country that they're they belong to and
there's interesting insights like for
example if we just look at the topics
for summer Mexico is actually not
searched for that often but Canada is
and and and um the hotter countries
around the world like Thailand and the
Philippines aren't search for that often
but if we go instead to Winter the
opposite is true where Mexico Peaks and
Canada drops and bise and Thailand and
Philippines the hotter countries
actually go up in search
interest so the lesson here was
sometimes sometimes we don't get the
right visual from our first sketch or
second or even third try but be patient
and go back and forth with a sketch and
code because that will help figure out
what works and more importantly what
doesn't work so that we can go on to our
next
step so as expected most of our hours
are actually spent on getting the data
on the screen and here are some of our
maybe less obvious coding lessons so in
the very first month the topic was
movies and therefore it was immediately
clear to me I wanted to do something
with the Lord of the Rings and I found
this super interesting data set that
contained the number of words spoken by
each character in each scene of all
three extended editions of Lord of the
Rings
amazing so I decided to focus on the
members of the fellowship to see we have
them here in the center and then to see
how many words they spoke at each of the
locations around here uh on the circle
well no surprise maybe that Gand speaks
the most but my favorite Insight is
actually uh that Boromir who is really
only alive during the first movie
manages to speak more than legalist does
in
three but anyway when I looked at the
sketch for this project I found that it
was very similar to a chord diagram so I
thought I could start from there and
then slowly transform the chord diagram
to my sketch and the most basic thing to
me was if I could figure out how to get
these chords to flow Inward and that
actually took less time than anticipated
which is very rare for me encoding but
yeah it worked well getting rid of the
excess space and now it's ready to
handle the Lord Rings data and some more
appropriate colors so we have nine
members of the Fellowship so making sure
that the centers end up at the right
vertical location but this was looking
very squished so I used the same setup
that I I've used in my bad plot and
pulled the two halves apart and finally
as you can see these cords are now
looking rather unnatural and I therefore
decided to dive into learning SVD pads
and that was the thing that took the
longest in this project sort of figuring
out how to make these pads look more
natural and that's how this sort of new
D3 layout came into existence mutated
from d3's Court
diagram and many people have done
wonderful work that you can use so even
if you think you are creating something
new you don't always have to start from
scratch just pick the thing that lies
closest to your design or idea and start
adjusting That Remix what's out there
already but sometimes we dream up
visuals that are unique enough there's
no base for us remix off of for that
same movie month I wanted to take a look
at top summer Blockbusters in the last
two decades and reimagine them as
flowers so each of the colors are
associated with a genre and the size and
number of petals for the flowers are
their IMDB ratings there are some really
really beautiful flowers in here I think
like The Dark Knight Rises and Slum Dog
millonaire and my absolute favorite is
the 1997 Batman and Robin which is this
tiny teeny little thing that I think I
think is super
cute um and I've gotten questions about
hey how did you make this um how long
did it take and the answer is it's
actually really quite simple it just
really takes a good grasp of SVG pass
and in particular the cubic bezier curve
command and so how that works is we
start out with a starting point of in my
case 0 0 and the way that I like to
think about it is we draw a line between
that starting point and the end uh
purple point and then we take the two
anchor points the blue and green and
nudge them out until we get the curve
that we want and then drew some of the
lines and made the curve on the other
hand rotated the petals out and added
the colors with some motion blur and uh
and that's it that's all that it took so
the lesson here really was that um when
we're creating things really understand
the tools that we're using because
that's how we can go beyond the
prescribed examples and in particular
our favorite tool our favorite tool is
SVG paths because with that under our
belt we can make anything any shape that
we imagine up for truly unique
results so now that we've seen two
examples of adjusting paths what about
their positions well going back to the
Olympic feathers you know all of these
circles and and slices they depended on
you know depended on each other but they
were very structured they all followed
the same concept and at first I tried to
calculate all of the rotations of these
circles and slices in JavaScript but
after having written like 30 lines of
code and still not achieving something I
knew I could do in r in two lines I just
pulled all of these preparations into r
as well uh so even if they were visual
variables they have nothing to do with
the data only with how it will be laid
out on the screen so for example I
pre-calculated the initial rotation that
each of these circles needed to have So
eventually the center would end up at
the bottom I pre-calculated the offset
that each of these slices would need to
have based on their predecessors the
only placement variable that I kept in
JavaScript to keep it Dynamic was the
year scale from the center outward
because then I could sort of scale the
entire circle based on the screen size
and even the metal offset is something
that I pre-calculated in R and you can
use the same idea of visual variables in
networks as well that are static and
fixed just download the final X and Y
locations and the next time place them
there immediately saving your viewers
from having to run and wait on a heavy
Force
algorithm so even though they have
nothing to do with the data it's
perfectly fine to pre-calculate visual
variables and attach these to your data
set and that's more often the case for
fixed data sets than you may think now
sometimes it's just way easier to
calculate some things outside of
JavaScript or if can save you a lot of
browser calculations making your visual
easier to load and as an edit as a bonus
it will make your Javascript file a lot
more readable as
well so far we've talked about what I
like to call the initial 80% the data
preparation the ideation the
visualization itself but I like to I
think that I like to think that the last
20% is extremely important as well so
when I started thinking about the story
for Hamilton I wanted to to reach a
wider audience than usual and that meant
that I wanted to make sure that they
were engaged enough that they would keep
scrolling down the screen so the first
thing I did was I had the dots fly in as
the as the page loaded into the center
to form the Hamilton
logo and as the user Scrolls down the
dots fly apart and dance in the
background and then come back together
so that I can tell the reader hey each
of these dots are actually the lyrics
and as they go into the first section of
analysis each of these sections actually
correspond with a song so then I
highlight the correct song to tell them
where to to tell them where the what the
song is for each
section the next thing I do or one of
the other small things I do is if the
user decides they want to click on a
song ooh that worked cool um I didn't
expect the sound to work um you can see
I put a progress bar on the right hand
visualization oh and you can't really
see much else um oh okay but um it gives
users the context of where the song is
relative to the musical
itself another smaller example is for
our March data sketches where I used
animations
um to explain how to read parts of the
project but I don't actually trigger
these animations until the user has
scrolled into that
section so that they can always start
from the beginning of the explanation no
matter where and how and how fast
they're navigating and it's these small
attention to detail and attempts at
Delight that really make a piece for me
because it tells the reader that we
really care about their exper
erience and some more examples of what
you can do with the light well on a
flight back to Amsterdam I was without
Wi-Fi so I couldn't do anything
essential and therefore I decided to
animate the legend I had for my
visualization about fantasy books just
for fun and other non-essential things
that I did are adding animated gifts of
the most memorable moments of Dragon
Ball
Z that took like two hours to go through
all of the
gifts um or adding a hover with the most
detailed information I had from music
nerds in my December music visual or
turning the top 10 songs into tiny
vinyls or having annotations about weird
and silly events that happen in the
history of the Olympic games like Henry
Pierce having to stop for ducks in the
rowing event but still managing to win
gold so although getting your data on
the screen in such a manner as to make
it insightful is key it's the other
things to add such as animations
annotations weird Legends gifts and more
that can make it truly unique and
special and even more of a delight to
investigate so take some time to think
about these aspects as
well and now we get to the soft of or
what I like to call the best stu um so
when naughty and I started thinking
about data sketches and talking about it
we really didn't expect the kind of
reception that we've had we thought that
if we could just have fun maybe learn
some things and if some of our our
friends enjoyed the project that'd be
really cool but we've gotten the most
amazing responses on both our
visualizations and the value of our
writeups and we've gotten to meet
incredible people and talk to them that
we would have never had the opportunity
otherwise and we've gained an amazing
friendship with each other that we
didn't expect at the
B thank you we just wanted to have fun
um but when we step back and um really
thought about the transferable
lessons the we agreed that the most most
important was if you're about to take on
an ambitious project make sure to bring
somebody on along the ride with you and
make sure that if you're not too
responsible like me that the person that
you bu that you bring along is very
responsible so that you can keep each
other accountable and relatively on
track for for your
project make sure that it's someone that
you really respect and hopefully that
respect is mutual and most importantly
that it's someone that you trust or can
grow to trust because that's absolutely
crucial to receiving and giving
feedback and finally if you're about to
do something ambitious like make a
visualization from scratch every single
month no that no that it would be hard
there's there are there have been months
where we've been creatively drained and
didn't know how to go on but remember
you learn as you struggle and it's
absolutely amazing the amount that we've
learned both technically and personally
and it's been absolutely worth the time
so over the last 10 months we've learned
to find data in the weirdest places that
it's not blasphemy to pre-calculate
visual variables that sketching can help
weed out thinking errors but that you
can also sketch with code that SVG pants
are amazing and math is too but we
already knew that of course and that
surprising surprisingly small things can
add a sense of delight to your audience
and we didn't set out to learn or be
confronted by these things like like
Shirley said we set out to have fun and
in that we definitely succeeded sure
it's been intense there were times when
we were coding into the night when we
would have rather binged the TV show but
it has opened up paths and opportunities
that we weren't even looking for but
happy to have gone so two more months
too or maybe three and then what well I
can assure you we will not keep on
creating visualizations in our spare
time at the same break night pace
but we do want to share uh data sketches
with everybody and we've had so many
wonderful reactions especially about the
rups so we've decided to create a data
sketches publication on medium and
anybody who has made a visualization and
wants to share his or her writings about
the creation process can do that here
you can do a full data sketches month
collaborate with others on the same
topic but it's also fine if it's a
single Standalone project the main point
is to show how your final visualization
is a product of iterations mistakes and
improvements so please let us know if
you ever have anything that you'd like
to contribute well we hope that you'll
join us in our final two months of data
Ming sketching and coding up our topics
and often weird fun and overly elaborate
visualizations thank you very
[Applause]
[Music]
[Applause]
much