Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In some data entry contexts, I've seen data typists, type really fast and know so well the app they use, and have a mechanic quality in their work so that they can "type ahead", ie continue typing and "tab-bing" and "enter-ing" faster than the display updates, so that in many occasions they are typing in the data for the next form before it draws itself. Then when this next entry form appears, their keystrokes fill the text boxes and they continue typing, selecting etc.

In contexts like this, this speed is desirable, since this persons are really productive.

I think this "type ahead of time" is only possible in desktop apps, but I may be wrong.

My question is whether this way of handling the keyboard buffer (which in desktop apps require no extra programming) is achievable in web apps, or is this impossible because of the way web apps work, handle sessions, etc (network latency and the overhead of generating new web pages ) ?

Edit: By "type ahead" I mean "keyboard type ahead" (typing faster than the next entry form can load), not suggets-as-you-type-like-google type ahead.

Typeahead is a feature of computers and software (and some typewriters) 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. This programming technique for handling user what is known as a keyboard buffer.

share|improve this question
Hmm, sounds like these data-entry folks need better computers... – lunchmeat317 Jul 2 '13 at 16:17
@lunchmeat317 I guess some database fetching or processing is done in order to draw the next entry form. Thus the delay. – Tulains Córdova Jul 2 '13 at 16:20
Have you ever used Google? – Jim G. Jul 2 '13 at 17:29
@JimG. No. I have never used Google. Tell me more about it. – Tulains Córdova Jul 2 '13 at 17:52
@JimG. You didn't read the question. If you read my question you can notice that by "type-ahead" I didn't mean Google "suggest-as-you-type" thing. I was asking about the first definition of "type-ahead" that predates Google and that has nothing to do with the image you showed me. Please read the question. – Tulains Córdova Jul 2 '13 at 18:04
up vote 6 down vote accepted

Keyboard type-ahead is already incorporated in web apps. The operating system does not distinguish between desktop apps and web apps, in that sense.

The real impediments to making web applications efficient are:

  1. Network latency; i.e. how long it takes to send data over the Internet, and

  2. The time it takes to generate new web pages to get to the next step in the business process.

These can be remedied, for the most part, by building web applications that use HTML5 to give the look, feel and impression of desktop applications, or by putting the whole form on a single web page. Then, all the user has to wait for is the application to save the data that the user has typed in.

share|improve this answer
How giving the look and feel of a desktop app remedies for network latency and page generation overhead ? – Tulains Córdova Jul 2 '13 at 16:14
it's not emulating the desktop that's important. it's eliminating page loads, so you don't have to force your user to wait. – DougM Jul 2 '13 at 16:34
@DougM: Right. You can do that by just putting the entire form on a single web page. It becomes less like a desktop application, though. – Robert Harvey Jul 2 '13 at 16:47

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.