Designing for enterprise search

Some insights on designing for a powerful and optimum enterprise search

Shikha Verma
UX Collective

--

Image illustrating enterprise search

When we think of search, we immediately picture an archetypal magnifying glass tucked inside a rectangular box. The magnifying glass, nothing more than a steering wheel we manoeuvre to drive us to our results. What we completely miss though, is that there’s a whole universe behind this than just its facade, just like the complex underbelly of a car beneath its steering wheel. We can still comprehend the engineering labour that might go behind it, but how does one ‘design search’? What more could it entail apart from using a familiar search text field and maybe rolling out some results at the end? Truth is, search is a highly interactive element that has many opportunities to create rich user experiences. Think of content-heavy websites like Amazon. Search is not an afterthought here, but a driving touchpoint. It might not only be a user’s primary way to find what they are looking for but also to navigate quickly across pages.

For a short while, I’ve worked on designing search experiences in two very different enterprise organizations; one a big tech organization and the other, an early-stage fintech startup. Both these sprints helped me encapsulate some interesting insights that can go into designing enterprise search. I have pulled these insights from academic research, expert articles and of course, my own trials and errors. While most of them are tailored to enterprise search, some of them may well apply to all search experiences.

Understanding enterprise search

Enterprise search presents unique challenges and opportunities that are different in nature from its web search counterparts. A simple Google search for ‘Jon’ will pull out ‘Jon Doe, HR’ from Linkedin, ‘Jon the cat’ from Youtube, ‘Jon’ baby names, and 10,000 other results that will never see the light of your screen. Compare this to searching for ‘Jon Doe’ on your company search portal. Your search results will likely tell you about the ‘Jon Doe’ who sits two cubicles away from you; his email id, designation, and possibly the name of the project he seems to be scratching his head on. In short, ‘much more information about the searching user is available to the enterprise search systems over web search due to the fact that in enterprise environments a user is a known employee who has a specific role.’ [1]

Enterprise systems deal with a finite pool of information where we are likely to have more awareness about a user, their intent, and actions. All of this enables us to design for a more powerful and optimum search experience that can cater to specific work needs.

A smart search understands what you are looking for

In a survey on Businesswire, 57% of the employees stated that the top contributor to lagging productivity is difficulty in finding the right information. In another survey, 43% of employees believe that they have to switch between too many apps to get the basic work done. Having a smart search that understands what you’re looking for becomes pivotal here to ease work processes. A smart search can use dimensions, such as Which? When? Where? What? Why? to get you more accurate and relevant search results. Let us consider examples for two of these dimensions — Which and why?

When using search, users need more context to know which one of the results is the one that they’re looking for? People, meeting rooms, files, folders, and even settings can have similar names, sometimes the same. Here is an example from Box where the search query has multiple results with the same title. How do you solve this? Since the unique identifier for these results is their location, Box highlights the breadcrumbs to help its users find the right result. You can similarly leverage many metadata points such as category, labels, email, location, etc. that will help users uniquely identify the result that they are looking for.

Image of Box search, where it highlights the unique location of its files through breadcrumbs to help its users find the right result.
Box highlights the unique location of its files through breadcrumbs to help its users find the right result. Image source

Now that you have found the result that you were looking for, what do you do with it? In other words, why has the user searched for something? In an enterprise setting, you are very likely to know why. For instance, a careful analysis of user workflows may tell you that post searching for a user’s name on Bing for work, the user is likely to email them. Now, what if an email action was displayed right on the search results area? By surfacing the frequently performed action in the search results area, you will have saved the user a good few seconds of their precious time.

Image of Microsoft Search in Bing that surfaces user contact cards whenever you look up a users name. The contact card surfaces users email, location, contact number etc. to facilitate actionability
Microsoft Search in Bing surfaces user contact cards that list users email, location, contact number etc. to facilitate actionability Image source

Hence, we can say that ‘An optimal retrieval system thus should try to exploit as much additional context information as possible to improve retrieval accuracy, whenever it is available.’ [2]

Search can behave differently depending on who the user is and where they are

‘Different roles (like manager, IT, software developers) with the same query have different information needs […] and an Enterprise Search system should exploit this information… we know that users with similar roles in corporate environments are often searching for similar documents, because they are interested in information belonging to the same domain or on related topics and thus their information needs are more comparable than others’ [3]

While designing for enterprise search we can utilize contextual information not only about the search query but also that of the user. One of the unique features of an enterprise search system compared to a web search is that the user here is a known employee who has a specific job role. A good example of this is Bing for Work. When the user searches for ‘my files’, the search engine does not surface generic search results for files, but displays information about the user’s own files. Thus utilising the context they have available about the user to customize their search results.

Image shows searching for ‘my files’ on Microsoft Search for Bing. The results display information about the user’s own files.
Search for ‘my files’ on Microsoft Search for Bing displays information about the user’s own files. Image source

Transform your search for better confidence

There are many design patterns of search that will not only provide you with a good user experience but can also help you with better search ‘confidence’ (which is nothing but the accuracy of your search results).

Airtable and Linkedin templatize their search. They know that you are looking for very specific entities, hence they provide you with a template that ultimately helps narrow down your search query. This in turn provides you with higher confidence search results and you will find yourself re-searching less.

Image shows Airtable search options that can be used to search across single, multiple or all tables.
Airtable search options can be used to search across single, multiple or all tables. Image source

Notion and Mac OS Spotlight use an overlay search that presents the idea that you are searching from everywhere across the system or product. The overlay format also helps trigger the search from anywhere with a quick command.

Image shows Notion’s ‘Quick Find’ search that lets users search from anywhere across the app.
Notion’s ‘Quick Find’ search lets users search from anywhere across the app. Image source

Discover design opportunities in every element and state

When you look at search, it is interesting to see it as a sum of its elements and corresponding states. The search bar, search button, suggestions area, search results page, and more, together make up the search component. These elements can behave differently in different states depending on the user’s interaction with them. There are ample ways in which you can utilize them to serve your purpose.

For instance, some of the best-designed searches cleverly use search hint text to engage in dialogue with their users. Google’s Admin Console tells users they can search for users, groups and settings. It goes a step further and also cites an example of what a probable query can look like.

Image shows Google’s Admin Console search that uses hint text to tells users what they can search for. It also even accompanying it with examples.
Google’s Admin Console search uses hint text that tells users what they can search for, even accompanying it with examples. Image source

We can utilize even the simplest hint text to actively communicate with the user and give them an idea of what to expect from search. A carefully designed orchestration of each search element and its states helps create a seamless and intuitive experience. Do not miss out on designing the details.

Don’t keep them waiting

We earlier discussed how giving users more context about their results and surfacing frequently performed actions can help to provide a better search experience. But what if I tell you, it might do the opposite? The more data your server might have to fetch in real-time, the slower it might display results. This can easily hamper a user’s search experience. Think of all the times you changed tabs because the search took light years to display results. A good search design should also be considerate of all its technical limitations and account for them. Time is most likely to be one of them. Enterprise data is growing at a rate faster than ever, according to the 2020 IDG survey, data volumes are growing by 63 per cent per month in organizations. So unless you have acres of data centres, there is a good chance that your enterprise servers may be stretched, ultimately slowing the search retrieval time.

This is not an engineers problem to solve alone. Small considerations in your search design can go a long way to improve this latency. Using pre-canned content is one of them, where you prepare some results in advance and store them for display. You can use general terms instead of specific names that might take longer to show up. For instance, ‘Meeting room HYD-123 has smart TV’ can simply be ‘This room has smart TV’. This way less real-time calls will have to be made to surface results.

Design for errors

Don Norman said, ‘Search is more than search today. It is how we have conversations.’ When we converse with our fellow humans we expect them to understand what we mean, despite our vocabulary accidents and spelling errors. To the maximum extent possible, your search must aim to do the same. It should accept queries in natural language formats like, ‘Time in Nagoya’/ ‘Nagoya time’, without having to adhere to strict syntax like formats.

When your user appears to have made a spelling mistake, try to support them with a ‘Did you mean’ or other equivalents or suggest some close matches that might be relevant to them.

Image shows Notion’s search that offers close matches to user queries when they don’t find exact matches of the query.
Notion offers close matches to user queries when they don’t find exact matches of the query.

In case their query goes beyond all possible index matches, even the ones in the faulty spelling list, provide them with suggestions to refine or fix their queries.

Image shows Google search which guides its users to refine their search queries in case of an unidentifiable query.
Google search guides its users to refine their search queries in case of an unidentifiable query.

At no point is it a good idea to leave your users stranded without any direction to go forward in even when they make mistakes, especially when they make mistakes.

Don’t forget to measure your success

Measuring performance is essential in determining the success of any user experience. Luckily there are many ways to do that with search as well. One way to go about this is to use Google’s HEART framework — where you first decide on the key goals of your experience (Happiness, Engagement, Adoption, Retention, Task Success) and then look out for metrics or signals that will help you measure them. For instance,

To measure how well have users adopted the search, I can track
How many search queries do users type on a daily/monthly basis, depending on your org needs.

To measure the task success of searching a query, I can track
How many times do users reformulate the query until they click on a result? (the lesser the better)
Which rank of result do they click on (The higher the better)

If I want to know how happy users are with the current search experience
I can ask them questions using a Likert scale or simply engage in a conversation with them to look for qualitative answers.

There are a plethora of methods to use here. You should feel empowered to use what works for you and tweak them as you find necessary.

I hope you found reading these guidelines useful, and as advocates of users, I hope this helps you make their data-heavy world a little easier to navigate.

References

[1] Demartini, Gianluca. (2007). Leveraging semantic technologies for enterprise search. 25–32. 10.1145/1316874.1316879. https://www.researchgate.net/publication/221614395_Leveraging_semantic_technologies_for_enterprise_search

[2] Shen, X., B. Tan, and C. Zhai. (2005). Context-sensitive information retrieval using implicit feedback. Proceedings of the 28th annual international ACM SIGIR conference on Research and development in information retrieval. 43–50. 10.1145/1076034.1076045. https://dl.acm.org/doi/abs/10.1145/1076034.1076045

[3] Reichhold, Mathias & Kerschbaumer, Jörg & Fliedl, Günther. (2011). Optimizing enterprise search by automatically relating user context to textual document content. ACM International Conference Proceeding Series. 22. 10.1145/2024288.2024316. https://www.researchgate.net/publication/220866496_Optimizing_enterprise_search_by_automatically_relating_user_context_totextual_document_content

--

--

A lover of paws, poetry & pixels. I write about design, art, culture and all the fluffy things in between. Design at Microsoft, IxD at IDC IITB