Projects/Usability/HIG/SearchPattern: Difference between revisions

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


== Guidelines ==
== Search ==
* Provide filter function to shown content by default. Apply search using an extra dialog.


=== Filter ===
* Use a search function to generate results based on various sources with sufficient options.
<HR>
* Always provide search function via extra secondary dialog.
==== Input ====
 
=== Behavior ===
* 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.
* Run a combined AND search when two words have been entered unless the term is quoted (e.g. Hello World vs "Hello World")
* Follow the guidelines on delayed operations if the search takes longer.
 
=== Appearance ===
* (Yet to be defined by the VDG)
 
=== Implementation ===
* (To be defined by devs)
 
== Filter ==
* Apply filter to restrict the number of items of a list.
* Do not overload the simple filter function by options. If necessary, provide an additional search.
 
=== Behavior ===
* Perform filter operations always instantaneously.
* 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.
* 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.
* Run operation case insensitive, unless it is important.
* Make input control large enough to show at least 20 characters.
* Make input control large enough to show at least 20 characters.
==== Output ====
* By default clear the filter input when the content is changed. But consider to provide a sticky function and keep the filter until it is cleared explicitly. With this option users do not need to research after selecting or referencing an item.
* Make the filter result persistent until it is cleared explicitly. Users must not need to research after selecting or referencing an item.  
* Consider to provide auto complete feature to the input based on previous operations.
* Provide auto complete feature to the input based on previous operations.
 
* Highlight matching results and jump to the first occurrence.
=== Appearance ===
==== Appearance ====
* Show the filter pattern above the list of items.
* Hide input control until users start the search.
* Use Ctrl+H to show/hide the input.
{{Note|I'd prefer to show it always but actually that's not the current behaviour in general.
* Do not hide the input if the filter is an essential part of the application, i.e. when the list of items usually is large.
* 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.}}
* Show 'Search...' as place holder unless the control is focused. Do not use 'filter' or other labels.
* Active the control and focus it on ctrl+F or when user clicks the icon.
 
=== Implementation ===
* (To be defined by devs)
 
== Highlight ==
* Provide 'highlight search' when the content is relevant.
* Do not overload the simple highlight function by options. If necessary, provide an additional search.
 
=== Behavior ===
* Perform highlight operations always instantaneously.
* Make the operation as simple as possible. Do not add options.
* Run operation case insensitive.
* Make input control large enough to show at least 20 characters.
* Consider to provide auto complete feature to the input based on previous operations.
 
=== Appearance ===
* Place the input control at the bottom of the content area.
* Place the input control at the bottom of the content area.
* Hide the input by default.
* Active the control and focus it on ctrl+F.


=== Search ===
=== Implementation ===
<HR>
* (To be defined by devs)
==== 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 [[Projects/Usability/HIG/ProgressIndicator|delayed operations]] if the search takes longer.
* Provide paging/scrolling of results.
==== Appearance ====
* Run search operation within an extra, modal dialog.


== Best Practice ==
== Legacy references ==
* [http://i.imgur.com/eL7mi4K.png Example 1]
* [http://i.imgur.com/eL7mi4K.png Example 1]
* [http://wstaw.org/m/2014/03/26/Category_search_pattern.png Example 2]
* [http://wstaw.org/m/2014/03/26/Category_search_pattern.png Example 2]


[[Category:Usability]][[Category:Structure]][[Category:Organizational_Model]]
[[Category:Usability]][[Category:Structure]][[Category:Organizational_Model]]

Revision as of 11:08, 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.

Search

  • Use a search function to generate results based on various sources with sufficient options.
  • Always provide search function via extra secondary dialog.

Behavior

  • 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.
  • Run a combined AND search when two words have been entered unless the term is quoted (e.g. Hello World vs "Hello World")
  • Follow the guidelines on delayed operations if the search takes longer.

Appearance

  • (Yet to be defined by the VDG)

Implementation

  • (To be defined by devs)

Filter

  • Apply filter to restrict the number of items of a list.
  • Do not overload the simple filter function by options. If necessary, provide an additional search.

Behavior

  • 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.
  • By default clear the filter input when the content is changed. But consider to provide a sticky function and keep the filter until it is cleared explicitly. With this option users do not need to research after selecting or referencing an item.
  • Consider to provide auto complete feature to the input based on previous operations.

Appearance

  • Show the filter pattern above the list of items.
  • Use Ctrl+H to show/hide the input.
  • Do not hide the input if the filter is an essential part of the application, i.e. when the list of items usually is large.
  • Show 'Search...' as place holder unless the control is focused. Do not use 'filter' or other labels.

Implementation

  • (To be defined by devs)

Highlight

  • Provide 'highlight search' when the content is relevant.
  • Do not overload the simple highlight function by options. If necessary, provide an additional search.

Behavior

  • Perform highlight operations always instantaneously.
  • Make the operation as simple as possible. Do not add options.
  • Run operation case insensitive.
  • Make input control large enough to show at least 20 characters.
  • Consider to provide auto complete feature to the input based on previous operations.

Appearance

  • Place the input control at the bottom of the content area.
  • Hide the input by default.
  • Active the control and focus it on ctrl+F.

Implementation

  • (To be defined by devs)

Legacy references