Incremental Text Search
   HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
, incremental search, also known as hot search, incremental find or real-time suggestions, is a
user interface In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
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 In user interface design, a modal window is a graphical control element subordinate to an application's main window. A modal window creates a mode that disables user interaction with the main window but keeps it visible, with the modal window ...
, such as a
dialog box In computing, a dialog box (also simply dialog) is a graphical control element in the form of a small window that communicates information to the user and prompts them for a response. Dialog boxes are classified as " modal" or "modeless", dep ...
, 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 Emacs (), originally named EMACS (an acronym for "Editor Macros"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
on
ITS ITS, its or it's may refer to: Language * It's, an English contraction of ''it is'' or ''it has'' * Its (pronoun), the possessive form of the pronoun it * Itsekiri language (ISO 639 language code its), a language found in Nigeria and the Niger De ...
in the late 1970s. This was one of the many essential Emacs features
Richard Stallman Richard Matthew Stallman ( ; born March 16, 1953), also known by his initials, rms, is an American free software movement activist and programmer. He campaigns for software to be distributed in such a manner that its users have the freedom to ...
included in his reimplementation,
GNU Emacs GNU Emacs is a text editor and suite of free software tools. Its development began in 1984 by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU ...
. Other noteworthy programs containing this functionality in the 1980s include bash and
Canon Cat The Canon Cat is a task-dedicated microcomputer released by Canon Inc. in 1987 for . Its appearance resembles dedicated word processors of the late 1970s to early 1980s, but it is far more powerful, and has many unique ideas for data manipulatio ...
. These early implementations offered single line feedback, not lists of suggestions. The first mainstream appearance may have been in the Speller for
WordPerfect WordPerfect (WP) is a word processing application, now owned by Alludo, with a long history on multiple personal computer platforms. At the height of its popularity in the 1980s and early 1990s, it was the market leader of word processors, disp ...
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. "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."


Variants

This feature, or variations thereof, has also been referred to as
Autocomplete Autocomplete, or word completion, is a feature in which an application software, application predicts the rest of a word a user is typing. In Android (operating system), Android and iOS smartphones, this is called predictive text. In graphical us ...
, 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 shortcut In computing, a keyboard shortcut (also hotkey/hot key or key binding) is a software-based assignment of an action to one or more keys on a computer keyboard. Most Operating system, operating systems and Application software, applications come ...
s for incremental find are Ctrl/Cmd-F (like for traditional find), F3, the
GNU GNU ( ) is an extensive collection of free software (394 packages ), which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operating systems popu ...
-style / (also applicable to Vim), or
Emacs Emacs (), originally named EMACS (an acronym for "Editor Macros"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
-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 TextMate is a free and open-source general-purpose GUI text editor for macOS created by Allan Odgaard. TextMate features declarative customizations, tabs for open documents, recordable macros, folding sections, snippets, shell integration, a ...
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 Google Search (also known simply as Google or Google.com) is a search engine operated by Google. It allows users to search for information on the Web by entering keywords or phrases. Google Search uses algorithms to analyze and rank websites ...
, 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
XMLHttpRequest XMLHttpRequest (XHR) is an API in the form of a JavaScript object whose methods transmit HTTP requests from a web browser to a web server. The methods allow a browser-based application to send requests to the server after page loading is complet ...
s (or similar) which are typically fired from each onkeyup event.


Reception

Interface expert
Jef Raskin Jef Raskin (born Jeff Raskin; March 9, 1943 – February 26, 2005) was an American human–computer interface expert who conceived and began leading the Macintosh project at Apple in the late 1970s. Early life and education Jef Raskin was bo ...
has been a strong advocate of incremental search. In his 2000 book ''
The Humane Interface ''The Humane Interface: New Directions for Designing Interactive Systems'' () is a book about user interface design written by Jef Raskin and published in 2000. It covers ergonomics, quantification, evaluation, and navigation. Contents The boo ...
'', 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." Incremental search has been criticised for exhibiting low
affordance In psychology, affordance is what the environment offers the individual. In design, affordance has a narrower meaning; it refers to possible actions that an actor can readily perceive. American psychologist James J. Gibson coined the term ...
, 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 browser A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
s: *
Firefox Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements curr ...
(since version 0.4) *
Opera Opera is a form of History of theatre#European theatre, Western theatre in which music is a fundamental component and dramatic roles are taken by Singing, singers. Such a "work" (the literal translation of the Italian word "opera") is typically ...
*
Opera Mini Opera Mini is a mobile web browser made by Opera. It was primarily designed for the Java ME platform, as a low-end sibling for Opera Mobile, but only the Android and Mocor OS builds was still under active development. It had previously been d ...
*
Safari A safari (; originally ) is an overland journey to observe wildlife, wild animals, especially in East Africa. The so-called big five game, "Big Five" game animals of Africa – lion, African leopard, leopard, rhinoceros, African elephant, elep ...
* Chrome *
Internet Explorer 8 Windows Internet Explorer 8 (IE8) is a web browser for Windows. It was released by Microsoft on March 19, 2009, and was the default browser on Windows 7 and Windows Server 2008 R2. It is the first version of IE to pass the Acid2 test, the last ...
*
Konqueror Konqueror is a Free and open-source software, free and open-source web browser and file manager that provides World Wide Web, web access and file viewer, file-viewer functionality for file systems (such as local files, files on a remote FTP ser ...
*
Midori Midori (みどり, ミドリ, , , ) is the Japanese word for "green" and may refer to: Places * Midori, Gunma * Midori-ku, Chiba * Midori-ku, Nagoya * Midori-ku, Sagamihara * Midori-ku, Saitama * Midori-ku, Yokohama People Given name * M ...
Instant messaging client Instant messaging (IM) technology is a type of synchronous computer-mediated communication involving the immediate (real-time) transmission of messages between two or more parties over the Internet or another computer network. Originally involvin ...
s: *
Adium Adium is a free software, free and Open-source software, open-source instant messaging client (computing), client for macOS that supports multiple IM networks, including XMPP (Jabber), IRC and more. In the past, it has also supported AOL Instant ...
*
Windows Live Messenger MSN Messenger (also known colloquially simply as MSN), later rebranded as Windows Live Messenger, was a Cross-platform software, cross-platform instant messaging client, instant-messaging client developed by Microsoft. It connected to the now-di ...
Modern
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
s: *
Apple An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
's
Mac OS X macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
:
Spotlight Spotlight or spot light may refer to: Lighting * Spot light, an articulating automotive auxiliary lamp * Spotlight (theatre lighting) * Spotlight, a searchlight * Stage lighting instrument, stage lighting instruments, of several types Art, ent ...
(which searches the entire computer) : Help menu ( 10.5 and newer) :
System Preferences System Settings (known as System Preferences prior to macOS Ventura) is an application included with macOS. It allows users to modify various system settings, which are divided into separate Preference Panes. The System Settings application ...
*
Microsoft Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
's
Windows Vista Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, released five years earlier, which was then the longest time span between successive releases of Microsoft W ...
and 7 : Start menu : Control Panel *
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
's
KDE 4 KDE Software Compilation 4 (KDE SC 4) was the only series of the so-called KDE Software Compilation (KDE SC), first released in January 2008. The final release was version 4.14.3 in November 2014. It was the follow-up to K Desktop Environment ...
desktop environment uses this systematically :
KWrite KWrite is a lightweight text editor developed by the KDE free software community. Since K Desktop Environment 3, Kwrite has been based on the Kate text editor and the KParts framework, allowing it to use many of Kate's features. KParts techn ...
: Rekonq *
BlackBerry OS BlackBerry OS is a discontinued proprietary mobile operating system developed by Canadian company Research In Motion (now BlackBerry Limited) for its BlackBerry line of smartphone handheld devices. The operating system provides multitasking ...
(version 6.0.0 and newer) Editors and development environments: *
Eclipse An eclipse is an astronomical event which occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ...
*
Emacs Emacs (), originally named EMACS (an acronym for "Editor Macros"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
*
IntelliJ IDEA IntelliJ IDEA () is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains (formerly known as IntelliJ) and is a ...
*
NetBeans IDE NetBeans is an integrated development environment (IDE) for Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Windows, macOS, Linux and Solaris. In addition to Java d ...
*
Sublime Text Sublime Text is a text and source code editor featuring a minimal interface, syntax highlighting and code folding with native support for numerous programming and markup languages, search and replace with support for regular expressions, an in ...
* Vim *
Visual Studio Visual Studio is an integrated development environment (IDE) developed by Microsoft. It is used to develop computer programs including web site, websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development ...
Other applications: *
Apple An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
's
iTunes iTunes is a media player, media library, and mobile device management (MDM) utility developed by Apple. It is used to purchase, play, download and organize digital multimedia on personal computers running the macOS and Windows operating s ...
* Google Toolbar 5 *
less Less or LESS may refer to: Computing * less (Unix), a Unix utility program * Less (style sheet language), a dynamic style sheet language * Large-Scale Scrum (LeSS), a product development framework that extends Scrum Other uses * -less, a priv ...
*
Windows Media Player Windows Media Player (WMP, officially referred to as Windows Media Player Legacy to retronym, distinguish it from Windows Media Player (2022), the new Windows Media Player introduced with Windows 11) is the first media player (application soft ...
* Quicksilver *
Blender A blender (sometimes called a mixer (from Latin ''mixus, the PPP of miscere eng. to Mix)'' or liquidiser in British English) is a kitchen and laboratory appliance used to mix, crush, purée or emulsify food and other substances. A stationary ...
's search menu (version 2.5 and newer) *
Clara.io Clara.io is web-based freemium 3D computer graphics software developed by Exocortex, a Canadian software company. The free or "Basic" component of their freemium offering, however, places severe restrictions, such as on saving models and importing ...
's explorer search menu


See also

*
Autofill Autocomplete, or word completion, is a feature in which an application software, application predicts the rest of a word a user is typing. In Android (operating system), Android and iOS smartphones, this is called predictive text. In graphical us ...
*
Autocomplete Autocomplete, or word completion, is a feature in which an application software, application predicts the rest of a word a user is typing. In Android (operating system), Android and iOS smartphones, this is called predictive text. In graphical us ...
*
Context-sensitive user interface A context-sensitive user interface offers the user options based on the state of the active program. Context sensitivity is ubiquitous in current graphical user interfaces, often in context menus. A user-interface may also provide context sensitiv ...
*
Combo box A combo box is a commonly used graphical user interface A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, gr ...
*
Search suggest drop-down list 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 optio ...
*
Snippet (programming) Snippet is a programming term for a small region of re-usable source code, machine code, or text. Ordinarily, these are formally defined operative units to incorporate into larger programming modules. Snippet management is a feature of some tex ...


References


External links


Keyboard Feature: Find As You Type
— Mozilla.

— Emacs.

— Eclipse.
Find As You Type Add-on
— Internet Explorer
Inline Search Add-on
— Internet Explorer
Tip #13 - Incremental search
— Vim {{DEFAULTSORT:Incremental Search User interface techniques Search engine software