An open letter to Tableau
Normally, at this time of the year, I’ll be writing a recap of VisWeek. And I will – the writeups I have been doing for visualisingdata.com were just highlights of individual talks. But much of my VisWeek 2011 experience happened in between the talks. People you meet, ideas you glimpse, that collide and generate new ideas, plans you make…
One person I am always happy to meet at VisWeek, and who is visible from afar, is Tableau’s Jock MacKinlay. Since I couldn’t attend TCC11, I spent some time talking with Jock and Lori Williams about 7 and plans for the future. Whenever I would start a sentence by “hmm, you know…” Lori or Jock would write it down and ask me to send any remark in writing, so I thought I should do that, but rather than keeping this private, I’m going to stick to what’s written on one button I picked up on their stand: do it in public.
For a piece of software that complex, Tableau Desktop/Public has received improvements at an astonishing rate. So fast that one of the recommendations I had is already implemented or ready in the next release. So I have the conviction that Tableau product people care and are on the lookout for useful suggestions on how to move forward. Here are a few.
More fonts please!
In Tableau Public, you’re stuck with the windows XP default fonts. That’s not an awful lot. Is that enough?
For the first 15 years or so of the web, webmasters had to be content with so called web-safe fonts. There was a time where the web was probably 90% verdana and people accepted this like death and taxes. But this is now 2011 and any personal website can be a marvel of customized typography – at least, the parts around a Tableau viz.
More specifically there are two issues with the current set of fonts.
First, there is no condensed font (think Helvetica Condensed, etc.). But condensed fonts are extremely useful to display numbers in callouts or on axes.
Second, the default font is Arial. This is not a neutral choice. There are lots of adjectives that can be associated with Arial, and frankly I don’t think it’s right these qualifiers should apply to Tableau. Arial is the default font of Excel pre-2007 , it’s the font of those bullet-ridden, unstyled, unsavory powerpoint slides that bore us to death for over a decade of unnecessary meetings. Many say it’s a rip-off of Helvetica.
Being able to chose one’s font is essential to branding. The typography of my vizzes should concord with that of my website and my brand. Same goes with my colours (more on that in a second). Conversely if any output on my website is not aligned with my brand it denotes a lack of control.
So what should Tableau do?
Offer more fonts! There are literally hundreds of proven fonts which would be very well suited for dashboards. Fonts which are not unheard of, yet not trite. Legible, yet distinct.
Ideally, Tableau should commission its own font. There is no agreement about which is the best font to display numbers. Settle the question by creating that font! Anyone who would use this font in Desktop, Public or otherwise will subtly scream “Ra Ra Tableau”.
Then, offer several themes to choose from. In my view, Tableau encourages user to focus on what question to ask the data. Once this is done the resulting “visual query” should look ok, or require very little rework to be publishable as is. Today moving away from the arial bold, arial, light gray background on header scheme does require a lot of rework, and shouldn’t. Other Washington-based software firms have been offering themes for ages. Now look at all the existing Office palettes. They all are quite good. I have trouble using the default colors because it really says: this guy hasn’t given half a thought to color. At least I am aware that many very acceptable choices exist. I think it’s a reasonable stance.
Node-link graphs, or as they really should be called, graphs, are the most useful way to represent relationship across data elements. If your dataset has items and relationship between them (like movements from a place to another, transactions from an entity to another, people and how they relate to another… there are really many examples), a graph can show quickly and elegantly what there is to know about the data.
I insist on the “quick insight” part because I believe that fundamentally this is what Tableau is about. Many people, including me, use Tableau systematically on a new dataset they try to understand. It’s very quick and efficient to explore data with Tableau and find out what’s interesting in a dataset. You’ll find consensus in the visual community that Tableau is the best “drafting tool” ever.
Back on graphs. One problem with graphs is that since they are not in the Excel canonical list of charts, they are not in the mindset of most corporate users.
Graphs, I believe, would be relatively easy to include in the Tableau toolkit. There are several algorithms that can calculate where the nodes should be drawn. This is not unlike drawing a map – suddenly the x and y come from lat-lon coordinates which are deduced from the underlying data. Likewise an algorithm could assign x and y coordinates to any row. Then all there remains to do is draw a dot or shape with all the standard attributes, color, size, etc. Links between nodes could be handled by the line object.
When I told Jock about graphs he asked me what would I do with that. Oh, I had some ready ideas: as an HR manager, I could visualize all the relationship in my company. There are many explicit (work in the same team) but also implicit (have worked together in the past, graduated in the same school, similar interests, offices close by etc) relationship in HR files. Or, logistics – I could represent my itineraries non-geographically. Suddenly I can make cartograms (which are usually tricky to do) instead of maps.
In retrospect this is not the right way to approach the problem. I’ve only worked in a handful of positions and industries. There are thousands of different jobs in as many domains who can look at data with different lenses. What I do know as a data visualization person is that graphs are useful and that if people who traditionally didn’t have access to them could pull them instantly on their data – fantastic things may occur.
Treemaps and hierarchical charts
I could say pretty much the same thing about treemaps: they are very useful, especially since tabulated datasets, the bread and butter of Tableau, often contain hiearachies. Yet they are not part of the Excel family so if you’ve never worked with them you can’t feel you need them.
So I asked Jock, why doesn’t Tableau have treemaps? It makes sense, IMO. Treemaps are one of the few “advanced” visualization tools which have gained quasi-acceptance. I really see that as a progress. Isn’t there a natural match with Tableau? Jock answer was that the problem with treemap is that they do not fit well with Tableau algebra. To turn a dataset into a treemap would require a specific process that can’t generalize well like the rest of Tableau.
See? There’s your problem
So instead (or rather as a first step) I suggest Tableau adds an attribute to marks: a secondary size attribute. See it this way: if only one size attribute is filled, then it governs all aspects of the size of a mark (height, width, area, diagonal you name it. It would be proportional to all). But if there are two sizes one will affect height, the other, width. So yes, we can do rectangles. And ellipses too. Now that in itself is not half-bad. Fattened stars or what not, I don’t know what to do with them but rectangles and ellipses, now…
Now once you can handle rectangles, once you can handle layouts (which you can, because: maps), you can have treemaps, and/or any hierarchy or packing algorithm. I think we can stop at treemaps but folks at Tableau know there are wide, (mostly) unexplored territories beyond this point.
Tableau and storytelling
OK this is the innovation that was already in the pipeline when I mentioned it. It would be very useful to have a system of stateful urls for Tableau public. What is that? The possibility to pass a set of parameters in addition to the url of a view, so that it is in a certain state. So the same dashboard could be shared in different states (for instance, with different items selected, or different filters) without having to be saved several times under several different names.
Bonus: dashboards under a certain state, if they can be uniquely identified through those parameters, can then be shared on facebook and twitter as is.
All of this is taken care of.
Interactive slides framework
Now the next step: an interactive slides framework.
The idea? there is a structure like the common slideshow, where the user can go to the next or previous slide, guided by a narrative. But at any step instead of following the flow, they can stop and interact with the view they have.
That said despite being a simple idea it requires quite an amount of overwork to implement properly. It makes sense for Tableau to have their own framework so users can arrange nicely a sequence of views in the desktop tool, for instance dashboards in specific states, with an extra layer of commentary if needs be, and then deploy the finished product which can be embedded in one location as opposed to requiring the user to embed several vizzes in one page. The advantage would be that the reader would go from one to the other as intended by the author, with a supporting narrative or explanations, and wouldn’t be required to explore or interact with each one to get an idea of what is going on.
What do you think?
What would you like in Tableau?