Super User is a question and answer site for computer enthusiasts and power users. 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

On mobile devices we're used to our devices anticipating what we are typing and completing or correcting at least some of our mistakes, increasing text entry speed and, it is hoped, accuracy.

From T9, through intelligent keyboards on todays smartphones, through to the logical conclusion of something like Swype, mobile devices have gotten better and better at doing this, but I'm struck why this doesn't seem to have been pushed for desktop computing.

Yes, Word etc. can autocorrect as you type, but considering the horsepower available to a modern PC, even this pales in comparison to what a mid-range smartphone can do. So why isn't this enabled at the OS level for all text entry?

This is even more puzzling as I would imagine that it would be pretty easy to implement retaining all existing hardware. The OS would know what type of thing you were typing and treat them accordingly.

Do such solutions exist? If not, why not?

Edit: Perhaps driver is the wrong level, what about a library (DirectType?) that Microsoft or Apple would offer to perform this task for any application that needed it, with profiles for differing types of text?

share|improve this question

closed as not constructive by studiohack Feb 29 '12 at 15:14

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 7 down vote accepted

It has been done: "Dasher" is an example of using a semi-predictive input method for accessibility purposes. Generally accessibility is the only reason to do it, as people generally learn to type faster than they can interact with a predictive input system.

share|improve this answer

T9 is available when you type a short text message or write a mail. Your mobile phone is aware of what you are doing, so can enable or disable T9 depending on the context. A keyboard driver, on the other hand, doesn't know what are you doing.

T9 is useful when typing short text messages only. Try to type something other, and you will see the weakness of T9. For example, a developer who is writing a source code or a writer who is writing a novel, there is a huge difference for an auto-complete feature. This means that it is quite impossible to make a general auto-complete which will not be annoying most of the time. By the way, contextual auto-complete features are available. For example, Visual Studio, an application used by developers to write source code, puts suggestions of what you may want to type, which let you writing quickly and making fewer mistakes.

T9 was created because of the lack of a correct keyboard: typing using eight keys is not as easy as typing using a large, comfortable keyboard with plenty of keys. When you are typing on a PC keyword, I don't see any reason of having an auto-complete feature in Microsoft Word or Notepad, since it is much, much faster to type text without having your eyes fixed constantly on your screen (or your keyboard) and to have to deal with some auto-complete menus, popups, etc. It's just faster to write a few paragraphs, then check spelling, than to start writing a word, scroll through the list of suggested words, select the nearest suggestion, press Enter, probably correct the suggestion, and then start typing the next word.

share|improve this answer
You hit the nail right on the head. These are evil! I have one of them on my phone, despite the Qwerty keyboard. I hate it. It remembers anything ever typed, without prejudice, which leads to mostly suggesting a word in another language than the one I am currently typing in. And it obviously puts frequently typed words high on the list. Having bash commands suggested while writing an email to somebody stops being funny soon. Having my VPN password suggested in clear text when I type an email is criminally irresponsible. /nSorry for the emotion overabundance, but I had to let that out... – rumtscho Jul 23 '10 at 19:24

There is a clear division of responsibility between the driver and the software. The driver only gets the keypresses, passing this data to the software to process it.

The driver has no access to what is displayed. This limits its function - allowing software the flexibility to do anything with those keypresses - for example, when you press a letter you may be typing a word, you may be selecting a menu item by its name, or you may be issuing commands to your troops in your favourite game. How the keypress is processed depends on the software that you're currently in, not the driver.

Add to it that even in text entry fields, the autosuggest could be pulling data from a dictionary (of the currently selected language - also unknown to the keyboard), or from a database of last names, or from keywords of a programming language that you're coding in.

So it is both very difficult to do, and would also cause a lot of rigidity, if the driver was dealing with it. Having clear responsibility (the driver gets the keys, the application processes them) allows for much greater power than otherwise.

I hope this helps.

share|improve this answer

In addition to the above, the cost of a mental context switch to handle predictive text (i.e. deciding if that's the word you're really going to write when it suggests it) is bigger than reversing and retyping a word for those with reasonably high typing speed.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged .