ArticleslgStudy

computer science

Incremental search

Incremental search is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Incremental search rather than just read about it. In short: 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.

Incremental search — main illustration
Incremental search — illustration

Key takeaways

  • Incremental search belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Incremental search to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Incremental search from memory before moving on to harder problems.

Reference excerpt

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. 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. 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. 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. "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, 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), F3, the GNU-style / (also applicable to Vim), 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.

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." Incremental search has been criticised for exhibiting low affordance, 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:

Firefox (since version 0.4) Opera Opera Mini Safari Chrome Internet Explorer 8 Konqueror Midori Instant messaging clients:

Adium Windows Live Messenger Modern operating systems:

Apple's Mac OS X Spotlight (which searches the entire computer) Help menu (10.5 and newer) System Preferences Microsoft's Windows Vista and 7 Start menu Control Panel Linux's KDE 4 desktop environment uses this systematically KWrite Rekonq BlackBerry OS (version 6.0.0 and newer) Editors and development environments:

Eclipse Emacs IntelliJ IDEA NetBeans IDE Sublime Text Vim Visual Studio Other applications:

Apple's iTunes Google Toolbar 5 less Windows Media Player Quicksilver Blender's search menu (version 2.5 and newer) Clara.io's explorer search menu

See also Autofill Autocomplete Context-sensitive user interface Combo box Search suggest drop-down list Snippet (programming)

References

External links Keyboard Feature: Find As You Type — Mozilla. Incremental Search — Emacs. Using Incremental Find — Eclipse. Find As You Type Add-on — Internet Explorer Inline Search Add-on — Internet Explorer Tip #13 - Incremental search — Vim

Illustrations

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.
Screenshot of performing "Find as you type" in Mozilla Firefox. "ency" was being typed and the first matched text was highlighted in green.

Worked examples

Example 1 — a first encounter with Incremental search

Start with the simplest possible case. Write down what Incremental search claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Incremental search before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Incremental search ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Incremental search

In research
Incremental search appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Incremental search in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Incremental search is common in secondary-school and first-year university syllabi. It links to neighbouring topics Search engine software, User interface techniques, so understanding it makes those chapters shorter.
In everyday life
Look for Incremental search outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Incremental search” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Incremental search in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Incremental search means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Incremental search out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Incremental search in simple terms?

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…

Why does Incremental search matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Incremental search?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Incremental search.

Tags

  • Search engine software
  • User interface techniques

Keep exploring