A search function allows to generate a subset out of a big number of items on ground of a user defined pattern. The function is essential to find matching items in case of a extended list or if the position of target(s) is unknown, as well as when bulk operations should be executed.
- Search operations must not take seconds.
- Make the search result persistent. Users must not need to research after selecting or referencing an item.
- Consider to allow iterative search on result lists.
- Provide paging/scrolling of results.
- Do not inherit artificial intelligence from users. Search operations have always be clear and comprehensible to users.
- To show or not to show':'
- Always show search input. Do not hide the availability from users.
- Show input control only when users start the search.
- Hide the control in case the search is not the primary function of the app, but show a small button which indicates clearly the availability of the function.
- How to present results (Depends on use case?)
- Highlight search results (KCM mode).
- Hide non-matching results (Kicker mode).
- Generate a new list that matches the search pattern (KRunner mode).