Hacking @ Tableau
Heatmaps, Set Actions, Step Lines, the Tableau Start Page… What do all of these Tableau features have in common? They were all started as individual projects during a Tableau internal hackathon. Hackathons are part of Tableau’s culture, and have taken place every year since the early days of Tableau. They continue to be an exciting event for the entire development team. Everyone looks forward to them for a chance to brainstorm new ideas, new processes, or new collaborations.
A Tableau hackathon is a time set aside where everyone can work on something of their own choosing relevant to Tableau. It could be to improve an internal process, to produce some tools, to try out a new language, or to add a new feature to Tableau itself.
Surprising features that are currently in Tableau have originated as hacks from a hackathon. Some of our internal tools originated from them. There are many other benefits to having regular hackathons. Employees get to take a little time to learn a new skill or try out something different from their day-to-day responsibilities; people who normally don’t get to work together collaborate on a new idea; with everyone experimenting with new ideas, we build a sense of mission and cultivate innovation.
As Tableau has grown, our hackathons have changed. We have had to adapt to our growth, and learned a few things along the way.
One of these learnings is the length of hackathons, which we have adjusted over the years. For a while we tried having a hack day every month. This turned out to be too short for us. Some of the ideas needed multiple hack days, and the creative juices had to get started up fresh every month.
We have now settled on two, one-week hackathons each year. The last afternoon is dedicated to demos and celebrations. All meetings are canceled for the week! This is a large investment for Tableau, but the benefits outweigh the cost. (More on that later.) In the days leading up to the hackathon, there are Slack channel discussions, wikis with different ideas floated, and expertise recruiting. We had over 100 demos during our last hackathon event, which included two that involved our CTO. Would it surprise you to know that our CTO has been involved in some pretty awesome hacks over the years?
Density Maps… born out of a Heatmap Hack
If you aren’t familiar with density maps, the left image below shows the hotspots for roadway repair in a major city. The image on the right shows the location of field goal attempts in the NBA over 100 games. In both cases, you can easily see the “hot spots” of issues or field goal attempts.
You might imagine that management decided that Tableau needed density maps, and then allocated resources to get it done. But this is not the story of density maps.
In 2015 an engineer tried to integrate a heatmap into Tableau during a hackathon. It worked, but was very hacky and slow. It didn’t get much attention. In the spring of 2017, this same engineer teamed up with another engineer to try heatmaps again. This time they were going to take advantage of the internal Tableau visual pipeline. During the hackathon, you could see them constantly huddled around a shared computer. They rarely left their seats, only on occasion to grab something to eat, or to ask a quick question from others more familiar with how marks are rendered in Tableau. At the end of the week, they were excited to show their progress. As they showed a very slick heatmap in Tableau, applause erupted in the room. After just a few minutes of demo, everyone immediately knew that customers would love this as a feature.
Hacks are not polished features. They had cut a few corners, and optimized for a specific use case. Soon after the hackathon, resources were allocated to finish the work they had started. There were still challenges to overcome. For example:
- Should heatmaps be density based or should there be other ways of aggregating, and how should the user choose between them?
- Should a heatmap be a mark type or something else?
- How should interactions such as selection and highlighting work with a heatmap?
As these questions were answered, and implemented, heatmaps became density maps and were introduced in 2018.3.
All this started with a single engineer who chose an interesting idea for a hackathon.
While some exciting Tableau features started out as hacks, some hacks are just wacky and will never see the light of day. One of my favorites was Tableau visualizations in 3-d. After putting on 3-d stereo glasses, the shapes come off the screen and float in the air! This was a lot of fun to use.
It doesn’t look like much here, but if you happen to have a set of stereoscopic glasses handy like these, you will see the shapes floating in the air above the map.
You might be wondering what the benefit would be to something like stereo 3-d visualizations? Hacks like these provide engineers the opportunity to work in code they normally don’t work in, and have a lot of fun doing so. You would also be surprised by the number of useful ideas that can be inspired by something wacky.
When we were a company of 50 employees, each hack got to present at a company meeting. When we were a company of 250, we set up a bunch of kiosks for demonstrations during the last day of hackathon. When we were a company of 2,500 a panel of judges nominated their favorite hacks, which were presented at a science-fair type exhibit at our company meeting.
Now that we are even larger, we present in front of our department. The presentations are recorded so that others can also watch them. A panel of judges vote on the best hacks in each department. The top hacks from each department are then presented to a panel of judges across the development organization. The winners from this round are then presented to a panel from the executive staff. It is an honor to be chosen as one of the top hacks in your department or across the development organization. Over the years, we have had some rewards like gift cards, or a high tech gadget for participating. But the rewards don’t have to be extravagant. In our case, most often the awards are as simple as a participant badge. I proudly display mine. :-)
Shouldn’t we be thinking about the customer?
Hackathons really are about the customer! Many important features started as a hack. I listed some of those above. However, there is another benefit. You might be surprised to know that many hack ideas are inspired by ideas from the customer forums, as was the case with transparent worksheet backgrounds that was shipped in 2018.3. Customers benefit in multiple ways from internal hackathons. And by the way… if you are a Tableau customer, keep those forum ideas coming!
Hackathon Costs, Hackathon Benefits
I previously stated that the benefits from hackathons outweigh the costs. What is the cost, what are the benefits? Two weeks a year is under 5% of the work year. That relatively small investment leads to many benefits. While they are harder to quantify, here are some that come to mind:
- Many great ideas have been shipped as part of the product.
- A bunch of internal tooling and processes have been improved.
- Customers get excited from seeing their ideas inspire the development team.
- A company culture of innovation and collaboration is built.
- The culture of innovation at a company attracts innovative employees which leads to an increased culture of innovation, creating a virtuous cycle.
- Cross-pollination of ideas happens naturally through working with others across the development organization.
- Hackathons can lead to better ideas than brainstorming — hack projects are essentially built-out experiments rather than just a short phrase or a one-page idea pitch.
- Development team morale is increased.
None of these benefits come from an executive decree, they naturally come from having regular hackathons. If you aren’t having hackathons at your company, be the champion and get them started. Happy hacking!