BlindType — the Amazing Keyboard of the Future
kkleiner writes "BlindType has created a new touchscreen keyboard program of the same name that changes size, orientation, and position to match your wandering fingers as they type. BlindType also features some of the most impressive typing correction software I've ever seen. The result is a practical touchscreen interface that knows what you meant to type, even if you make mistakes. Lots of them. In fact, you can type without looking at the screen at all."
I've been typing without looking at the screen for my entire life!
"I'd rather be a lightning rod than a seismometer." -Ken Kesey
I really can't believe it took so long for them to make something like that, I figured that the Android/iPhone keyboard would look at finger movements on each key to try to see if you pressed in the center like you wanted that letter or far to the side like you didn't and adjust accordingly much like this. But I guess not.
Taxation is legalized theft, no more, no less.
I still find a touchscreen keyboard to be a bit wonkey...for me, it isn't an accuracy problem, but a tactile problem.
Living With a Nerd
If you can't type on a keyboard without looking at it, you're doing it wrong.
This is not the penguin you're looking for.
In fact, you can type without looking at the screen at all.
Gee, that's new! Typists from decades ago were able to do just that. It was called "training" and "expertise".
Seriously, though, I expect two distinct problems with this:
1) How well will it handle "non-US slopiness"? Sloppy typing in Spanish (etc.) is quite different from typical english-language slopiness.
2) IT'S NOT A MODEL M KEYBOARD!!! There, I said it. I don't care for "the keyboard of the future" if the "keyboard from the past" is still alive and well and functioning nicely. Actually, make that "the keyboard from the past and present". :-P
"Trust me - I know what I'm doing."
- Sledge Hammer
As standard spell check has already "corrected" my spelling into sending out requests for dates to my entire department, telling my boss I was flatulent and created numerous marital misunderstandings, I'm not sure I'm at all wanting to use this. Sometimes its best just to leave the typo so the reader can wonder what I meant, and not think I meant what the computer wondered.
I can type on swype without looking with ease.
I've tried this. It constantly replaces VI commands with "I'm an erudite prick". I didn't have the courage to try emacs...
FTFY.
I figured that the Android/iPhone keyboard would look at finger movements on each key to try to see if you pressed in the center like you wanted that letter or far to the side like you didn't and adjust accordingly much like this
The iPhone keyboard does actually take a lot of slop into account - if you type and shift to accidentally press other keys, the final word will correct based on keys that were almost where you hit, so that you don't have to be totally precise - the correction is pretty good on the iPhone and lets you type pretty fast as long as you trust the corrections.
BlindType is more impressive though, since it's all dynamic and doesn't rely on keys to be in a fixed position - yet seemingly works just as well. The only downside to BlindType for actual blind typing is, I'm not sure how many people touch-type well enough already to use it without a visual reference. But you can simply leave up the keyboard in that case.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Oh, in that case, probably "I'm an erudite GNU/prick".
Let's think of how they might have designed the algorithm for this. In the videos, it looks like it is treating one word at a time, so let's consider that scenario here as well. I would define the problem as assigning to every possible word the probability that it is the word the user intended. I would use Bayes' theorem to achieve this.
First, assume a prior probability distribution over all words. Words not in our dictionary, and words of the wrong length, we give probability zero. The remaining words can be assigned equal probability or, better, a probability proportional to their frequency in the language. If you want to be fancy, you could have more sophisticated models that knows which words are likely to come after others and such things.
Second, for each candidate word, what is the probability that the user would tap the screen as they just did? A model for this could be that the location of each tap is drawn from a Gaussian probability distribution centred at the intended letter with a known standard deviation and that each tap's deviation from its target is independent of the others'.
Finally, Bayes' theorem states that the posterior probability (the one we want to calculate) of each word is the word's prior probability (from step one) times its likelihood (the probability of step two).
To implement the arbitrary position, orientation and size of the keyboard, we redefine the problem from finding the probability of each candidate word to finding the probability of each tuple (intended word, keyboard position, keyboard orientation, keyboard size). Make it simple; have each element of this tuple to be independent of the other and use flat distributions for all keyboard parameters. To choose the most likely word, you could either pick the word of the most likely tuple or, more correctly, for each candidate word, integrate over all possible keyboard parameters (weighted with their prior probabilities) to get the probability of that word. Likewise, you could introduce the standard deviation of the taps as another element of the tuple, with its own prior distribution.
I suspect this method is a bit to heavy on computation cost and power consumption, so if you cannot find a clever way to do it fast, you might have to cut corners in the rigor (or do something completely different).
(Can I come work for them now?) :-)
Swedish plasma phys. PhD student; MSc EE; knows maths, programming, electronics; finance interest; seeks opportunities
Abcd1234 wrote:
I'm calling bullshit.
There's no way you use both Vi *and* Emacs.
One word: viper. See http://www.gnu.org/software/emacs/manual/html_mono/viper.html#Top for details.
how would this allow you to type a nonsense password? Also, I noticed a lack of special keys and numbers but hey, guess it's still in development.