I was brought into this project as a UX designer to work on how we might rethink binning in Looker. What is the ideal happy path?
Based on user feedback and their pain points, our new binning functionality should account for...
I turned this user flow into some wireframes and presented to the team for feedback, doing multiple rounds of revision before going into hi-fidelity mock ups.
When Looker generates an optimal number of bins for the analyst, conflict may arise if the user wants to change the start (min) or the end (max) value. For instance, let's say we have values 0 through 50 and we assume that Looker thinks that the optimal number of bins is 5. The bin size will be 10 (e.g. 0-10, 10-20, 20-30, etc.). However, the analyst wants the min to start at 5 instead. What should the ideal path be? We could allow the analyst to change the bin in the modal, but allowing the analyst to change the bin within the interface would clash with the number of bins or bin size (the width of the bin). This was a rabbit hole which we did not want to enter.
We wanted to make the design as simplistic as possible while being thoughtful about an analyst's needs when binning, and began to remove functionalities we didn't need.
Users can see the different bins and easily make changes to the bins as they hover over each row.
Users can easily customize their bins if they want arbitrary-sized bins. They can quickly get equally sized bins by pressing the auto-size button.
Users can custom label their bins and preview their edits before saving.
Users understood the basics with defining the bins, though many of them initially thought that hovering over the plus and minus icons will increment and decrement the bin range by 1 respectively. We could include tooltips to the icons as guides. The sidebar interactions and custom labels were straightforward.
Users wanted to learn more about the algorithm of creating optimal bins. We should surface information about the bins for the users - such as the bin size, number of bins, and the min/max values that Looker is using. The information is all there in the sidebar, but not obvious and require some brain power from users.
There were concerns with performance and query costs. Some users shared it'll be useful to get an understanding of how long binning would take and the associated query costs. As a next step, we should get engineer perspective on the backend performance.