Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Lead: Shani Laendler (Unlicensed)

Status
colourYellow
titleongoing

...

General Guidelines

Internal Logic

Search logic

2 search approaches may be applied (should be considered according to the specific need):

  • “Type-ahead”: all results will start with the typed string. For example:

    Image Removed

     

  • “Contains”: the search string may appear within a result.

    Image Removed

     

Select the appropriate approach according to:

  • The users' knowledge and expected behaviour: do they know the full name of the item? how familiar they are with the list terminology and content?

  • The list content and design: does it include complex items (e.g. agents names?)? does it have a complex design (e.g. a combination of numbers and strings)?

...

Results Presentation

  • The searched string will be highlighted within the text.

  • The results are displayed in the list area according to the existing sort method.

  • In case the list area is arranged in an hierarchical tree view the search results may be presented in either the same hierarchical view or as a simple list. See 'Best Practices' section for guidelines on selecting the appropriate approach. Example for hierarchical view in the search results:

...

  • Image Added

In case the results are presented in tree view, all roots will be auto-expanded to present the searched item. 

  • In larger or more complex result sets, present consider presenting the number of results in a prominent area. Try adding that in any case when possible:

    Image RemovedImage Added

Results Loading Time

...

  • Less than 0.1 second: no loader is needed.

  • 0.1-5 second:

    Option 1

    : loading spinner with the text "Searching <Categories>..."

    Image Removed

    Option 2: loader within the field and list area with/out a placeholder for the results (consider Asaf’s use cases where there are several loading areas in the results area, see google example. consider also very long search fields where the load sign may be to far and unnoticeable)

    Image RemovedImage Added

  • More than 5 seconds: this loading time is too long for “Live Search”. Use Manual Search instead.

Suggestions (Optional)

...

When focusing on an empty search field, a list of suggestions may be displayed to aid the user conduct a quick search.

List definitions:

  • The list will include up to 8 items

  • The list will include recent searches and/or popular/trending searches.

    • Recent item are items that the specific user searched for in the past. They will be presented only after conducting at list one search and will include the most recent searches only.

    • Popular items are items that are being searched by many users in many occasions

    • Trending item are items that are being searched by many users in many occasions, on a recent defined time frame.

    • The number of recent and popular/trending items should be equal. If there’s not enough data to provide an equal amount of both types the list may be divided unequally.

  • Recent items will be placed above popular/trending items

  • Each item will be accompanied with an icon, indicating the type of suggestion (recent or popular)

Use the suggestion list only if the user is expected to search for previously searched queries or popular/trending queries.

Search with Spaces

  • Spaces are included in the search string. For example, when searching “repeated c” the result “repeated calls” may be found.

  • When searching on lists of names (e.g. employees, agents), the space may be addressed as a separator between 2 distinct searches. For example, when searching “sh kl” the employee “shiri Klein” may be foundwith Auto-Suggest instead.

Interaction

Step

Visual Example

Description

Initial state

Image RemovedImage Added

Hint text in grey

Hover over the search field

Image RemovedImage Added

Boarder colour changes

Click on the text field

Image RemovedImage Added
  • Search in focus

  • Hint text presented

  • Text mark is flickering

  • Suggestions: recent and/or popular queries are presented (optional)

Enter first letter

Image RemovedImage Added
  • Hint text hidden

  • Suggestions are hidden

  • The list is filtered

  • Searched query is highlighted within the list

  • Clear all ("x") is presented.

Enter next letter/s

Image RemovedImage Added

The list is filtered to show relevant results

Click on item in the list

Image RemovedImage Added

Focus is moved away from the search field

Clear all

Image RemovedImage Added

Click on the “x”: (1) clears all characters (2) focus on the text field.

The "x" disappears when the text is cleared (both manually or using the "x" button)

Validations and errors

There are no validations on syntax.

No results found

...

  • The results area will clearly state no results were found

  • The text will say "no <items> were found" (e.g. no categories were found, no employees were found).

Best Practice

  • Use when:

    • The database is small-medium and the results can be filtered immediately (no need to retrieve the data from the back-end)

    • The results area is located below and near the search field

  • Don’t use when:

    • When the query is applied on a complex or big database that will cause a long loading time. In such case use Search with Auto-Suggest.

  • Automatic focus: use auto-focus on the search field to aid the user in conducting a fast search (and reduce clicks). Make sure to use it under these conditions:

    • The list is the only/main component presented in the area or section (e.g. in a filter panel or in a modal window)

    • The list is presented upon request (e.g. click to open filter panel, click to open modal window)

...

  • Display results in an hierarchical tree view vs. simple list: the results may be presented in both list types. Answer these questions to select Select the most appropriate type:

    Don’t use when:

    • Is the search expected to produce a single or multiple results? (if single than list is probably good enough)

    • May several results have a similar name? (if yes, tend to choose a tree view)

    • What will help to differentiate between items with similar name? (will it be the root?)

    • Will the root be searched by itself?

    • In case the results are presented in tree view, all roots will be auto-expanded to present the searched item. 

  • Use when:

    • The database is small-medium and the results can be filtered immediately (no need to retrieve the data from the back-end)

    • The results area is located below and near the search field

    • When the query is applied on a complex or big database that will cause a long loading time. In such case use Manual Search (with Auto-Suggest).If the search is expected to produce a single result - a flat list may be sufficient

    • If the search is expected to produce multiple results - tend to select the tree view

    • If several results may have a similar name and the root may help in differentiating between results - select a tree view

    • If the root may be searched by itself - select the tree view

Future Version (TBD)

  • Search on a simple list with multi-select

  • Search on a tree view with multi-select

...