Autocomplete

Autocomplete speeds up human-computer interactions when it correctly predicts the word a user intends to enter after only a few characters have been typed into a text input field.

[5][6] Some search returns related to genitals or other vulgar terms are often omitted from autocompletion technologies, as are morbid terms[8][9] The autocomplete and predictive text technology was invented by Chinese scientists and linguists in the 1950s to solve the input inefficiency of the Chinese typewriter,[10] as the typing process involved finding and selecting thousands of logographic characters on a tray,[11] drastically slowing down the word processing speed.

These programs monitor user keystrokes and suggest a list of words based on first typed letter(s).

It was initially developed for medical transcriptionists working in WordPerfect for MS/DOS, but it now functions for any application in any Windows or Web-based program.

Shorthand, also called Autoreplace, is a related feature that involves automatic replacement of a particular string with another one, usually one that is longer and harder to type, such as "myname" with "Lee John Nikolai François Al Rahman".

Several Autocomplete programs, standalone or integrated in text editors, based on word lists, also include a shorthand function for often used phrases.

The main advantage of context completion is the ability to predict anticipated words more precisely and even with no initial letters.

It has been shown that the autofill feature of modern browsers can be exploited in a phishing attack with the use of hidden form fields, which allows personal information such as the user's phone number to be collected.

Generally, there are a small number of frequently used e-mail addresses, hence it is relatively easy to use autocomplete to select among them.

The challenge remains to search large indices or popular query lists in under a few milliseconds so that the user sees results pop up while typing.

Autocomplete has now become a part of reputation management as companies linked to negative search terms such as scam, complaints and fraud seek to alter the results.

In a source code editor, autocomplete is greatly simplified by the regular structure of the programming language.

There are usually only a limited number of words meaningful in the current context or namespace, such as names of variables and functions.

It involves showing a pop-up list of possible completions for the current input prefix to allow the user to choose the right one.

The source material for autocompletion is either gathered from the rest of the current document or from a list of common words defined by the user.

Currently Apache OpenOffice, Calligra Suite, KOffice, LibreOffice and Microsoft Office include support for this kind of autocompletion, as do advanced text editors such as Emacs and Vim.

For example, if the only file in the current directory that starts with x is xLongFileName, the user may prefer to type x and autocomplete to the complete name.

If there were another file name or command starting with x in the same scope, the user would type more letters or press the Tab key repeatedly to select the appropriate text.

[2] The vertical layout is meant to keep head and eye movements to a minimum, and also gives additional visual cues because the word length becomes apparent.

[25] Although many software developers believe that if the word prediction list follows the cursor, that this will reduce eye movements,[2] in a study of children with spina bifida by Tam, Reid, O'Keefe & Nauman (2002) it was shown that typing was more accurate, and that the children also preferred when the list appeared at the bottom edge of the screen, at the midline.

Example of the partially typed search term baby st being autocompleted to various options
Autocomplete of the search box in Mozilla Firefox
Code completion in Qt Creator 5.0: The programmer types some code, and when the software detects a recognizable string such as a variable identifier or class name it presents a menu to the programmer which contains the complete name of the identified variable or the methods applicable to the detected class, and the programmer makes a choice with her or his mouse or with the keyboard arrow keys. If the programmer continues typing without making a choice, then the menu disappears
Command-line completion in PowerShell .