Vibrative Virtual Keyboard

A virtual keyboard that uses an iPhone’s built-in accelerometer to detect “keystrokes”. The virtual keyboard makes use of the iPhone’s accelerometer, which is able to measure the vibrations on a surface caused by typing. It is then the task of the software to determine which key was pressed.

In the first part of the video, the virtual keyboard being trained. It collects examples of all the keys on the virtual keyboard. When it later detects a keystroke, it can compare the new data to the training data and figure out which key has most likely been pressed.

The software is not perfect at doing this, in fact it almost always makes a mistake. However, the errors are usually not too far off from the correct key. Therefore, the software can “assume” what the user intended to write even from erroneous input, by using a spell checking algorithm.

The idea came from being frustrated with the tiny onscreen keyboard when writing longer emails. The concept of a Virtual Keyboard is by itself not a novel idea. But all the available solutions require an extra device to be carried around. With all the sensors already built into current smartphones I imagined it should be possible to develop a virtual keyboard without additional hardware.

I developed the Vibrative Virtual Keyboard as the final project of my MSc in Cognitive Computing at Goldsmiths. Download the thesis here for a detailed account of the development process.
Although the project received quite a bit of media attention, I never went on to turn this into an app. Mainly because I found the recognition rate still too low for actual use. However, I developed the keyboard using 2012 hardware, so it might as well be possible to achieve better result with current smartphones.