Alyshia Olsen

AO

Designing new Interactivity Features

Designing a car instead of a faster horse.

The Challenge

I was tasked with designing a highly anticipated feature in the visualization space. This feature required in-depth knowledge of Tableau's calculation framework, and was the only way to add custom interactivity to Tableau dashboards. The work had widespread consensus within Tableau as well as with our users.

When I joined the team with another designer (Allison), we had a sense that the work was just a stop-gap. This request clearly stemmed from underlying user needs.

THE FUNCTIONALITY OUR USERS WANTED WOULD NEVER FULLY ADDRESS THE LIMITATIONS THEY WERE FRUSTRATED WITH IN THE FIRST PLACE.

We needed to convince the team to do some deeper thinking about interactivity in Tableau as a whole, instead of simply responding to a feature request.

Team

Visualization

Deliverables

User Needs Assessment
Scenario Analysis
User Flows

Responsibilities

UX Design
User Advocate
Opportunity Assessment

Timeline

Dec 2017 - July 2018

Team

Visualization

Deliverables

User Needs Assessment, Scenario Analysis, User Flows

Responsibilities

UX Design, User Advocate, Opportunity Assessment

Timeline

Dec 2017 - July 2018

My Role

Allison and I pushed back on the plan to implement the new functionality. We convinced the team to spend time investigating the underlying user needs, and work to craft a thoughtful long-term proposal.

Ultimately, we changed the trajectory of the visualization team, and developed a long-term plan to address interactivity in Tableau.

User Research

The Request: Dynamic Parameters

The new functionality was called Dynamic Parameters, and it was the most widely requested visualization work on the customer forums.

What's a dynamic parameter?

A parameter is a variable with a UI control that the end user can set. When that control is updated, it triggers a change in a Tableau dashboard. Parameters were originally built to be treated as an independent variable.

Our users had begun tying parameters directly to their data in creative ways that they were never intended to handle. This put a limitation of parameters in the spotlight: Parameters weren't actually tied to the Data Source, and wouldn't update when new values were added to a Data Source.

Our users wanted Dynamic Parameters that would stay tied to the original data they were based on, and update when the data was updated.

Pain Points

We needed to understand the needs behind the request for Dynamic Parameters. We conducted user interviews to understand the most common pain points that resulted in the feature request. We also learned more about what our users were trying to do in Tableau, and what other limitations of parameters they were frustrated with.

We split our findings into the following categories:

Comparative Analysis

Comparative Analysis means understanding how groups of data relate to each other. Users already needed to user parameters for these scenarios, and the next logical step would be dynamic parameters that were tied to data.

We saw users struggling with these scenarios because of the lack of dynamic parameters.

Dashboard as an App

These scenarios were more focused on treating a dashboard like a mini-app, and letting users choose what they were most interested in seeing. The lack of dynamic parameters meant our authors needed to keep updating their workbooks to stay current.

I drew these images to illustrate the core issues with each scenario.

Other Parameter Issues

Multi-Select

Our users wanted to select multiple values, and parameters only allowed single-select.

Interaction with data visualizations

To use a parameter, users needed to create one of a few types of controls. Our users wanted to interact directly with their data instead of creating a control widget.

Opportunity Assessment

We prioritized addressing as many scenarios as possible. We began by mapping out the gaps in Tableau's interactivity landscape.

Interactivity in Tableau

Tableau had two features for adding custom interactivity to a dashboard.

Parameters were already widely used to add interactivity, but weren’t tied to users’ data, and didn’t allow multi-select.

Sets were fundamentally tied to data, and defined by which data was IN or OUT of the set. They allowed multi-select, but there was no way for end users to interact with them.

Parameter widgets were the only option for users to add interactivity to their Dashboards. Adding more interactivity options might solve our users' underlying needs.

Solution Mapping

I mapped the pain points to our opportunities and asked what solution would be most appropriate for each scenario.

Addressing Comparative Analysis

Set interactivity was the best solution for Comparative Analysis. Sets were already needed to enable most of these scenarios, and Parameters were only being used to add interactivity. This genre of dashboard would be easier to construct if we surfaced Set interaction to our users. Additionally, the multi-select capabilities of Sets would add richness to this type of data analysis.

Addressing Dashboard as an App

These scenarios called for Dynamic Parameters and more Parameter interactivity Parameters were already interactive, but only through a control. Creating direct-with-data interaction would keep them updated. However, interaction with a control is still a valid scenario, and Dynamic Parameters were still necessary to enable this.

Our Proposal

The lack of interactivity options was the real problem, and it was surfacing as a frustration with the limitations of parameters.

We opted for a yes, and… approach, proposing to build Dynamic Parameters along with three new ineractivity features:

Set UI Control

Allow users to change a set by choosing what values they want to analyze from a menu.

Set Action

Allow users to change a set by interacting directly with a visualizaton .

Parameter Action

Allow users to change a parameter by interacting directly with a visualizaton .

Dynamic Parameters

Give users the option to link their parameter value with data so that it stays up-to-date as their data updates.

Outcome

All of the features Allison and I recommended have been implemented since I left the team in late 2018.

Set Actions (2018.3)
Dynamic Parameters (2019.2)
Parameter Actions (2019.2)
Set UI Control (2020.2)

We have received overwhelmingly positive feedback on the new functionality.

Reflections

This project taught me when to push back. If I had listened to our team leadership and user requests, I would have designed one feature - dynamic parameters - and the team would have moved on. But UX design is more than building what you’re asked for.

I resisted the assumption that designers just make drawings, and helped the broader team see the value of including design earlier in the decision making process. I learned what can be accomplished when designers work with the team to figure out how to address users’ problems, rather than how to design features.