Professional work · Sea Limited

Designing Better Enterprise Tables

A UX research study exploring how complex enterprise tables can better support users in finding, comparing and managing information.

Role
UX Design Intern
Duration
2+ months
Team
Myself, with guidance from a senior UX designer
Contributions
Research synthesis, interaction guidelines, decision framework
The interfaces in this case study were recreated for this portfolio to protect confidential company information. Visuals and identifying details have been changed, while the core design research findings and decisions remain faithful to the original work.
Annotated anatomy of an enterprise table: title, toolbar, column header, table row and cell, and pagination, each linked to a short description.
01Context

Tables look simple until they need to work at scale

Tables were widely used across the enterprise products I was working on during my internship.

At first glance, designing a table may appear straightforward. But as more data and business requirements are introduced, a single table may need to support filtering, sorting, dense datasets, editing, batch actions, nested information and different user workflows.

There was also no single table pattern that worked for every situation. Different users, datasets and business requirements could lead to very different design decisions.

The challenge therefore became less about finding the “best” table design and more about understanding:

Which table patterns are appropriate for different user and business scenarios?
02Reframing the problem

Knowing the patterns was not enough. I needed to understand when to use them.

As I studied the different ways people interact with tables, I found that most scenarios could broadly be organised around two objectives.

Find

Quickly reach the information you need.

Manage

Efficiently act on and maintain information.

As the research grew, so did the number of possible solutions.

A filter alone could take several forms. Additional information could be shown inline, inside a drawer, in a dialog or on another page. Actions could remain visible, appear on hover or be grouped inside an overflow menu.

Rather than treating these patterns as isolated UI components, I began connecting them back to the questions a designer should ask before choosing one.

This eventually became a decision map.

04Finding information

How might we help users find what they need without overwhelming them with controls or data?

One of the primary purposes of an enterprise table is helping users locate and compare information efficiently.

Through the research, I found that the appropriate interaction often depended on the structure of the dataset, the amount of information being handled and how much processing the system needed to perform.

04.1Choosing the right way to narrow information

Different datasets require different ways of helping users reach the information they need.

Tabs

Tabs can work well when information follows a clear and progressive logical flow.

For example: Draft → Pending Review → Approved

They can also help users understand aggregated values across clearly defined categories.

An asset table with tabs All (250), Active (201), Inspecting (37) and In repair (12). Inspecting is selected and the table shows five Inspecting rows, with the count 1–5 of 37.
Fig. 03Tabs.
Small / inexpensive dataset

Live filtering

For smaller datasets or lightweight interactions, results can update immediately when users change a filter.

This provides quick feedback and reduces the number of actions required.

A table toolbar with a search field and Status filter chips. Active and Inspecting are selected, In repair is not, and the table shows only Active and Inspecting rows.
Fig. 04Live filtering.
Heavy dataset / multiple criteria

Batch filtering

For larger datasets, complicated filters or systems where queries are expensive, it may be better for users to configure several criteria before applying them together.

A Batch Filter panel open over a dimmed table, with Category set to Laptop and Tablet, Status to Active, Owner to Tan and Last updated to 1 Jan – 31 Mar 2026, above Reset and Apply filters buttons.
Fig. 05Batch filtering.

Designing for scalability

The number of filters may increase as a product grows.

A sidebar or drawer can accommodate additional criteria through expandable sections, while inline and header-based filters can become more difficult to manage when the number of options increases.

Three filter patterns ranked on a vertical scale. Most scalable: a side filter panel with collapsible groups for Category, Status, Owner and Location. Negotiable: a toolbar of dropdown filters above the table, with an Add more filter action. Least scalable: a filter popover opened from the Category column header.
Fig. 06Filter scalability: most scalable → negotiable → least scalable.
Research takeaway
Filtering should reflect both the structure of the data and the complexity of retrieving it. The most immediate interaction is not always the most appropriate one.
04.2Handling large and dense datasets

More information does not always mean showing more information.

Enterprise tables may contain hundreds of records and many fields considered important by the business.

Instead of simply adding more rows and columns, I explored ways of giving users greater control over density.

Too many rows

Display density

Allowing users to adjust row height provides control over how much information can be seen at once.

A denser layout can help users scan more records efficiently, while a more spacious layout may improve readability.

The same asset table twice. Top, Compact density with tighter rows. Bottom, Comfortable density with taller rows. Each has a Column Density switch showing which is active.
Fig. 07Display density.
Too many important columns

Column customisation

When many fields are important, displaying everything simultaneously may not be practical.

Allowing users to add, remove or reorder columns lets them prioritise the information most relevant to their workflow.

A Manage Columns popover open over a dimmed table, titled Columns displayed, 8 of 9. Each column has a drag handle and a checkbox; Value is unchecked. A Reset to default button sits at the bottom.
Fig. 08Column customisation.

Preserve context

Large tables also introduce another problem: users can lose track of what the information represents while scrolling.

Fixing headers during vertical scrolling keeps column labels visible.

Fixing identifying columns during horizontal scrolling helps users retain the context of each record.

Three asset tables side by side. Fixed Row: the header stays visible while rows scroll beneath it. Fixed Column: the Asset ID column stays visible while the other columns scroll horizontally. Fixed Row and Column: both the header and the Asset ID column stay visible.
Fig. 09Fixed row, fixed column, and both together. The fixed part stays in view while the rest scrolls.
Research takeaway
The challenge with large datasets is not simply fitting more information onto the screen. It is helping users maintain context while deciding which information deserves attention.
04.3When information does not fit

Not every piece of information deserves another column.

Some table fields may contain significantly more information than the available cell width can comfortably display.

Rather than automatically expanding the table, I explored different levels of information disclosure.

Compress

Information can sometimes be condensed using multiple lines, visual hierarchy, labels, tags, icons or symbols.

This allows useful context to remain visible without allowing individual fields to dominate the table.

An asset table where Name and Asset ID share one column, and Owner and email address share another. The primary value sits on top in ink, with the secondary value below in smaller grey text. Category uses an icon beside its label, and Status uses coloured tags.
Fig. 10Multi-layer display and visual hierarchy.

Resizable columns

Resizable columns can allow users to temporarily expand abbreviated information.

However, this also introduces additional layout and implementation complexity.

An asset table with the Name column highlighted. A blue handle on its right edge and a dashed guide show the column being dragged wider, with a resize cursor beside it. Long item names are truncated with an ellipsis; the other columns are dimmed.
Fig. 11Resizable column.
Research takeaway
The question is not simply how to make a column wider, but whether that information needs to permanently occupy space in the table at all.
05Managing information

Tables are not only for reading. They are also workspaces.

In many enterprise systems, users need to act directly on the information contained inside the table.

This introduced a different set of considerations around actions, editing and complicated workflows.

05.1Designing row actions

Keep frequent actions visible. Hide complexity carefully.

Displaying every possible action can increase discoverability, but quickly creates visual clutter.

The research therefore treated action visibility as a spectrum.

Three ways to place row actions, ranked on a vertical visibility scale. Most visible: a fixed Actions column showing edit, duplicate, delete and more icons on every row. Negotiable: an overflow menu opened from a row's more button, listing Edit, Duplicate and Delete. Least visible: the action icons appear only on the hovered row.
Fig. 12Action button spectrum: visible → hidden / hover.
Same action across multiple records

Batch actions

When the same operation must be repeated across several records, selecting multiple rows and performing a single batch action can significantly reduce repetitive work.

An asset table with three rows checked and the header checkbox showing a partial selection. A bar above the table reads 3 records selected, with Export, Delete and Clear selection actions.
Fig. 13Batch action.
Research takeaway
Frequently used actions should remain easy to access, while secondary actions can be progressively disclosed to prevent the table from becoming visually overwhelming.
05.2Editing without losing context

Inline editing works best when the task is small.

Inline editing allows users to change information without navigating away from the table.

It can be particularly useful for frequent, lightweight changes such as:

StatusQuantitiesDatesSimple text values

However, it also introduces trade-offs.

Making editing permanently visible can clutter the table.

Revealing editing only on hover can make the functionality easier to miss.

Validation also needs to clearly communicate where an error occurred without overwhelming the rest of the interface.

An asset table with three rows in edit mode. Each editable cell becomes an outlined input, and the fixed Actions column swaps to confirm and cancel. Rows not being edited are dimmed and keep their edit, duplicate, delete and more actions.
Fig. 14Inline editing.
Five validation treatments for the same invalid value, plotted on two axes: least to most space, and least to most visible. Top of page with row colour and top of page with border colour are the most visible. Inside table with border colour sits below them, and inline with a tooltip is the least visible. Below cell with border colour takes the most space.
Fig. 15Validation placement, mapped by how visible the error is and how much space it takes.
Research takeaway
Inline editing is most useful when the task is simple and focused. As the workflow becomes more complicated, the table may no longer be the best place to complete it.
05.3When should users leave the table?

The more complex the task, the more space it should receive.

One recurring question throughout the research was where additional information or interactions should live.

Rather than treating every secondary surface as interchangeable, I considered them according to the amount and complexity of information they needed to support.

The same asset record shown four ways. Accordion: the row expands in place to show quantity, status, value, category and location. Drawer: a side panel slides over the table. Dialog: a centred dialog over a dimmed table. New page: a full record page with breadcrumbs and a More information section.
Fig. 16Interaction complexity spectrum: accordion → drawer → dialog → new page.
01
Accordion / expandable row

Useful for a relatively small amount of related information while keeping users inside the table.

The trade-off is increased interaction cost when users need to inspect multiple rows.

02
Drawer

Provides more space for secondary information while retaining some context of the original table.

It can support more information than an expanded row, although it may introduce visual clutter.

03
Dialog

Useful for short, focused interactions requiring temporary attention.

Less suitable when users need substantial supporting information or need to continuously refer back to the table.

04
New page

When a task involves significant information, multiple steps or complex decision-making, forcing it to remain inside the table can create unnecessary constraints.

A dedicated page gives the workflow more space and allows users to focus.

Research takeaway
As the complexity of a task increases, the amount of dedicated space it receives should increase as well.
06A note on drag and drop

Interaction patterns should solve a problem, not exist simply because they are interactive.

I also explored drag and drop as a method for reordering and manipulating information.

Drag and drop can be useful when users already expect direct manipulation or when there is no simpler interaction that achieves the same result.

Clear feedback is particularly important. This may include:

Drag handlesCursor changesDrop targetsActive statesSnapping behaviour
An asset table with a drag handle on every row. The Logitech MX Keys row is lifted and tilted mid-drag with a grab cursor on its handle, and a blue line with a circle marks where it will drop. The other rows are dimmed.
Fig. 17Drag handle and drop target research.
07Reflection

Good table design is ultimately contextual.

This project taught me that enterprise UX is often less about inventing new interaction patterns and more about choosing the right trade-offs.

Tables become complex because they sit at the intersection of user needs, data structures, business requirements and technical constraints.

The most useful outcome of the research was therefore not a single recommended table design, but a clearer way to evaluate which interaction patterns were appropriate for different situations.

More work