Spectrum Enterprise Multi-Select Table

 

Designing a new multi-select table interaction for a client facing portal and internal applications.

 

Overview:
In addition to my normal product design duties at Spectrum Enterprise, I worked on a small team of specialists to create, define and document our enterprise design system, Mountaineer. I took the lead on designing a new pattern for multi-row table actions.

Tools:
Axure, Figma, Dropbox Paper, Chalk


Duration:
12 Weeks

 

Team:
Elisa Krebs, UX Designer
Jessica Simon, Team Lead
Brian Azcuenaga, UX Research
Tara McDaniels, UI Designer
Jason Wagner, Design Systems Manager
Hemanth Bodipati, Accessibility Architect


My Role:
Table audit
Pattern exploration
Usability test design
Testing analysis
Prototyping
Final documentation

 
 
 

The Problem

In early 2021, multiple product teams identified a need for table in which actions could be taken on multiple rows at once.

Typically in a situation like this, we would borrow a component from Kite, our B2C design system.
In this case, a multi-select table didn’t exist in the B2C system either. We needed a net new component.

As an enterprise customer or internal Spectrum Enterprise employee…
I need a way to take action on multiple rows of table data at one time in order to complete my job duties more efficiently.

 
 
grey.jpg
 
 

Discovery: Start With What You Do Know

Table Audit

My first step was to review and document every table on the SpectrumEnterprise.net portal.
I did this to understand the various use cases, constraints and unusual actions we might need to account for.

I documented these tables, taking screenshots and noting:

  • Cell types

  • Table types

  • Action types

  • Interactions and hover states

  • Bugs & issues with proper styling or odd interactions

 
 
 

 

 Audit Results & Design Considerations:

1. Our client facing portal has no less than 23 tables and 9 cell types.*

* This audit does not include any internal applications used by Spectrum Enterprise employees, which are also table-heavy.

2. Currently, single row actions are completed in a More Menu at the the end of each row.*

* Needed to maintain awareness of this as we looked at introducing a new style, in an attempt to not completely betray our users’ mental model.

 

 
grey10.jpg
 
 

Discovery: Get Inspired From Others

Enterprise Table Best Practices

It turns out enterprise tables are not one-size-fits-all.
The following 3 articles were extremely helpful in understanding the complexities and variations between table types.

 
* In Axure Cloud, More Menus on the individual rows stayed persistent when checkboxes were selected. If you chose an action from the menu, it would only apply to that row — not the others that were also selected.

* In Axure Cloud, More Menus on the individual rows stayed persistent when checkboxes were selected. If you chose an action from the menu, it would only apply to that row — not the others that were also selected.

Pattern Discovery & Collection

I am always more inspired after looking at examples of how others have tackled similar situations.

My team and I started looking for tables in products we use everyday and compared how they handled multi-row interactions.

We analyzed the interaction patterns of:

  • Gmail

  • Google Drive

  • Dropbox

  • Axure Cloud

  • ADP Workforce Now

 
 
 

 

 Pattern Insights & Takeaways

1. Most tables use some sort of toolbar above or below the table to display multi-row actions after selecting of a checkbox. All other interactions vary heavily from product to product.

2. Team consensus: hide the more menu at the end of the rows once a checkbox is selected.*

* Since we currently use a more menu for single row actions, we paid special attention to how certain products handled similar interactions.
The Axure Cloud experience did not match any of our team members expectations, and therefore we noted that we wanted to avoid this interaction altogether.

 

 
grey10.jpg
 
 

User Research: From Assumptions to Design

Choosing a Table to Test

I don’t love to make assumptions in my work, but in order to move forward, I chose to test a table pattern that seamed to align closely with our current table and matched the most common use of a toolbar appearing above the table.

 
 
ezgif.com-optimize.gif


In this table pattern:

  • Single-row actions are taken on the More Menu. Actions that can only be applied to one row at a time (i.e. edit) are only available in the more menu.

  • Multi-row actions are taken from the action toolbar above the table.

  • The More Menu at the end of each row disappears upon selection of a checkbox.

We assumed…

  • Our users are used to taking single-row actions from the More Menu, so they will continue to follow that pattern.

  • A checkbox on each row is a strong enough affordance that actions can be taken on multiple rows, even if the action icons or buttons don’t appear above the table until after a checkbox is selected.

 

 

User Research: Designing the Test

I created a fully interactive prototype in Axure based on 2 realistic scenarios for our portal users.

For each scenario, I intentionally alternated between single row actions and multi-row actions so we could pick up on how users expected to handle each of these types of actions.

 
Screen Shot 2021-06-19 at 10.38.10 PM.png

Scenario: You are the administrator for your company’s telecommunications services and need to make some changes to a few users.

  • Task 1: Sofie Hernandez, Ciara Mayer and Summer-Rose Cash no longer work at the company. Delete these users. 

  • Task 2: Sia Rosella’s email is incorrect. It should be Sia.rosella@gmail.com. Please update it. Once it’s updated, send Sia a registration email.

  • Task 3: A request from the client just came in: Ariel Roach, Jaden Keith and Marlie K. Berhard also need their registration emails re-sent. 

 
 
 
 

You know what they say about assumptions…

Before I took my test to UXR, I ran it by Tara, our UI Designer, to double check for correct styling in the prototype.
Tara completed the test and messaged me that she got tripped up on the single-row action.

After completing a task on multiple rows using checkboxes, her natural tendency was to select the checkbox for her next single-row action.

In the solution we designed, the actions that could only be taken on a single row (i.e. edit) were only in the More Menu.

 
yellow.jpg
 
 

So why did we design it this way to begin with?

  • Our tables currently use a More Menu for single-row actions. We wanted this to remain consistent.

  • We assumed that users would automatically take all single-row actions from the More Menu.

  • We assumed in our early discovery that implementing a dynamic toolbar was going to get push back from development.

    • With a dynamic toolbar, if only one checkbox is selected, actions that can only be taken on a single row at one time (i.e. edit) would appear, but then disappear once a second checkbox is selected


After Tara’s run-through, I decided to prototype and test a second pattern where the action bar changes dynamically depending on if 1 or >1 are selected (seen on the right).

 
 
 
ezgif.com-optimize-2.gif
 
 
 

Research: From Usability Test to A/B Test

I worked with my UX Research colleague to build out an A/B test. Testing 2 solutions against each other would ultimately help us gather leverage to win-over our stakeholders.*

* We don’t currently have a developer on our design system team.
In order for this initiative to be successful, we needed to convince an omni team to take on additional work to develop a reusable table component.

Test Details:

  • Unmoderated sessions on Usertesting.com

  • 30 total participants (15 for each version)

  • Users were employees responsible for administrative actions within their company

  • 2 scenarios per user test, 3 tasks per scenario

 
 
 
quote.jpg
 

 

Usability Test Results and Insights

 

Version A (Static Toolbar):

 

Version B (Dynamic Toolbar):

Screen Shot 2021-06-20 at 8.03.23 PM.png

1. Users expected to be able to take actions on a single row from both the action toolbar as well as the more menu — there was no general consensus. UX Research recommended moving forward with Version B, the dynamic toolbar.

2. Recommend a conversation between UX, UI and Accessibility to decide if the icon buttons should be accompanied by a label.*

* One participant did not understand what the email icon meant. Three participants commented that the tooltip on hover of the icon helped them to understand the button and feel more confident taking the email action.

 

 
grey10.jpg
 
 

We have a table!

After testing, it was clear to the team that utilizing a dynamic toolbar would be the best path moving forward.

This was a small win, however, there was still a large amount of work to be done.

Design to Development Approach

Because we have so many variations of tables throughout the portal and product teams are not currently utilizing reusable components, we needed a strategic approach that could deliver a consistent style and experience.

Jason Wagner, Design Operations Manager, introduced the idea of knobs to the team. If built and implemented correctly, knobs (used in Storybook) will allow developers to turn on/off the table features that apply to each product instance.


To support this initiative, I got to work outlining, documenting and prototyping examples of every possible table variant we could have.

 
 
grey.jpg
 
 

Documentation: Variants

Default:
The default data table comes with a base style with only the title, header, and table elements.

With Inline Action:
Tables with inline actions have an overflow menu at the end of each row that contains actions related specifically to that row. A batch action toolbar appears above the table when a singtable rows are selected.

With Batch Action:
Tables with batch actions allows the user to select multiple rows and apply an action. A batch action toolbar appears above the table when table rows are selected.

With Horizontal Scroll:
A horizontal scroll is used on tables with too many columns to fit into a traditional table width. The table scrolls to the left and right on the page to reveal more columns. If necessary, sticky columns can be used to make sure that inline action menus and/or batch action checkboxes are always visible and able to be actioned on.

With Expandable Row:
The expandable data table is useful for presenting large amounts of data in a small space. Rows are collapsed and can be expanded to reveal extra information. Use the expanded section for supplementary information or data that needs additional query time.

 
 
 
 

To make discussing and defining each variant easier, I prototyped all possible combinations.
Feel free to click around on these, all of them are at least partially interactive!

 
 

 
 

Documentation: How are table actions are performed?

We went back to our audit and noticed that our tables also lacked consistency in where and how table actions were performed.
I worked with Jessica, our team lead, to define how other components should be used to perform various actions.

 
 

Full-Page Dialogue

Screen Shot 2021-06-20 at 9.37.58 PM.png

Full-page dialogues should be used for page-level actions or adding a row to a data table (i.e. creating a user).

Modal

Modal

Modals should only be used to confirm an immediate action or decision (i.e. “Are you sure you want to delete the selected files?”).

Slide-Out Panel

Screen Shot 2021-06-20 at 9.15.53 PM.png

Panels should be used for more complex actions on row(s) that require additional information from the user to complete the task (i.e. edit, move).

 
 

What’s next for the “mega table”?

The table is not yet complete — but we’re close! Currently we are working on:

UI Hardening (UI Team)

  • Defining the sticky row styling & interaction

  • Hardening spacing rules for the toolbar

  • Discussing if icons or buttons should be used in the toolbar

  • Defining cell-type styling

Storybook POC (Design Ops)

  • Creating a test-run of the mega component in Storybook as an example for when we present to stakeholders