Channels ▼


Creating Custom Interfaces

Insert your key in the ignition of a luxury car and the seat and steering wheel will automatically adjust to preprogrammed body proportions. Stroll through the rooms of Bill Gates' mansion and each room will adjust its lighting, temperature and music to accommodate your personal preference. But open any computer program and you're largely subject to a design team's ideas about button sizes, fonts and layouts.

Off-the-shelf designs are especially frustrating for the disabled, the elderly and anybody who has trouble controlling a mouse. A new approach to design, developed at the University of Washington, would put each person through a brief skills test and then generate a mathematically-based version of the user interface optimized for his or her vision and motor abilities.

"Assistive technologies are built on the assumption that it's the people who have to adapt to the technology. We tried to reverse this assumption, and make the software adapt to people," says Krzysztof Gajos, who along with Dan Weld and Jacob Wobbrock wrote the paper Decision-Theoretic User Interface Generation.

Tests showed the system closed the performance gap between disabled and able-bodied users by 62 percent, and disabled users strongly preferred the automatically generated interfaces.

"This shows that automatically generating personalized interfaces really does work, and the technology is ready for prime time," Weld says.

The system, called Supple, begins with a one-time assessment of a person's mouse pointing, dragging and clicking skills. A ring of dots appears on the screen and as each dot lights up, the user must quickly click on it. The task is repeated with different-sized dots. Other prompts ask the participant to click and drag, select from a list, and click repeatedly on one spot. Participants can move the cursor using any type of device. The test takes about 20 minutes for an able-bodied person or up to 90 minutes for a person with motor disabilities.

An optimization program then calculates how long it would take the person to complete various computer tasks, and in a couple of seconds it creates the interface that maximizes that person's accuracy and speed when using a particular program.

Researchers tested the system last summer on six able-bodied people and 11 people with motor impairments. The resulting interfaces showed one size definitely did not fit all.

A man with severe cerebral palsy used his chin to control a trackball and could move the pointer quickly but spastically. Based on his skills test, Supple generated a user interface where all the targets were bigger than normal, and lists were expanded to minimize scrolling.

By contrast, a woman with muscular dystrophy who participated in the study used both hands to move a mouse. She could make very precise movements but moved the cursor very slowly and with great effort because of weak muscles. Based on her results, Supple automatically generated an interface with small buttons and a compressed layout.

"There is a temptation to think that we can come up with a universal design. But if we look at the results, the design that helps one person will actually be hurtful to a person with a different set of abilities," Gajos says.

"From an accessibility standpoint, it's always better to change the environment, rather than use specialized assistive technologies," says Kurt Johnson, a UW professor of rehabilitation medicine who coordinated the tests. "Supple could be useful for many people with limitations in function, ranging from the elderly, to people with low vision, to people with hand tremors."

The program could also be used to create interfaces that can adapt to different sizes of screen, for example on handheld devices.

But deploying this system would require a radically different approach to designing computer interfaces, Gajos says. He predicts the first applications are likely to be for Web-based applications. The researchers also plan to look at adapting interfaces that were designed in the traditional way into ones that Supple can use.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags


<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags


<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

