Incremental search

Last updated
Screenshot of performing "Find as you type" in Mozilla Firefox. "ency" was being typed and the first matched text was highlighted in green. Firefox FAYT.png
Screenshot of performing "Find as you type" in Mozilla Firefox. "ency" was being typed and the first matched text was highlighted in green.

In computing, incremental search, also known as hot 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.

Contents

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.

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. [3] 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. "You can type in the Replace With box any word you want to find. As you type letters into the box, possible matches are displayed." [4] [5]

Variants

This feature, or variations thereof, has also been referred to as Autocomplete, 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 [6] ), 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.

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

Resource consumption

Incremental search on a non-local server, as in Web search, uses more network bandwidth and server processing than non-incremental search, due to the handling of XMLHttpRequests (or similar) which are typically fired from each onkeyup event.

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." [7]

Incremental search has been criticised for exhibiting low affordance, [8] 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
KWrite
Rekonq

Editors and development environments:

Other applications:

See also

Related Research Articles

The editor war is the rivalry between users of the Emacs and vi text editors. The rivalry has become an enduring part of hacker culture and the free software community.

An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop and NetBeans, do not.

<span class="mw-page-title-main">Vim (text editor)</span> Improved version of the Vi keyboard-oriented text editor

Vim is a free and open-source, screen-based text editor program. It is an improved clone of Bill Joy's vi. Vim's author, Bram Moolenaar, derived Vim from a port of the Stevie editor for Amiga and released a version to the public in 1991. Vim is designed for use both from a command-line interface and as a standalone application in a graphical user interface. Since its release for the Amiga, cross-platform development has made it available on many other systems. In 2018, it was voted the most popular editor amongst Linux Journal readers; in 2015 the Stack Overflow developer survey found it to be the third most popular text editor, and in 2019 the fifth most popular development environment.

<span class="mw-page-title-main">ChatZilla</span> IRC client

ChatZilla is an IRC client that is part of SeaMonkey. It was previously an extension for Mozilla-based browsers such as Firefox, introduced in 2000. It is cross-platform open source software which has been noted for its consistent appearance across platforms, CSS appearance customization and scripting.

<span class="mw-page-title-main">Autocomplete</span> Computing feature predicting ending to a word a user is typing

Autocomplete, or word completion, is a feature in which an application predicts the rest of a word a user is typing. In Android and iOS smartphones, this is called predictive text. In graphical user interfaces, users can typically press the tab key to accept a suggestion or the down arrow key to accept one of several.

<span class="mw-page-title-main">Tab (interface)</span> Interface component

In interface design, a tab is a graphical user interface object that allows multiple documents or panels to be contained within a single window, using tabs as a navigational widget for switching between sets of documents. It is an interface style most commonly associated with web browsers, web applications, text editors, and preference panels, with window managers and tiling window managers.

The following tables compare general and technical features of notable email client programs.

This article provides basic comparisons for notable text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.

Mozilla Firefox has features which distinguish it from other web browsers, such as Google Chrome, Safari, and Microsoft Edge.

Archy is a software system that had a user interface that introduced a different approach for interacting with computers with respect to traditional graphical user interfaces. Designed by human-computer interface expert Jef Raskin, it embodies his ideas and established results about human-centered design described in his book The Humane Interface. These ideas include content persistence, modelessness, a nucleus with commands instead of applications, navigation using incremental text search, and a zooming user interface (ZUI). The system was being implemented at the Raskin Center for Humane Interfaces under Raskin's leadership. Since his death in February 2005 the project was continued by his team, which later shifted focus to the Ubiquity extension for the Firefox browser.

In computing, caret navigation is a kind of keyboard navigation where a caret is used to navigate within a text document.

<span class="mw-page-title-main">Mozilla Application Suite</span> Discontinued Internet suite

The Mozilla Application Suite is a discontinued cross-platform integrated Internet suite. Its development was initiated by Netscape Communications Corporation, before their acquisition by AOL. It was based on the source code of Netscape Communicator. The development was spearheaded by the Mozilla Organization from 1998 to 2003, and by the Mozilla Foundation from 2003 to 2006.

Sprint is a text-based word processor for MS-DOS, first published by Borland in 1987.

<span class="mw-page-title-main">Features of the Opera web browser</span> List of software application features

This article details features of the Opera web browser.

IE7Pro is an add-on for Internet Explorer 6, 7, and 8 that aims to enhance the feature set provided by the browser. IE7Pro adds features such as tab enhancement, an ad blocker and flash blocker, mouse gestures, inline search, privacy enhancements, online bookmark service, Greasemonkey-like user script support, and plug-in support. IE7Pro is available in several languages – this is made possible by user translations.

Vimperator is a discontinued Firefox extension forked from the original Firefox extension version of Conkeror and designed to provide a more efficient user interface for keyboard-fluent users. The design is heavily inspired by the Vim text editor, and the authors try to maintain consistency with it wherever possible.

<span class="mw-page-title-main">Windows Search</span> Desktop search platform by Microsoft

Windows Search is a content index desktop search platform by Microsoft introduced in Windows Vista as a replacement for both the previous Indexing Service of Windows 2000 and the optional MSN Desktop Search for Windows XP and Windows Server 2003, designed to facilitate local and remote queries for files and non-file items in compatible applications including Windows Explorer. It was developed after the postponement of WinFS and introduced to Windows constituents originally touted as benefits of that platform.

<span class="mw-page-title-main">Firefox 2</span> 2006 web browser

Mozilla Firefox 2 is a version of Firefox, a web browser released on October 24, 2006 by the Mozilla Corporation.

<span class="mw-page-title-main">Search suggest drop-down list</span> Query feature used in computing

A search suggest drop-down list is a query feature used in computing to show the searcher shortcuts, while the query is typed into a text box. Before the query is complete, a drop-down list with the suggested completions appears to provide options to select. The suggested queries then enable the searcher to complete the required search quickly. As a form of autocompletion, the suggestion list is distinct from search history in that it attempts to be predictive even when the user is searching for the first time. Data may come from popular searches, sponsors, geographic location or other sources. These lists are used by operating systems, web browsers and various websites, particularly search engines. Search suggestions are common with a 2014 survey finding that over 80% of e-commerce websites included them.

References

  1. Ciccarelli, Eugene (January 1978). "An Introduction to the Emacs Editor". AI Memo No. 447. Retrieved 2009-06-16.
  2. Shapiro, Ezra (1989). "The Cat is Dead, Long Live the Interface". Language Technology Magazine. 13.
  3. Markoff, John (1992-03-30). "Wordperfect Executive Is Forced Out". The New York Times. ISSN   0362-4331 . Retrieved 2023-11-02.
  4. Using WordPerfect 5.2 for Windows. Que Development Group. January 1, 1993. p. 218. ISBN   9781565291669.
  5. "Google Books".
  6. "Patterns and search commands". Bram Moolenaar, SourceForge. 24 April 2006. Retrieved 1 August 2009.
  7. Raskin, Jef (2000-04-08). The Humane Interface . Addison-Wesley Professional. p.  126. ISBN   978-0-201-37937-2.
  8. Jesper Rønn-Jensen (2007-05-05). "Affordance of Autocomplete Text Fields". justaddwater.dk. Archived from the original on Mar 26, 2023.
  9. "Press Releases and Announcements". mozilla.org news. Archived from the original on 15 Apr 2013. Retrieved 2014-06-21.