Difference between revisions of "Projects/Usability/HIG/SearchPattern"

< Projects‎ | Usability‎ | HIG
Jump to: navigation, search
(Purpose)
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.png
 
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


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal