Building data visualizations
for product
Shirley Wu (@sxywu)
why talk about
dataviz in product?
illumio
contain cyber threats with adaptive segmentation
Illumination
keep track of who's going in and out, and who should actually be allowed in and out
visualization
framework
scale
user
team
1 visualization
workloads
(the "rooms")
traffic
("going in and out")
workloads grouped by labels
1 visualization
first implementation
force within force
+
collision detection
1 visualization
✨Abuse the force✨
1 visualization
and this is what we get for abusing the force.
(we're sorry)
1 visualization
how we fixed it
stripped out force layout
replaced it with our own layout algorithm
1 visualization
more performant
more orderly
maintains layout on refresh
1 visualization
1 visualization
lesson learned
customize and optimize
based on user feedback
2 framework
blocked traffic
allowed traffic
take action to allow traffic (turn it green)
1 visualization
2 framework
1 visualization
2 framework
so many user actions
couldn't keep track
of 'em all
1 visualization
2 framework
how we fixed it
recalculated everything on each user action
moved to react and flux
1 visualization
2 framework
no need to keep track
easy to reason about
"it just works"
1 visualization
2 framework
1 visualization
2 framework
lesson learned
start with a stupidly simple approach
3 scale
oh look, spaghetti!
1 visualization
2 framework
3 scale
how we fixed it
aggregated by groups
filtered as user drilled down
1 visualization
2 framework
3 scale
1 visualization
2 framework
3 scale
how we fixed it
stopped recalculating where least performant
replaced arrays with objects in data stores
1 visualization
2 framework
3 scale
loaded only enough data to render screen
lesson learned
optimize only when hit with a performance road block
1 visualization
2 framework
3 scale
1 visualization
2 framework
3 scale
4 user
what we noticed
always edge cases
1 visualization
2 framework
3 scale
4 user
building for want vs. need
lesson learned
get and use real data as often and as early as possible
1 visualization
2 framework
3 scale
4 user
5 team
what we noticed
esoteric visualizations
1 visualization
2 framework
3 scale
4 user
5 team
novel approaches
lesson learned
encourage rapid prototyping and exploration
1 visualization
2 framework
3 scale
4 user
5 team
customize and optimize
based on user expectation
get and use real data as often and as early as possible
start with a stupidly simple approach
optimize only when hit with a performance road block
encourage rapid prototyping and exploration
visualization
user
framework
scale
team
lessons learned
be flexible
explore when necessary
team is the most important
two last things
a survey for compiling experiences
a slack channel
(d3js #dataviz-in-product)
for community
(links on twitter @sxywu)
✨Thank you ✨
Especially to:
Alexander Lam
Xianlin Hu, Maxwell Brown, #TeamIllumio
Jana Beck, Ian Johnson, Zan Armstrong, Tony Chu,
Micah Stubbs, Elijah Meeks, Susie Lu,
Jim Vallandingham, Noah Veltman
for all their enthusiasm, support and feedback.
Reject Gifs hall of fame
(because they deserve love and attention too)
Building dataviz for product
By Shirley Wu
Building dataviz for product
In progress
- 5,211