Typeahead is a feature of
computer
A computer is a machine that can be Computer programming, programmed to automatically Execution (computing), carry out sequences of arithmetic or logical operations (''computation''). Modern digital electronic computers can perform generic set ...
s and
software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
(and some
typewriter
A typewriter is a Machine, mechanical or electromechanical machine for typing characters. Typically, a typewriter has an array of Button (control), keys, and each one causes a different single character to be produced on paper by striking an i ...
s) that enables users to continue typing regardless of program or computer operation—the user may type in whatever speed is desired, and if the receiving software is busy at the time it will be called to handle this later. Often this means that keystrokes entered will not be displayed on the screen immediately. This programming technique for handling uses what is known as a
keyboard buffer.
Typeahead has its roots in the age of typewriters. The
IBM Selectric typewriter
The IBM Selectric (a portmanteau of "selective" and "electric") was a highly successful line of electric typewriters introduced by IBM on 31 July 1961.
Instead of the "basket" of individual typebars that swung up to strike the ribbon and page ...
, first released in 1961, had a mechanical key lockout feature designed to smooth out typists' irregular keystrokes
that, to many users, felt like typeahead.
Achieving true typeahead requires maintaining a so-called "typeahead
buffer
Buffer may refer to:
Science
* Buffer gas, an inert or nonflammable gas
* Buffer solution, a solution used to prevent changes in pH
* Lysis buffer, in cell biology
* Metal ion buffer
* Mineral redox buffer, in geology
Technology and engineeri ...
"—a
FIFO queue, for instance—whose role it is to store a limited amount of
keyboard input until it is called for. Installing such a buffer can be done at both the hardware and the
software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
levels; most modern operating systems, such as
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
, implement this using software, calling
kernel interrupt
In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted ...
s.
In some
network operations, one might attempt to dispatch information over a network, regardless whether the receiving program manages to keep up, using the recipient's typeahead functions. However, as this is far too reliant on the specifications of the computer with which one is communicating, it is not often used.
See also
*
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 ...
, where the computer predicts the remainder of a command
References
{{Reflist
Typing
User interface techniques