UX Spec: AI Copilot Search (MVP)
See Omnisearch for more
Overview
One of the key use cases AI can be leveraged for in a collaboration platform is searching content in the workspace. This spec outlines the first phase of work to improve our search experience to make way for AI-powered search. The remaining work on improving the search experience can be found in the UX Spec for Enhanced Search.
The core problems we’re aiming to solve with this work:
Provide customers with the powerful capability of topic-based semantic search across the workspace - rather than only the keyword-based search.
Incorporate AI-powered search as a new method to search for answers across the workspace.
Take initial steps toward a unified search experience to find channels, messages, files, and people that is forgiving, more intuitive, and eliminates the need to know which search modal to use for what you’re looking for.
Quote from a customer regarding AI search - Productboard
They are thinking of AI summaries as "advanced search" that can find related conversation/context across channels + threads, then collate an answer to a question based on the intent
Querying LLMs based on private data. Our channel-based context made sense to them. An expansion is to form the query context based on all data (threads, etc.) a user has access to. The existing auditing and channel-based permission controls are a good fit.
Picture being able to ask, "What's happening at Cape Canaveral today?" and receiving a concise summary of the day's or week's major launch activities, schedule changes, and key personnel, all derived from the data within these public Mattermost channels and other data sources…this tool could greatly benefit…other units, and could scale to meet diverse needs…may face similar information overload challenges.
Quotes from NPS/Survey Feedback:
Add AI integrations for message search in a channel or a thread
An updated global search modal that incorporates AI Copilot
We still want to keep the current search capabilities that exist today, but we’ll initially add a new search method. This helps make an incremental improvement rather than disorienting users with a complete overhaul.
Anatomy of the search modal
The new search modal is made up of the following pieces. To start it will just include tabs for Messages, Files and AI Copilot, but will later incorporate other tabs for the universal search UX.
Keyboard shortcuts
Cmd/Ctrl-F - Message search (in active channel)
This shortcut will open the search modal with the ‘Messages’ tab active and the filter for the currently active channel added to the input (like we currently do).
If the modal is already open to a different search mode, this shortcut will also switch to the message search.
Message Search
Default state
When this tab is active, before the user starts typing we show a placeholder message in the search input and recent searches below (if applicable). Ideally, we show recent searches in the default state, but this spec aims to reduce the initial scope.
Typing state
In the Messages
search mode, results do not show as users are typing (due to performance concerns). As the user starts typing a ‘clear’ button displays and the tips change to show ‘ENTER to Search’
Enter to execute search
Because we can’t show results for messages as you type, a hint Enter to search
appears below the input.
Modifiers added to search
When a modifier is used in search, the body of the search modal is replaced with the autocomplete results based on the filter.
Once a filter is selected from the autocomplete results, a chip is added to the search input and users can either hit ENTER to search or add further keywords/filters.
Tips
At the bottom of the modal, a tip to use search modifiers appears. Clicking on one of the modifiers adds it to the input where the cursor is placed at the time.
Adjust the height of the dialog depending on the results
Depending on the available autocomplete/suggested results, the height of the search dialog should be dynamic.
Message search results
Search results for messages should show just like they do now in the RHS. Consider adding a title 'Results for “{search term}” above the results.
File Search
File search behaves similarly to the current file search, but uses the tab pattern instead of the chip filter we currently have.
Default state
Before the user starts typing we show a placeholder message in the search input and recent file searches and recently added files below. Show up to 5 recent file search terms and then show up to 20 recently added files (from channels you’re a member of).
Typing state
Once users start typing, we will not initially be able to show results as you type (as we’re keeping scope here smaller). Once users start typing, a hint ‘Enter to search’ displays
Tips
The modifier tips also shows for files and includes an additional modifier Ext:
to filter by a specific extension.
File search results
Search results for files should show just like they do now in the RHS. Consider adding a title 'Results for “{search term}” above the results.
AI Copilot Search
Default state
Before the user begins typing, the input shows placeholder text ‘Ask AI Copilot a question or search by topic’ and we show up to 5 recent searches then up to 20 suggestions below that.
Typing state
As the user starts typing, AI provides suggested questions/searches based on what the user is typing.
Adjust the height of the dialog depending on the number of results
Depending on the available autocomplete/suggested results, the height of the search dialog should be dynamic.
Tips
On the AI Copilot tab, we show a tip stating “AI Copilot searches all channels and messages you have access to”
Results
The AI Copilot search opens up the AI Copilot RHS to stream the search results. The results include the original question asked as the title and the answer displayed below. It also includes linked numbers in the response as well as a sources section and a related questions section.
Sources
When sources are expanded, we can show permalink previews for each source
Related questions
The related questions section expands to show AI-generated adjacent/related questions that might be relevant for further answers or exploration on a particular topic.
Clicking on any of these questions will open up a new search thread with AI Copilot.
Choosing the bot to search with
Just like with other copilot capabilities, if mutliple bots are configured in the Copilot plugin and the user has access to them, they can select which bot to use for their search.
Access to choose the bot is in the search footer when ‘copilot’ mode is selected.
Configuring Copilot Search in the System Console
Work in progress settings: