Product and Engineering, Design and UX

Simplify your UI - Uncover Functionality in Layers

ThoughtSpot can handle extremely complex use cases ranging from schemas like chasm trap, creating arbitrary formulas, perform calculations on top of TBs of data with 1000s of users and much more. Our search looks deceptively simple, but there are a lot of complex things happening under the covers. Additionally, users can have complex use cases they want to solve. We pride ourselves on our ability to handle both of these complexities. 


We tackle complexity by surfacing numerous features to the end users to use. This can result in user interfaces that can, very easily, overwhelm users. To ensure this doesn’t happen, ThoughtSpot designs a product that uncovers functionality in layers so users encounter features gradually and as needed..”

“Uncover in Layers” principle says that the functionality or information should be exposed to  the users step-by-step, the most commonly used first while providing a ways to reach the corner cases.

In this post, I’ll explain how we use the layers principle when designing UX. Let’s take an example. ThoughtSpot Search. ThoughtSpot makes it easy for users to ask questions and find answers in their enterprise data. When users ask a question, they commonly need assurance that the results are correct. A full  explanation of the processes can be overwhelming to grasp. On the other hand, ambiguous or generalized answers can fail to inspire trust.  Moreover, different types of users require different levels of explanation. So, how do we get users to trust the results ThoughtSpot shows them? 

Our solution was to design Search in 3 layers - Search Bar, Search Inspector, and Search Visualizer.

Layer 1 - Search Bar

Once users type a question in the search bar, we show metadata information along with the search text. It helps the user understand the context for a search token as they hover over it.

Layer 2 - Search Inspector 

Users looking for further information, can go into the Search Inspector. Search Inspector breaks down the search syntax and results into segments. These segments include attributes, measures, filters, and join information used to fetch the result. This inspection provides  a way for users to understand their actions and the results in plain English language.

Layer 3 - Search Visualizer

Advanced users such may  want to understand at a deeper level such as tables, columns, and joins. Search Visualizer helps these users  transverse through the query execution process.

The visualization shows the tables, columns, and data types used in a search. With all this information is available to the user, users are naturally going to develop trust in the result and the product!

We often apply the layers  principle while designing at ThoughtSpot. Have you ever applied this principle while