Projects/Usability/HIG/SearchPattern: Difference between revisions

From KDE TechBase
< Projects‎ | Usability‎ | HIG
No edit summary
Line 3: Line 3:


== Purpose ==
== Purpose ==
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 to a subset. A search operation interrupts the 'predefined workflow' and bypass core functions to a user-defined data set.
A ''search'' function allows to generate a subset out of a big number of items on ground of a user defined pattern. It usually can be applied to various sources and has several options for fine-tuning.


Supplemental to search is the ''filter function'' which rather reduces a given number of items than generating an output. Filtering should be always instantaneous.
Supplemental to search is the ''filter'' function reduces the number of items. This operation works on the current list only and does not generate a new output. Filtering should be always instantaneous and must not interrupt the workflow.


Similar to filtering the operation might be used to ''highlight'' information. This preselection is a common feature in text processing and used to locate a particular piece of information without concealing the surrounding.
{| class="wikitable collapsible collapsed" style="border:none"
{| class="wikitable collapsible collapsed" style="border:none"
! Use case for filter vs. search
! Use case for filter vs. search

Revision as of 10:57, 28 April 2014

 
Under Construction
This is a new page, currently under construction!


Purpose

A search function allows to generate a subset out of a big number of items on ground of a user defined pattern. It usually can be applied to various sources and has several options for fine-tuning.

Supplemental to search is the filter function reduces the number of items. This operation works on the current list only and does not generate a new output. Filtering should be always instantaneous and must not interrupt the workflow.

Similar to filtering the operation might be used to highlight information. This preselection is a common feature in text processing and used to locate a particular piece of information without concealing the surrounding.

Guidelines

  • Provide filter function to shown content by default. Apply search using an extra dialog.

Filter


Input

  • Perform filter operations always instantaneously.
  • Make the operation as simple as possible. For instance, do not apply multi-dimensional filtering or do not use logical operators for input.
  • Run operation case insensitive, unless it is important.
  • Make input control large enough to show at least 20 characters.

Output

  • Make the filter result persistent until it is cleared explicitly. Users must not need to research after selecting or referencing an item.
  • Provide auto complete feature to the input based on previous operations.
  • Highlight matching results and jump to the first occurrence.

Appearance

  • Hide input control until users start the search.
Note
I'd prefer to show it always but actually that's not the current behaviour in general.
  • Hide the input control in case the filter is not the primary function of the app, but show a small button which indicates clearly the availability of the function.
  • Active the control and focus it on ctrl+F or when user clicks the icon.
  • Place the input control at the bottom of the content area.

Search


Input

  • Do not inherit artificial intelligence from users. Search operations have always be clear and comprehensible to users.
  • Show hints on how to use the search effectively.
  • Do fuzzy search by default, if applicable. That means extend the results by adding a wildcard to the item.
  • Run a combined AND search when two words have been entered unless the term is quoted (e.g. Hello World vs "Hello World")

Output

  • Show the search pattern at the header of the result list (e.g. "Search results for: <Hello World>")
  • Follow the guidelines on delayed operations if the search takes longer.
  • Provide paging/scrolling of results.

Appearance

  • Run search operation within an extra, modal dialog.

Best Practice