Mobile app development / DIJION
Mobile search: keeping old results separate from a new query
A search guide separating typed text, submitted queries and visible results across slow networks, filters and zero matches.
Old results may remain visible while someone enters a new search. Without a clear distinction, the list can appear to answer the new query. In an illustrative reading app, changing design to games should not cause someone to select an old article under a false impression. Search is a sequence of states, not just a text field.
Identify the query behind the results
Keep typed text, the submitted query and the query associated with displayed results distinct. Searching on input or through an explicit action depends on the product. Either way, a late response to an older query must not overwrite newer results. Clearing the query should also prevent a pending response from unexpectedly repopulating the screen.
Distinguish no matches from no search yet
Scroll the table horizontally to see all columns.
| State | Explanation | Useful action |
|---|---|---|
| Empty query | No search submitted | Offer relevant starting topics |
| Waiting | Searching for this query | Keep input editable |
| Zero matches | No matches for this query and filters | Review the filters |
Make active filters visible
A forgotten restrictive filter can make search seem broken. Show active filters near the results. Clear filters and Clear search are different actions; one should not silently erase the other. Specify what happens to a selected item, list position and result count when filters change, rather than leaving these details to separate screens.
Preserve context when returning from a result
Preserving the query and filters on return lets people continue comparing results. If data changed, avoid presenting an old ordering as current. Consider search-history storage separately: exposing personal searches on a shared device may be inappropriate. Retaining history is a deliberate product choice, not an automatic requirement for making search work.
Test search under delayed responses
- Submit two queries quickly and return their responses in reverse order.
- Clear text and change a filter before the response arrives.
- Recover from zero matches by removing filters.
- Open a result and return; inspect query and scroll context.
The handoff is a state table identifying which query owns each result set. That distinction helps prevent misleading screens and unnecessary repeated searches.