In summer of 2022, I worked on the Analytics & Data Modeling team at Tableau, a Salesforce company, to design a new feature that enables spatial data calculations on user-selected datapoints and makes spatial data analysis easier and faster for non-geospatial experts. In this project that involved a high level of ambiguity and technical complexity, I was able to lead the UX while working closely with and learning from my cross-functional partners and mentors.
Currently, the only pathway to analyzing spatial relationships between data sources is to set up spatial intersection joins. This process can be complicated for users not accustomed to working with spatial data and joins, and more importantly, presents four main pain points and limitations as follows.
Therefore, an alternative way of analyzing spatial relationships should be made available to resolve these issues and make it easier for users to gain spatial data insights.
The proposed solution is a new Tableau feature that enables spatial calculations with parameters (similar to having variables in algebra equations). This way, users are able to choose a location of interest and visually set up a light-weight spatial calculation without needing to create a join for all geometries.
As a designer, I aimed for this feature to:
Upon onboarding, I immediately identified that the project scope and product requirements were not well-defined.
To help move the project forward quickly, I created a high level user flow to understand what our scope could include and worked out scoping and prioritization with the PM. The diagram also served as a reference for the team to get aligned and for myself to act on design opportunities throughout the project. I also made a project plan that outlines my activities and deliverables for each week to help me stay motivated and set expectations with the team.
Parameters are already available in Tableau for data types such as string and float. However, spatial data are different in that they are not humanly readable and cannot be easily typed, edited, copied or pasted. They are also difficult to analyze and explore without a visualization.
So I did in-depth research on existing UX patterns and behaviors and discussed routinely with the engineering team to evaluate ideas and understand technical feasibility. After weeks of iterations, I proposed a series of updates to the "create parameter" flow and interface, which let users easily define allowable data for spatial parameters and to identify where/what the data are.
To demonstrate the prototype, we'll look at a scenario that's inspired by a real customer problem. The scenario is that Hilton wants to know where to build the next hotel in Seattle based on existing competition, the volume of visitors, etc.
In this prototype, only those UI components with new updates for spatial data are made at high fidelity.
After importing data sets to Tableau and creating a worksheet, we can see the following data visualized on the map below:
This step is similar to making a variable for equations in algebra, which allows users to analyze each geometry at a time.
Adding an action for the parameter that was just created enables parameter value selection through clicking marks on the map.
This step allows the user to define a calculation with the parameter, just like creating an equation with the variable that was made. In this scenario, Hilton would use the INTERSECTS expression that returns a boolean of whether a competing hotel and a census tract falls within a certain distance from the selected location.
After a few additional clicks, the user is ready to select a value for the spatial parameter to see results of the calculation. Once a geometry is loaded into the parameter, calculated results will be visualized so the user knows exactly which hotels are nearby and thus how many beds there are as well as the number of visitors within these census tracts nearby.
Finally, Hilton will be able to use the calculation to create more visualizations and dashboards to compare some options.
In this internship, I designed for an established product, which required me to gain a holistic view of the product, business, and users. And I was able to think about how my designs could both build upon what already exists and have an impact on future designs of the product.
Another major takeaway for me from working closely with people from various backgrounds is knowing my audience when asking questions and discussing design decisions. As a designer, I learned and practiced speaking the language of the person I'm talking to. For example, with a PM, I might focus on how my design decision could add value to customers and whether it'll impact project timeline and priorities. With a research scientist, I might ask questions about the validity and prioritization of various use cases.