IBM Expandable Table

IBM users work with massive amounts of data. Their tables can quickly become busy, making it difficult for them to understand their data. Expandable tables increase data comprehension, by progressively disclosing information to users.

 

My contribution
Co-created usability test
Low fidelity designs
High fidelity designs

Contributors
Kathy G., Researcher
Adam R., Developer

Year
2020

Time
2 months

Context

👩🏻‍💻 Product audit

IBM built a unified design system, Carbon. My product team conducted an audit to ensure that Carbon’s components covered all our use cases.

 

⚠️ Problem

Carbon’s expandable table only supports descriptive text. It doesn’t scale for more complex use cases such as subcategories, child to parent relationships, etc.

 
Expandable table from Carbon (IBM’s new design system)

Expandable table from Carbon (IBM’s new design system)

Classifying use cases

 

From my conversations with 5 different product teams, I learned that IBM users need their expandable tables to show:

 

Related information
Frequently, data assets have unclear names. Related information helps users understand their assets.

⚠️ Carbon doesn’t cover this use case

Entries that add up to a specific value
Similar to a pivot table, the sub rows’ values add up to the primary row’s value

⚠️ Carbon doesn’t cover this use case

 

Iteration 1

 

🤔 Intent

Indent every sub row to create a clear relationship between a primary row and its sub rows. This interaction leverages users’ mental models of submenus, which already exist in our product.

 

🧠 Stakeholder feedback

Indenting each sub row misaligns the content and decreases readability

 
screen.png

Usability testing (round 1)

We tested the design below with 23 participants

🏆 Goals

  1. Users clearly understand how to expand their table

  2. Users understand the primary row and intended tables relationship

🧠 User feedback

  1. 18/23 participants used the caret to expand their table

  2. 21/23 participants understood the relationship between the primary row and the indented table 

 
 
sampler.gif

The fact that it has the downward pointing arrow makes it really simple. It is quick and easy.

Participant 21

Development feedback

Even though the expandable table design tested well, development had concerns about the table’s scrolling behavior. To illustrate their concerns, they quickly coded this prototype. The primary row is lost when scrolling, because of the multilevel indentation.

 
teset.gif

What happens when there are thousands of rows in a expanded section? What are the sticky points in that scenario?

Developer

 

Takeaways

  • Get development involved sooner in the design process

  • Use realistic data in usability testing to get relevant user insights

Next steps

Conduct another usability test with realistic data to make sure the table scales 😴

 

Usability testing (round 2)

Using realistic data, we tested the design shown below

 

🏆 Goal

Understand where users expect to see information related to the primary row

🧠 User insight

  • The table height allows users to view more data at once without having to scroll; giving them data context to make decisions

  • The table’s search function assists users in finding relevant assets

 
test.gif

[Seeing] all the columns in that table [helps me] make a better assessment of that column

Participant 3

Final

Usability testing confirmed that data users need 2 types of expandable tables:

 
 

Table 1: Horizontally expandable table

Helps users understand a primary row’s related information


✅ When to use
For secondary information that adds additional insight to the primary row


🚫 When not to use
When the sub rows’ values add up to the primary row’s value. If this is the case, use Table 2: Vertically expandable table

 
animation of prototype.gif
 

💀 Anatomy

  1. Back button: return to the non-expanded table

  2. Search bar (primary table): locates specific data

  3. Selected row: indicates the selected row

  4. Header (expanded table): shows the expanded table’s name

  5. Search (expanded table): locates specific data

  6. Secondary rows: contains information that supports that primary row

 
Anatomy1.png
 

Table 2: Vertically expandable table

Helps users understand the entries that add up to the primary row’s value

✅ When to use
If the sub rows values’ add up to the primary row’s value

🚫 When not to use
When the sub rows contain related information. If this is the case, use Table 1: Horizontally expandable table

 
final.gif
 

💀 Anatomy

  1. Column header (primary table): shows the primary table’s column names

  2. Primary row: shows numerical and textual data

  3. Column header (expanded table): shows the expanded table’s column names

  4. Indented rows: contains the values that add up to the primary row’s value

  5. Caret: expands and collapses the table

  6. Leftmost indented column: labels the sub-values

 
anatomy.png

Results

Both expandable table components were shipped

multiple use cases.png

Result 1
The expandable table components are used in 2 IBM products

dataComprehension.png

Result 2
Increased data comprehension for 60,000+ users