rss
email
twitter
facebook

Monday, April 5, 2010

Prefab makes all software open source



Researchers from the University of Washington have managed to add customization and accessibility options to proprietary software without even touching the source code. Rather than alter program code, Prefab looks for the pixels associated with the blocks of code used to paint applications to a screen, grabs hold of them and then alters them according to whatever enhancements the user has chosen to apply. Any user input is then fed back to the original software, still running behind the enhanced interface.
Although open source software is playing an increasingly important part in our digital lives, most of still use commercial applications where the code running them is locked down tight and rarely caters for too much uncontrolled tinkering. But what if you want to control an MP3 player from within Microsoft Word or view lots of different possible Photoshop renderings all at the same time? Proprietary code will undoubtedly prevent you from doing such things.
Rather than trying to break into the program code and have to deal with ensuing legal challenges, James A Fogarty and Morgan Dixon from the University of Washington have come up with a way of manipulating just about any software application at the pixel level and effectively redrawing it together with any user interface enhancements or controls added in. "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 Fogarty.
Almost everything that appears on a display is made up of prefabricated blocks of code (such as buttons, dialog boxes, scroll bars and so on). The Prefab tool looks for such code blocks as many as 20 times per second and alters the way they behave. So adding elements from one program into another is made possible without so much as touching the code that runs either.

0 comments:

Post a Comment

linkbucks