taylor laubach


Data Joins


Make it easy for customers to join datasets


Got requirements from PM. Led design. Collaborated with Eng.


Users just wanted to see their data

Users wanted to look at data from multiple tables in a single report. This required joining the data in the tables. The PM knew his users needed this functionality but was concerned that the interface would need to be very complicated.

Old UI

The old UI was unintuitive and only showed users a subset of their data

Two views of the “select fields” interface.


How would an expert guide users?


I knew that to make the feature simple, I needed to understand how the join functionality worked. So I started by reading the documentation for PostgreSQL. I then began interviewing users about how they worked.


As I started to organize the various things a user could do, I came up with a logic that could infer the configuration of the join without any additional input from the user than which columns and rows they wanted. I mocked up a design that included minimal changes to the UI but allowed the user to create the joins they needed.


After checking with the PM that this met the need and checking with Engineering that this was feasible, I began testing the interface with users. It performed well—the additional functionality was seamless and the outcomes matched users' expectations.

The logic

This was the logic that broke down all combinations into 4 situations. Each situation had one outcome.

Picture of mockup section which included explanation of join logic.


Just choose what you want to see

The solution was a system that did not require any additional input from the user. In order to expose the underlying system states, I added a couple of controls related to the new functionality. This was mainly so that power users could see which system state they were currently in and control it if they needed to. But non-experts did not need to view or think about these UIs. Users were really happy to be able to include more fields in their report.

Power users

For power users only, there was a UI that captured the system state and could change it

Picture of the group by selection interface and the reports that result from two selections.