Typeahead
Encyclopedia
Typeahead is a feature of computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...

s and software (and some typewriter
Typewriter
A typewriter is a mechanical or electromechanical device with keys that, when pressed, cause characters to be printed on a medium, usually paper. Typically one character is printed per keypress, and the machine prints the characters by making ink impressions of type elements similar to the pieces...

s) that enables users to continue typing regardless of program or computer operation—the user may type in whatever speed he or she desires, 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.

Typeahead has its roots in the age of typewriters. The IBM Selectric typewriter
IBM Selectric typewriter
The IBM Selectric typewriter was a highly successful model line of electric typewriters introduced by IBM on July 31, 1961.Instead of the "basket" of individual typebars that swung up to strike the ribbon and page in a traditional typewriter, the Selectric had a type element that rotated and...

, 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 (computer science)
In computer science, a buffer is a region of a physical memory storage used to temporarily hold data while it is being moved from one place to another. Typically, the data is stored in a buffer as it is retrieved from an input device or just before it is sent to an output device...

"—a FIFO
FIFO
FIFO is an acronym for First In, First Out, an abstraction related to ways of organizing and manipulation of data relative to time and prioritization...

 queue, for instance—whose role it is to store a limited amount of keyboard
Computer keyboard
In computing, a keyboard is a typewriter-style keyboard, which uses an arrangement of buttons or keys, to act as mechanical levers or electronic switches...

 input until it is called for. Installing such a buffer can be done at both the hardware
Hardware
Hardware is a general term for equipment such as keys, locks, hinges, latches, handles, wire, chains, plumbing supplies, tools, utensils, cutlery and machine parts. Household hardware is typically sold in hardware stores....

 and the software levels; most modern operating systems, such as Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

, implement this using software, calling kernel interrupt
Interrupt
In computing, an interrupt is an asynchronous signal indicating the need for attention or a synchronous event in software indicating the need for a change in execution....

s.

In some network
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....

 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.

Other uses

Typeahead is also another name used in computing by interface designers and programmers for incremental search functionality, especially in website
Website
A website, also written as Web site, web site, or simply site, is a collection of related web pages containing images, videos or other digital assets. A website is hosted on at least one web server, accessible via a network such as the Internet or a private local area network through an Internet...

s, online applications and web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

s.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK