acm-header
Sign In

Communications of the ACM

ACM News

What If All Software Was Open Source?


View as: Print Mobile App Share:
software program

Credit: iStockPhoto.com

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," says 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. He will demonstrate his system April 14 in Atlanta at ACM's Conference on Human Factors in Computing Systems.

"We really see this as a first step toward a scenario where anybody can modify any application," Fogarty says. "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."

These days a Web page might include a map from Google, an embedded video from YouTube and a list of recent headlines. This is not yet possible on the personal computer.

"Let's say I’m writing a paper in Microsoft Word but I want to listen to music at the same time," says co-author Morgan Dixon, a UW doctoral student in computer science and engineering.

Right now he would have to click back and forth 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 says, "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.

Empowering the Disabled

An 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. One 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 says. "That's why you don't see these tools out there."

His research allows people to personalize programs based on their needs.

The UW 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.

The researchers are continuing to develop Prefab and are exploring options for commercialization.

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.

The authors hope Prefab will spur development of new innovations.
"If you come up with a new technology, too often it's evaluated in a test environment," Fogarty says. "This lets researchers put it into practice in something real, like Photoshop or iTunes."

Prefab can also produce more advanced effects. One demonstration that will be presented at the conference creates multiple previews of a single image in Photoshop. Behind the scenes, Prefab moves the sliders to different points, captures the output and then displays all of them on a single screen. This could save time by showing a range of effects the user frequently adjusts.

The system could also allow programs to move from computer screens to mobile devices, which do not have a standard operating system.

"It dramatically lowers the threshold to getting new innovation into existing, complex programs," Fogarty says.

View the video "Prefab: What if We Could Modify Any Interface?"

Research has been funded by the Hacherl Endowed Graduate Fellowship in the UW Department of Computer Science & Engineering, a fellowship from the Seattle chapter of the Achievement Rewards for College Scientists, and Intel.


 

No entries found

Sign In for Full Access
» Forgot Password? » Create an ACM Web Account