Incremental search

Incremental search
Screenshot of performing "Find as you type" in Mozilla Firefox. "ency" was being typed and the first matched text was highlighted in green.
See also Incremental heuristic search, a class of search techniques in artificial intelligence and robotics

In computing, incremental search, incremental find or real-time suggestions is a user interface interaction method to progressively search for and filter through text. As the user types text, one or more possible matches for the text are found and immediately presented to the user. This immediate feedback often allows the user to stop short of typing the entire word or phrase they were looking for. The user may also choose a closely related option from the presented list.

The method of incremental search is sometimes distinguished from user interfaces that employ a modal window, such as a dialog box, to enter searches. For some applications, a separate user interface mode may be used instead of a dialog box.

Contents

History

The first documented use of incremental search was in EMACS on ITS in the late 1970s.[1] This was one of the many essential Emacs features Richard Stallman included in his reimplementation, GNU Emacs. Other noteworthy programs containing this functionality in the 1980s include bash and Canon Cat.[2]. These early implementations offered single line feedback, not lists of suggestions.

The first mainstream appearance may have been in the Speller for WordPerfect 5.2 for Windows, released 30 November 1992. As programmer Robert John Stevens, now CEO of WriteExpress, watched users at the WordPerfect Usability Lab in Orem, Utah use the 5.1 Speller that he and Steven M. Cannon ported to Windows, he noticed that when a word was not found in the dictionary and no alternative words were presented, users seemed lost, moved the mouse cursor around the page and even exited the Speller. Dumbstruck by the anomaly, he went home, sat on the couch and discussed his observations with his wife. Stevens coded the solution: as a user typed in the edit box, Speller would suggest words beginning with the letters entered.

Stevens' Spell Check program was also used in Novell GroupWise.

Variants

This feature, or variations thereof, has also been referred to as search as you type, filter/find as you type (FAYT), incremental search, typeahead search, inline search, instant search, word wheeling, and other names as well.

Some common keyboard shortcuts for incremental find are Ctrl/Cmd-F (like for traditional find), the GNU-style / (also applicable to Vim[3]), or Emacs-style C-s.

Searches for files and media

This user interface method is also employed in varying contexts. For example, a user may encounter this feature while searching for files whose names match a string in an operating system's file explorer shell. The feature may also be used during searches for songs whose name or artist match a string in a media player.

Searches for user interface elements

Another variation is to filter through long lists of options or menu items that may appear within the user interface itself. Examples of this variation can be found in the about:config interface section of Mozilla Firefox version 2.0.0.14 and later versions; and in the bundle editor section of TextMate 1.5.7. This feature is also employed in application launchers such as Quicksilver 1.0.

Typically a list of matches is generated as the search query is typed, and the list is progressively narrowed to match the filter text.

Web search

In September 2010, Google introduced Google Instant, an incremental search feature for Google Search.

An implementation of incremental find in the area of web search, using Google AJAX APIs, is EasySearch and keyboardr.com.

Resource consumption

Incremental search on a non-local server, as in Web search, uses more network bandwidth and server processing than non-incremental search.[citation needed]

Reception

Interface expert Jef Raskin has been a strong advocate of incremental search. In his 2000 book The Humane Interface, he wrote, "From the point of view of interface engineering, the advantages of incremental searching are so numerous and the advantages of delimited searches so few that I can see almost no occasions when a delimited search would be preferred." This was followed by a footnote reading, "A search is either incremental or excremental."[4]

Incremental search has been criticised for exhibiting low affordance,[5] as the text fields which provide it offer no visual indication of that fact until after the user begins typing.

Specific applications

Non-modal incremental find is found in:

Modern web browsers:

Instant messaging clients:

Modern operating systems:

Spotlight (which searches the entire computer)
Help menu (10.5 and newer)
System Preferences
Start menu
Control Panel
  • Linux's KDE 4 desktop environment uses this systematically
KWrite
Rekonq

Editors and development environments:

Other applications:

References

  1. ^ Ciccarelli, Eugene (January 1978). "An Introduction to the Emacs Editor". AI Memo No. 447. http://www.emacswiki.org/emacs/AnIntroductionToTheEmacsEditor. Retrieved 2009-06-16. 
  2. ^ Shapiro, Ezra (1989). "The Cat is Dead, Long Live the Interface". Language Technology Magazine 13. 
  3. ^ "Patterns and search commands". Bram Moolenaar, SourceForge. 24 April 2006. http://vimdoc.sourceforge.net/htmldoc/pattern.html#search-commands. Retrieved 1 August 2009. 
  4. ^ Raskin, Jef (2000-04-08). The Humane Interface. Addison-Wesley Professional. pp. 126. ISBN 978-0201379372. 
  5. ^ Jesper Rønn-Jensen (2007-05-05). "Affordance of Autocomplete Text Fields". http://justaddwater.dk/2007/05/05/affordance-of-autocomplete-text-fields/. 

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Incremental find — In computing, incremental find is a user interface interaction method to progressively search for and filter through text. As the user types text, one or more possible matches for the text are found and immediately presented to the user. This… …   Wikipedia

  • Incremental encoding — Incremental encoding, also known as front compression, back compression, or front coding, is a type of delta encoding compression algorithm whereby common prefixes or suffixes and their lengths are recorded so that they need not be duplicated.… …   Wikipedia

  • Delimited search — In computing, delimited search refers to a simple search user interface allowing search in three steps: First a user types a query string, second the system computes the query on the whole body of searchable content, third the user gets results… …   Wikipedia

  • Index (search engine) — Search engine indexing collects, parses, and stores data to facilitate fast and accurate information retrieval. Index design incorporates interdisciplinary concepts from linguistics, cognitive psychology, mathematics, informatics, physics, and… …   Wikipedia

  • Object categorization from image search — In computer vision, the problem of object categorization from image search is the problem of training a classifier to recognize categories of objects, using only the images retrieved automatically with an Internet search engine. Ideally,… …   Wikipedia

  • Windows Search — (formerly known as Windows Desktop Search or WDS on Windows XP and Windows Server 2003) is an indexed desktop search platform released by Microsoft for the Windows operating system.[citation needed] Windows Search for Windows Vista, Windows 7,… …   Wikipedia

  • Selection-based search — A selection based search system is a search engine system in which the user invokes a search query using only the mouse.[1] A selection based search system allows the user to search the internet for more information about any keyword or phrase… …   Wikipedia

  • Binary search tree — In computer science, a binary search tree (BST) is a binary tree data structurewhich has the following properties: *each node (item in the tree) has a value; *a total order (linear order) is defined on these values; *the left subtree of a node… …   Wikipedia

  • Copernic Desktop Search — running on Windows XP Original author(s) …   Wikipedia

  • D* — This article is about a search algorithm. For the digital voice and data protocol specification, see D STAR. For the physical quantity, see Specific detectivity. Graph and tree search algorithms …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”