Presentation by Andy Kriebel and Bryan Brandow of Facebook at the 2014 Tableau Customer Conference
http://vizwiz.blogspot.com/2014/09/facebook-jeopardy.html
8. Rules (so Andy doesn’t cheat)
1. Each item is a pain point
2. Answer must be in the form of a hack
3. Loud applause = bonus points!
9. Everything will be available
on our blogs
vizwiz.blogspot.com
bryanbrandow.com
10. Sanity Savers
Life
Changers
Tipping The
Scale
No Assembly
Required
100 100 100 100
200 200 200 200
300 300 300 300
11. My ETL was delayed
today and it missed my
refresh schedule.
12.
13. Trigger is a control table with the Current Status for each Trigger
A script runs every 5 minutes to fire Triggers that are Ready
Extract is refreshed immediately when data is available, and no server
14. Sanity Savers
Life
Changers
Tipping The
Scale
No Assembly
Required
100 100
My ETL was delayed
today and it missed my
refresh schedule. 100
200 200 200 200
300 300 300 300
15. My extract has been
failing for the last 3 days
and I just noticed.
16.
17.
18. Sanity Savers
Life
Changers
Tipping The
Scale
No Assembly
Required
100 100
My ETL was delayed
today and it missed my
refresh schedule. 100
200 200
My extract has been
failing for the last 3
days and I just noticed. 200
300 300 300 300
19. Extracts take too long to load
and are taking up too many
resources on my server.
21. Sanity Savers
Life
Changers
Tipping The
Scale
No Assembly
Required
100 100
My ETL was delayed
today and it missed my
refresh schedule. 100
200 200
My extract has been
failing for the last 3
days and I just noticed. 200
300 300
Extracts take too long
to load and are taking
up too many resources
on my server.
300
22. I like drilling down, but I
hate losing context by
switching tabs.
23.
24. Sanity Savers
Life
Changers
Tipping The
Scale
No Assembly
Required
100 100
My ETL was delayed
today and it missed my
refresh schedule.
I like drilling down but I
hate losing context by
switching tabs.
200 200
My extract has been
failing for the last 3
days and I just noticed. 200
300 300
Extracts take too long
to load and are taking
up too many resources
on my server.
300
25. I want to build a waterfall
chart, but it’s taking 9
minutes for my 37 sheet
dashboard to render.
26.
27.
28.
29. Sanity Savers
Life
Changers
Tipping The
Scale
No Assembly
Required
100 100
My ETL was delayed
today and it missed my
refresh schedule.
I like drilling down but I
hate losing context by
switching tabs.
200 200
My extract has been
failing for the last 3
days and I just noticed.
I want to build a
waterfall chart, but it’s
taking 9 minutes for my
37 sheet dashboard to
render.
300 300
Extracts take too long
to load and are taking
up too many resources
on my server.
300
32. Sanity Savers
Life
Changers
Tipping The
Scale
No Assembly
Required
100 100
My ETL was delayed
today and it missed my
refresh schedule.
I like drilling down but I
hate losing context by
switching tabs.
200 200
My extract has been
failing for the last 3
days and I just noticed.
I want to build a
waterfall chart, but it’s
taking 9 minutes for my
37 sheet dashboard to
render.
300 300
Extracts take too long
to load and are taking
up too many resources
on my server.
I wish I could expand a
section in-line
33. When my extract refreshes,
the date range quick filter is
stuck on a date in the past.
34.
35.
36.
37. Sanity Savers
Life
Changers
Tipping The
Scale
No Assembly
Required
When my extract
refreshes, the date
range quick filter is
stuck on a date in the
past.
100
My ETL was delayed
today and it missed my
refresh schedule.
I like drilling down but I
hate losing context by
switching tabs.
200 200
My extract has been
failing for the last 3
days and I just noticed.
I want to build a
waterfall chart, but it’s
taking 9 minutes for my
37 sheet dashboard to
render.
300 300
Extracts take too long
to load and are taking
up too many resources
on my server.
I wish I could expand a
section in-line
38. My users are creating
spaghetti charts! I need this
to stop or I may kill someone!
39.
40.
41. Sanity Savers
Life
Changers
Tipping The
Scale
No Assembly
Required
When my extract
refreshes, the date
range quick filter is
stuck on a date in the
past.
100
My ETL was delayed
today and it missed my
refresh schedule.
I like drilling down but I
hate losing context by
switching tabs.
My users are creating
spaghetti charts! I
need this to stop or I
may kill someone!
200
My extract has been
failing for the last 3
days and I just noticed.
I want to build a
waterfall chart, but it’s
taking 9 minutes for my
37 sheet dashboard to
render.
300 300
Extracts take too long
to load and are taking
up too many resources
on my server.
I wish I could expand a
section in-line
44. Sanity Savers
Life
Changers
Tipping The
Scale
No Assembly
Required
When my extract
refreshes, the date
range quick filter is
stuck on a date in the
past.
100
My ETL was delayed
today and it missed my
refresh schedule.
I like drilling down but I
hate losing context by
switching tabs.
My users are creating
spaghetti charts! I
need this to stop or I
may kill someone!
200
My extract has been
failing for the last 3
days and I just noticed.
I want to build a
waterfall chart, but it’s
taking 9 minutes for my
37 sheet dashboard to
render.
Replace Data Source
is killing me. Surely
there is a better
hackier way.
300
Extracts take too long
to load and are taking
up too many resources
on my server.
I wish I could expand a
section in-line
45.
46. People are asking me for
____ but Tableau just
doesn’t have that feature.
56. HaXML fired by Trigger
Trigger Dependency Scheduling
Triggers the HaXML update
after the Extract is finished
Extract Dependency Status
57. Sanity Savers
Life
Changers
Tipping The
Scale
No Assembly
Required
When my extract
refreshes, the date
range quick filter is
stuck on a date in the
past.
HaXML
Annotations,
Parameters, Images
My ETL was delayed
today and it missed my
refresh schedule.
I like drilling down but I
hate losing context by
switching tabs.
My users are creating
spaghetti charts! I
need this to stop or I
may kill someone!
200
My extract has been
failing for the last 3
days and I just noticed.
I want to build a
waterfall chart, but it’s
taking 9 minutes for my
37 sheet dashboard to
render.
Replace Data Source
is killing me. Surely
there is a better
hackier way.
300
Extracts take too long
to load and are taking
up too many resources
on my server.
I wish I could expand a
section in-line
58. People complain my
dashboards are slow, but I
don’t have any way to
quantify it.
59. Start counting when the Viz is loaded
This is when you first
see the gray spinner
screen
Stop counting when the Viz becomes interactive
This is when you can
finally use the
dashboard
60.
61. Sanity Savers
Life
Changers
Tipping The
Scale
No Assembly
Required
When my extract
refreshes, the date
range quick filter is
stuck on a date in the
past.
HaXML
Annotations,
Parameters, Images
My ETL was delayed
today and it missed my
refresh schedule.
I like drilling down but I
hate losing context by
switching tabs.
My users are creating
spaghetti charts! I
need this to stop or I
may kill someone!
Dashboard render
performance recording
My extract has been
failing for the last 3
days and I just noticed.
I want to build a
waterfall chart, but it’s
taking 9 minutes for my
37 sheet dashboard to
render.
Replace Data Source
is killing me. Surely
there is a better
hackier way.
300
Extracts take too long
to load and are taking
up too many resources
on my server.
I wish I could expand a
section in-line
62. I took my laptop to a
meeting and went to show
the dashboard and it
refreshed right in my face!
63.
64. Set a timer to pause the Viz before the timeout happens
Not pictured code
restarts this timer
every time the Viz is
interacted with
When you click to refresh, unpause and resume
Not pictured code
uses getFilterAsync()
and
getParameterAsync()
to restore your
previous state.
65. Sanity Savers
Life
Changers
Tipping The
Scale
No Assembly
Required
When my extract
refreshes, the date
range quick filter is
stuck on a date in the
past.
HaXML
Annotations,
Parameters, Images
My ETL was delayed
today and it missed my
refresh schedule.
I like drilling down but I
hate losing context by
switching tabs.
My users are creating
spaghetti charts! I
need this to stop or I
may kill someone!
Dashboard render
performance recording
My extract has been
failing for the last 3
days and I just noticed.
I want to build a
waterfall chart, but it’s
taking 9 minutes for my
37 sheet dashboard to
render.
Replace Data Source
is killing me. Surely
there is a better
hackier way.
Refresh in your face
Extracts take too long
to load and are taking
up too many resources
on my server.
I wish I could expand a
section in-line
70. Dash Cache: Grab New Images
Trigger calls this once per refresh and stores it in a database as an
encoded string.
71. Dash Cache: UI Code to Display
Checks if there’s an image for
this dash. If so, decode it and
display it!
Tableau JS API to hide the Dash
Cache when the Viz is ready.