MyALPO: How we gave every Tableau Server user a personalized homepage

As our company has grown, we’ve seen more and more people publishing workbooks and data sources to Tableau Server, which we’re thrilled to see. But the growth has also posed a challenge. With more people authoring content, it has become increasingly harder for people to quickly find what they need. That’s why we built MyALPO, an internal tool that provides a personalized homepage for every user.

Note: This is the first installment of a three-part series on MyALPO, an internal tool that provides a personalized homepage for every Tableau Server user.

Here at Tableau, our entire company uses Tableau to see and understand our data. To put it another way, we have an enterprise deployment of Tableau Server.

And as our company has grown, we’ve seen more and more people publishing workbooks and data sources to Tableau Server, which we’re thrilled to see. But the growth has also posed a challenge. With more people authoring content, it has become increasingly harder for people to quickly find what they need.

People came up with their own quick fixes to this problem. Teams built their own wikis to track dashboards. Managers took to emailing links to new hires. And people bookmarked their favorite links for fast access.

But none of these workarounds fully addressed the problem. Servers and URLs sometimes change, leaving saved links broken. Some fixes put the burden on the users to maintain, making them unsustainable in the long run. And with people using different solutions, team members, especially new hires, couldn’t easily find new and relevant content. That’s why we built MyALPO, an internal tool that provides a personalized homepage for every user.

(A quick note on the name: We endearingly call our deployment of Tableau Server "ALPO" since we use our own product—or eat our own dog food. Thus, MyALPO.)

How MyALPO works

When users open MyALPO, they see the content most relevant to their needs.

The top view shows the user’s four most recent views, with an option to expand to the top 12 views. This section updates every five minutes.

Next are the favorite views, or the dashboards the user has starred. These display in order of recency of use, meaning the most recently-viewed dashboards display first. We encourage people to use this functionality in place of bookmarking links as these will not break when a server or a dashboard name changes.

There’s also a dashboard on dashboard views (very meta, I know) to help people discover new content. People can explore the data by rank metric or by department. They can also see each dashboard’s number of views then click through to view the dashboard. We use algorithms to feed this view and to identify both rising and wilting content. And these algorithms are tuned to the quarterly cycle of the business.

The right rail features a portal for data sources to help jumpstart exploration and authoring. And the news feed below features announcements from our team.

Across the top are several tabs. “Content” leads to our full Tableau Server implementation. “Manage” shows a list of the user’s stale published content that’s set to be deleted in a set number of days without further action. “Community” leads to our internal community forum where users can ask questions and share tips. And “Help” connects to our support team. And last but not least, a search box serves as a catchall for everything else.

How we designed MyALPO

When we began imagining what MyALPO might look like, we turned to those who know our system best, our users. We worked with a group of internal users who represented every department across offices around the world. We first interviewed the users about how they find content on Tableau Server. We then asked them to perform tasks as we watched over their shoulders.

This exercise helped us identify common problems. Many people weren’t aware of the favoriting or tagging functionalities. And people had a hard time finding content when they didn’t know its exact title.

We then took what we knew about existing user behavior and built on them. We brought handy features like favorite views and the search function to the forefront to encourage use. And once we launched, we asked our users for feedback.

We knew we’d come up with something useful when we received comments like “awesome” and “genius.” One person told us, “This is going to save me tens of clicks a day.”

A number of people also asked us how our customers can build a similar platform. “This is something our customers could really benefit from,” said one person. “Do we have a guide for clients to help them do the same thing?” asked another.

Those comments inspired us to share our insights through this blog series.

What we learned from building MyALPO

We had three main goals when building MyALPO. We wanted to help users find relevant content fast, and discover new content that might also prove helpful. We also wanted to include a search tool as a portal to the rest of the content.

It took us six months to design, build, and polish MyALPO. And we’ve learned a number of lessons along the way. For example, we now know that various departments use the same tool in totally different ways, sometimes even using completely different terminology. We also know that if someone finds a dashboard useful, others on the same team will likely find it useful, too.

There were countless technical lessons as well. We had to figure out how to build the search box from scratch, for instance. It wasn’t always smooth sailing, but with the help of Tableau’s own developers, we built a product that serves our users every day.

The good news is you, too, can benefit from the lessons we learned. We don’t plan to productionalize MyALPO, but we’re glad to share tips and lessons to help you build your own. That way, you can customize the platform for your users and work environment.

In the next installment of this blog series, I’ll share more about the technical aspects of building MyALPO. In the meantime, tell us how you’ve been dealing with this problem of scalability by posting in the comments below.