Technology is designed for people to use. The only trouble is that computer interfaces on all types of devices from the home to the car can frustrate many users. But most software interfaces have been designed with a one-size-fits-all approach for mass markets.
It's a problem that has dogged computer scientists for more than 25 years. But now, researchers at the University of Washington have had a breakthrough of sorts that's allowed them to generate custom interfaces automatically optimised for each individual's preferences, such as vision, clicking movements and speed.
Simply put, the software runs the would-be user through a battery of skill tests, and then runs the data generated through a sophisticated set of mathematical algorithms to produce an optimised interface.
Researchers recall that "oh shit" moment of insight that inspired several years of dedicated work to solve the problem. Six years ago, the University of Washington campus was drenched in the colours of autumn foliage, and Krzysztof Gajos, a young doctoral computer science candidate, was meeting his advising Prof Dan Weld to discuss ideas for a thesis. The talk veered into the problems of user interfaces and how poorly they're designed and work for people.
The pair's shared disdain for poorly designed interfaces served as a catalyst for Gajos to focus his intellectual energy in overcoming a set of challenges that had stumped scientists for many years.
"We found that the software we used was designed for somebody else," says Gajos. "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."
Easier said than done. Automatically generating a user interface specifically optimised for individual preferences turns out to be a very complex problem. In fact, there are one hundred million billion different possible user interfaces, says Gajos.
To go through the possibilities you'd have to run 1,000 of them per second for one million years - a bit more computation than even blazing fast computers can handle at a reasonable cost. "This is a hard technical problem," says Gajos. Weld adds that "past approaches in computer science just hasn't worked."
Building a software interface is analogous to building a home. An architect takes into consideration all of the constraints involved in building a house, such as the geography, sun, soil, building guidelines and the future owner's personal likes and dislikes. And those elements are used by the architect to generate a design. Doing that same task automatically is tough.
Gajos overcame the problem by developing a set of software algorithms that automatically generates a user interface based on four basic user-defined parameters. First, it selects the optimal functional elements like buttons, pull-downs, lists etc. Second, it decides how to lay out those functional elements in a window.
Third, it decides how to divide the space into a single window or as separate tabs. And fourth, it selects the size of a button to be used. The genius of the Supple system is its ability to predict how often a user will use a certain element, how much time is saved by using certain elements and the overall impact to performance.
To gather that information, each person is put through a brief skills test that typically takes a few minutes. The Supple system then generates a mathematically based version of the user interface optimised for his or her vision and motor abilities.
One for all
The innovation harnessed by Gajos was coming up with a unique algorithm that combines artificial intelligence, optimisation approaches and decision theory. And it was the unique combination of those computer science techniques and economic theories that allowed Gajos to make it work.
A paper describing the system, Improving the Performance of Motor-impaired Users With Automatically-generated, Ability-based Interfaces, was presented at the July 15 meeting of the Association for the Advancement of Artificial Intelligence.
Gajos recently became a Microsoft Research fellow and will spend the next 11 months of a one-year stint working on Supple before heading next year to Harvard University to teach.
The impressive part of Gajos' work is how well the Supple system has done in closing the gap for end-users' likes and dislikes. Tests showed the system closed the performance gap between disabled and able-bodied users. The researchers believe Supple can generate user-interface applications for a wide variety of different devices and computer systems, including the mobile phone and PDAs. And the best part of the system is it generates the interface automatically and from scratch.
To make Supple work with today's existing operating systems and applications would require some serious renovation of the software programs. "We're not at the point where Microsoft can license the code and release it in the next version of its operating system ... it is a research prototype," says Weld.
Supple, however, does work with web-based applications without having to make modifications from the bottom up like is the case in other applications. "We're still a couple of years away before people could use this in a real application," says Gajos.
And when that day comes, it will surely help generate a sea change in the industry whereby the interface technology will no longer require people to mold to its parameters, but rather the technology will mold to the person.