Thursday, April 14, 2011

Paper Reading #22: Usability Guided Key-Target Resizing for Soft Keyboards

Comment 1: http://chi-jacob.blogspot.com/2011/04/paper-reading-22-usability-guided-key.html
Comment 2: http://chiblog.sjmorrow.com/2011/04/paper-reading-22-usability-guided-key.html

Usability Guided Key-Target Resizing for Soft Keyboards
Asela Gunawardana
Tim Paek
Microsoft Research
Redmond, WA 98052
Intelligent User Interfaces



In this paper we learn about a usability design by a group of workers at Microsoft research. With the advent of phone storming the market and being the computer that most people have closest to them at all times many people are starting to communicate with text and emails sent from phones more often. This requires the user to type into the phone more and more and phones are coming out with new phone-based keyboard or "soft keyboards". While there have been many improvements to soft keyboards none of them have ever considered making the keys larger as the user types to allow them to type more quickly and accurately. These users decided to implement this onto Android and iPhone devices and conduct user studies of speed and accuracy of typing. They implemented an algorithm that is called source-channel key-target resizing that uses Baye's law to predict what keys the user is near or likely to use and dynamically re-sizes them so the user can click them more easily. It then uses anchored dynamic key targets to help the user more accurately select the location on the keyboard and enter their character of choice. The user study showed that many people were at first rather taken with this but after getting more comfortable were actually rather satisfied with the dynamic resizing. They had the same set of users run tests on both regular soft keyboards for a control then had them type the same messages on phones that contained their dynamic resizing algorithm after they had become more comfortable with it. They found that users increased their typing speed and accuracy by nearly 18%. They used a Gaussian touch distribution for resizing the keys and for accuracy of touch and in their future work plan to look at other sorts of touch models and anchor sizes. They also plan to look at what they call 'finger touch points' to see if the keyboard can adapt to the users touch patterns. 



I think that this is a rather interesting approach to this kind of problem. We have been using dynamically re-sizing algorithms on our computers for a long time to try and save desktop space or to help navigate buttons and panels for a long time. While I do think that like any new typing method this will take people awhile to get used to it has some good aspects that can make it very usable by the average person. Typing on soft keyboard is a large source of frustration for many people and being able to have a system like this is perfect to help them overcome this. The idea of having the keys you want to press dynamically resizing themselves is a really good idea however I don't know if the users would like this if the phone was trying to predict what they were going to type, was wrong, and could not hit the key they wanted to hit. Despite this, I do think that this would have great integration with swype typing where the user would be able to roll over the key they want to press and the phone would re-size the keys near their finger so that they can more accurately hit the one in question. I think they did the user study well and even for the short time the users were able to use the keyboard they did see a significant improvement and I would like to see if their speeds and accuracy's go up even more if the users were left with the system for a number of days or weeks.  In all I thought this was a good article and study and I think that if my phone came with this I would be interested in trying it.

2 comments:

  1. I know existing phones already use a similar system (at least iOS devices), but I'd love for the system to get more accurate. I hope research like this continues.

    ReplyDelete
  2. I agree, this seems really useful but I wish they had talked a little more about the error handling for if the program guessed wrong.

    ReplyDelete