Ok lets just accept that touch-screens are here to stay, they are in our cars, pockets, supermarkets, atms etc. Most of us are familiar with the on-screen qwerty keyboard and are able to compose text messages relatively quick. I draw the line at text messages, although htc desireHD and ipad are able to send and receive emails I point blank refuse to compose emails on the things. It takes me longer, I make more mistakes and it raises my blood pressure (may not be fact). I believe I’m not alone with my frustrations, many of us are able to touch-type quite the thing on the classic physical keyboard. Sadly this skill can’t be directly transferred to our touch-screen keyboards.
The background, I investigated touch typing during my undergraduate honours project. I learned about the different typing techniques people use, and developed a guitar hero / rock band style game that taught users how to touch type. The core of touch typing is the proper use of the ‘home keys’ (a,s,d,f,j,k,l,;). By resting your hands on the home keys you are able to locate your finger positions within the keyboard and therefore the relative position of the desired key. With enough practice your fingers will just find the keys without you thinking about it. So much so that I have know idea where the ‘c’ key is on the keyboard, but if you ask me to spell “CARROT” without looking I can. Your hands/ fingers will learn the sequences and shapes of keys and this is how you type without thinking about the keys. Now back to our touch-screens. If we rest our fingers on the home keys the device will interpret those touches as input. So we can’t use this technique to locate our finger positions within the keyboard, as a result we are unable to find the relative positions of the keys. My solution is to refine the technique slightly and take advantage of the advantages touch-screens provide us, by using the devices abilities to distinguish between a touch and a swipe. Our home keys are the middle row of three (forget numbers right now) so if you touch the screen then thats a middle row input. If you swipe up then you want a top row key, likewise swipe down is bottom row. So with my index finger on the right had I can touch ( j ), swipe-up ( u ) and swipe-down ( m ). You are still able to use the shapes and sequences you have acquired from touch typing on physical keyboards. Just need to remember to swipe and not lift your finger! The plan was to find an undergraduate to take on the project and take this simple idea and add some smarts, like character and word prediction to improve the efficiency and error rates. However I got a little bored the other night and built a basic version of the concept. I have currently mapped the qwerty keyboard to a series of gesture recognizers that interpret the touch/swipe inputs and output key-presses to a textview. No prediction yet, so I wont report on the error rates. But once I got over the desire to lift my fingers and started swiping, I managed to pick it up ok, and am now able to type my name, hello world and other generic sentences. So there you have it, my solution to touch-screen touch typing. Little rough I know, but its a start. Something to tie us over at least until someone much smarter than me make touch-screens with realistic haptic feedback.