What if all software was open source? Anybody would then be able to add custom features to Microsoft Word, Adobe Photoshop, Apple iTunes, or any other program. A University of Washington project may make this possible.
"Microsoft and Apple aren't going to open up all their stuff. But they all create programs that put pixels on the screen. And if we can modify those pixels, then we can change the program's apparent behavior," said James Fogarty, a UW assistant professor of computer science and engineering.
His approach hijacks the display to customize the user's interaction with the program.
"We really see this as a first step toward a scenario where anybody can modify any application," Fogarty said. "In a sense, this has happened online. You've got this mash-up culture on the Web because everybody can see the HTML. But that hasn't been possible on the desktop."
"Let's say I'm writing a paper in Microsoft Word but I want to listen to music at the same time," explained co-author Morgan Dixon, a doctoral student in computer science and engineering.
Right now he would have to click back and for the between Word and iTunes, but the system he helped create can simply add a few iTunes buttons to the Word toolbar.
"I'm using some program that I love," Dixon said, "and I'm going to stick in some features from some other program that I love, so I have a more unified interface."
More importantly, having more control over widely used programs would allow people to benefit from accessibility tools that have been gathering dust in academic research labs.
One example is target-aware pointing, which can make many interfaces easier for people with muscular dystrophy, Parkinson's disease, cerebral palsy or other motor-control disabilities. On such tool, the bubble cursor, highlights the button closest to it, making it easier for people with disabilities to click a button without having to hit it dead on. Fogarty and Dixon show the first implementation of a bubble cursor in various commercial applications.
"The human-computer interaction community has done 30 years of research on how to make computers more accessible to people with disabilities. But no one change is perfect for everybody," Fogarty said. "That's why you don't see these tools out there."
His research allows people to personalize programs based on their needs.
The tool, named Prefab, takes advantage of the fact that almost all displays are made from prefabricated blocks of code such as buttons, sliders, check boxes and drop-down menus. Prefab looks for those blocks as many as 20 times per second and alters their behavior.
Prefab unlocks previously inaccessible interfaces, allowing people to add the same usability tool to all the applications they run on their desktop. The system could translate a program's interface into a different language, or reorder menus to bump up favorite commands.