The Inquirer-Home

Closed source software hurts GUI development

Analysis Short term gain outweighs innovation
Thu May 06 2010, 15:46

AS OPERATING SYSTEMS increasingly become visual feasts, those who want to create useful interaction enhancements are having to bend over backwards thanks to closed source software in order to bring innovation to the user's environment.

Two bright young men from the University of Washington recently presented Prefab, a technology which they say will facilitate the implementation of "advanced behaviours in graphical interfaces". That in itself isn't particularly new but the route Prefab takes to implement well documented graphical user interface (GUI) techniques are a clear example of the lengths engineers have to go to circumnavigate the limitations posed by closed source software.

Given that Prefab, the system coined by Morgan Dixon and James Fogarty, has no access to the pre-compiled source code, the system effectively reverse engineers the GUI. That reverse engineering is merely the first of a three step process, allowing the system to overlay enhancements irrespective of the program or operating system and relay inputs back to the original "source" GUI.

To understand how Prefab works, one must look at how companies such as Apple and Microsoft put increasing demands on developers through the use of various APIs and toolkits to produce applications with similar 'look and feel'. The perceived visual affinity between applications helps breed familiarity and branding. Despite the largely symbolic link that exists on the surface, useful behavioural enhancements require much more than just a coherent colour scheme.

Advances in human computer interface are rarely the headline technologies such as Apple's Multitouch, Microsoft's Surface or even Xerox's PARC User Interface. These days, the majority of developments are far more incremental and aim to improve the user experiance by combining a number of what may seem insignificant technologies.

The researchers say that their system provides reliable and reproducible results due to the very "consistent look and feel" that applications have due to the reliance on development toolkits used to produce GUIs. Those toolkits typically have the same dialogue boxes, buttons and other "pre-fabricated" components used to create the GUI.

In order to create a system which is software agnostic, Prefab goes down to the most basic GUI element, the pixel. It performs a "pass" over the image to identify any potential areas or "hotspots" where enhancements can be applied. The pixels are then fed into a decision tree and determine whether the hotspot matches any known patterns in a generated library.

After confirming whether a particular area of the screen requires enhancements Dixon and Fogarty show the application of interface enhancements such as Bubble Cursor, Sticky Icons and Phosphor, and how input from the modified fields is passed back to the program, maintaining its integrity despite being reverse engineered.

It is the application of Phosphor, however, which is the most impressive. This enhancement, which produces an afterglow on, for example, a slider, was initially unveiled back in 2006 yet still remains difficult to implement. The difficulty lies in the method requiring almost instantaneous feedback to update the afterglow. Given the level of computation that has to take place this poses serious efficiency questions on the algorithm, questions which Prefab manage to answer, in the demonstration.

However the most impressive aspect of Prefab is its ability to transfer these techniques to non-standard operating system widgets. The researchers show the enhancements on a Youtube video player as an example of 'non standard' GUI buttons. The coup de grace for Prefab is its ability to extend its agnosticism by working on different operating systems. This is demonstrated by using VNC to connect to a machine running OS X and applying the same GUI enhancements, in real time, that are present on the local system with no modification.

However the sterling work being done by researchers such as Dixon and Fogarty, is being undermined by companies unwilling to embrace open source. One such "promising" enhancement which has yet to take off is the Side Views parameter spectrum. The technique simultaneously previews options for values of multiple parameters, similar to colour charts which show an automatic preview as the red, green and blue sliders are moved.

In order to demonstrate the technique, Dixon and Fogarty were forced to use the GNU Image Manipulation Program (GIMP) rather than Adobe's Photoshop because the researchers say "the open source implementation [of GIMP] allowed necessary modifications" and added that the closed source Adobe program "prevents researchers and practitioners from studying or deploying" techniques.

The problem isn't limited to just the parameter spectrum technique or Adobe Photoshop, with the researchers, absolutely correctly, calling out the way closed source software limits their innovation.

The idea that having closed source software somehow helps developers protect their investment is merely a short sighted view of the software development cycle. While protecting the source code may keep past achievements safe, the inability to harness the talent of researchers and the open source community is not only hurting their product but, ultimately, the users.

Prefab is simply one example of the lengths that innovators such as Dixon and Forgarty have to take in order to implement well documented and established technologies. Reverse engineering down to the fundamental display unit, the pixel, is impressive but ultimately inefficient.

But the inefficiency isn't due to poor quality work on the researchers' part. Rather, it stems from an endemic reliance by commercial developers on restricting access in order to protect their own short term business profits rather than taking a more enlightened approach to their long term business interests, not to mention serving the greater good for the industry and customers.

Prefab is an example of what can be achieved in open source projects such as Firefox and Linux, innovation without the barriers imposed by short sighted commercial greed. µ

 

Share this:

Comments
Open source isn't victimless either

If everything were to eventually become Open Source, it would become a type of programming communism. It would cheapen programmers, and present far less incentive to that segment.

It would just stagnate in a different way.

The way I see it, is that there needs to be a balance between closed and open source, not an extreme.

posted by : Casey, 15 May 2010 Complain about this comment
@ Steve T: they save "effects" for future "value".

"Effects like Phosphor are easy to add to existing controls. If OS developers saw value in them then they'd be included in assorted OSs by now."

Presumably minor things like getting and putting data in various places are already pretty well worked out in most OSs, so what can be trotted out as new to sell the next version? -- When improved reliability isn't visible and may even turn out horribly flawed. -- "New Features". Particularly M$ holds any real innovation back because it's *valuable* to them for the purpose of appearing to be "new and improved".

But there's very little new that's *generally* useful, which is why nothing much shows up in other OSs.

For example, I watched the Joojoo video, and while one is able to do some spiffy things with finger motions on a touch screen, those are pretty limited functions. To rename a file or do precise editing, problems arise with the interface itself. -- Besides that one has to learn a wide array of motions merely for the demo. -- And mistakes like flicking the wrong pile of images onto the Facebook icon probably aren't easy to cancel.

posted by : bigger_luddite, 07 May 2010 Complain about this comment
Intel Corp founder Dead at 85,,,,

Intel Inc Founder Dies. Bringing Us Tomorrow Has ended for Msr. Palevsky On Wednesday.In Beverly Hills.. Whom took Intel to Corporate Heights. Here by :

http://www.kansascity.com/2010/05/05/1927057/computer-magnate-and-philanthropist.html#ixzz0n8SND8IW

Strangely, Max Quite ?Computing game & Became Luddite, 1810 English Movement to Stop technology. Perhaps Computer Crashed. Dis appointment.

Still Intels' Run At World Domination Would Never of Latched if Max hadn't Economic Recovery Disc in Pocketbook, Marked for Intel.Like Santa, Max Was Old, 85 Years.

Max palevsky Last Words were:Give Everything To Drashek.

Uh,Huh.

On Less Bright Side of news, Max musts taken too many alkaseltzers, as wondered off into Politics & being part of Rolling Stone mgazine.

Max gave money away to people who ignored Msr. Palevsky. ?Smart. Then to end Carrer, Started Collection of Arts & Crafts. ?smart.Million Dollar Arts & Crafts.

Not In Mean Mood, Yet to Fall from Heights of Potential to No Mans Land, seems bit off key. Max pulled in cool 100 Million Flopping About. Max Should of Had Intel Inside Cranium. Or At Least Common Sense.

Well Times dictated Wierdos' in press, Howard Hughes, Drop Out, Give IT Up for Humanity, ALL Press headliners Deceptionist could play for Press. Max Wasn't Stu.pod, We are Stupid to Believe ysuch of ANY of Crude LifeStyle Peericulars. Probably TS Aspect of Computing Brought on Unique Veil of Maxs Disdain. Bully to Max.

posted by : MAX PALEVSKY ii, 07 May 2010 Complain about this comment
@devent

so from your own link Linux was 4.5 years behind OS X in getting a compositing window manager. The fact that Microsoft demonstrated compositing windows two years before Linux, but was very late in delivering Vista is also glossed over.

Effects like Phosphor are easy to add to existing controls. If OS developers saw value in them then they'd be included in assorted OSs by now.

posted by : Steve T, 06 May 2010 Complain about this comment
re

I'll say this again. If these GUI elements give competitive advantage why haven't they been fitted to open source projects like Linux?

Because nobody thought about it yet? Linux GUI doesn't lag innovation, on the contrary. For example, 3D effects with Compiz on Linux was two years before Vista's release. (http://en.wikipedia.org/wiki/Compositing_window_manager). Tablet support, multi-mouse, multi-touch, etc. are all available on Linux.

posted by : devent, 06 May 2010 Complain about this comment
@Rick

FOSS CAN mean big bucks, but mostly it doesn't. Linking a GNU.ORG article is hardly objective. Try this one from someone who RAN a FOSS company, and he agrees with me that it certainly doesn't work for all types of software product. http://www.businessweek.com/technology/technology_at_work/archives/2009/07/the_failure_of.html

Academic research also shows that, though bugs MAY be fixed faster in a FOSS environment, applications are not necessarily more functional or more reliable.

While I agree that software patents are anti-competative and a bad thing, the existence of the closed source model DOESN'T mean that FOSS software is in some way disadvantaged. The two should be able to compete on their merits, and developers should be free to pick the model that suits them best.

I'll say this again. If these GUI elements give competitive advantage why haven't they been fitted to open source projects like Linux?

posted by : Steve T, 06 May 2010 Complain about this comment
Free, open-source can mean big bucks

@ Steve

You may be confusing "free" and "open source" software. Both of these categories can be sold for a fee (and there are no "limits" to this fee), but people buying/obtaining it have a right to redistribute and modify the code -- to "improve it" -- as long as they give you back a copy of their modified code.

However, in closed-source, patented, proprietary code only one "user" (aka a corporation) has the ability to modify and improve the code. This can limit the quality of the software (look at the security record Microsoft Windows for an example here). They also presently seem to have the right to sue others who independently develop software which may have similar attributes to their "patented" ideas (see Apple's lawsuit against HTC, or the threatened attack on free video codecs for an example of how this can hinder, not help, innovation on a larger scale).

You can probably see how spreading software development over a larger surface of users via free and open-source software can help speed up development and enhance cooperation (instead of fostering fear and oppression between companies).

In terms of the "success" of free and open-source software, Android seems to be doing rather well, as is Linux in general (see RedHat's earnings for an example). One key to "monetizing" free/open source software lies in the "cloud" of pay-for (or advertising-supported) services that can be accessed by this free/open-source software (Android advertising and Android market, Ubuntu One store). This can also include service and support functions (such as Red Hat and Novell support contracts). "Apps" being sold via "app stores" to mobile or fixed devices can be free/open source, yet effectively monetized via the distribution channel. Developers of free and open-source software are making a great living (for example, just write an great app for the Android Market and watch the dollars roll in!).

Ironically, as further cloud-based services come on line, and we start to transition further and further away from a "fat client model" of computing, NOT giving away the "thin client" software to people to use to access services on the cloud may be the factor that causes a business (and it's developers who need to pay mortgages and put "meat on the table") to fail.

So I hope that this helps clear up how the author in this article was correct in that closed-source patented software IS hurting software development, impeding progress, and fostering a climate of fear, greed, and oppression instead of one of cooperation toward improving technology and the way we relate to one another (the new free/open-source way of doing business).

http://www.gnu.org/philosophy/selling.html

posted by : Rick, 06 May 2010 Complain about this comment
May I respectfully suggest

that the proprietors of this web site forbid Mr Latif from writing anything further under the heading of "Analysis" as he's just so BAD at it.

The behaviour of most of the controls in question are under the control of the operating system. Rather than faffing about trying to analyse individual pixels the developers of the OS (or the .NET framework for WPF apps) can include these behaviours in their source and ALL applications which use them will gain the capabilities. This is one of the joys of object oriented programming and both Microsoft and Apple have been using these abilities to add eye candy to their systems for years.

Secondly making code Open Source isn't the answer to all problems. SOME types of application can survive in an Open Source environment, others just won't repay the developers effort. Most developers work to put food on their tables and pay for minor luxuries like houses and cars. Forcing them all to go Open Source will result in many hungry and homeless developers. Call me old fashioned but I regard this as a bad thing. There is space in this world for both models, and if the worst you can say about closed source is that it will lack some flashy GUI enhancements then it's a price worth paying.

Meanwhile there are some completely open systems out there (Linux in it's many flavours for example). Why haven't they gained these magical capabilities in order to compete with the closed source competition? If it was just a case of lacking Open Source code that was preventing these ideas from being taken up then they have no excuse.

posted by : Steve T, 06 May 2010 Complain about this comment
GUIs aren't actually flexible.

As an example, I'm by now familiar wth "File Edit View..." being available in most programs and would like those menus and nav bar gone most of the time, toggled with right click on title bar. But because stupid M$ copied Apple's one-button method WAY WAY back, we're all stuck menus of that type wasting screen space *all* the time. M$ is only recently implementing such innovations as a floating ribbon bar, they dribble them out as slowly as possible.

posted by : bigger_luddite, 06 May 2010 Complain about this comment
aboutus
Advertisement
Subscribe to INQ newsletters
Advertisement
INQ Poll

Facebook starts selling shares

Will you buy Facebook shares?