IBM has donated source code to an open-source project in an effort to create more sophisticated development tools for building graphical interfaces.
Software consortium Eclipse on Tuesday announced that IBM's contribution will form the basis of the Visual Editor Project. The goal of the project is to expand the existing palette of tools software programmers use to design graphical user interfaces, or GUIs, for custom-built applications.
Founded in 2001 with a $40 million grant by IBM, Eclipse's open-source technology provides a common software foundation, or "framework," in which several tools can plug into and be used from a single programming application. For example, Eclipse software can accommodate different tools for coding, source-code management and building GUIs from a single viewer.
Eclipse is designed to work with several programming languages, but its primary focus has been Java. The Visual Editor Project intends to combine the work of open-source contributors to make Java-based GUI-builders, something that could not be done with the resources of one company, Eclipse said.
The code, which will be the starting point for the project, will be IBM's Visual Editor for Java, a subset of the capabilities available in Big Blue's WebSphere Studio programming tools, said Gili Mendel, manager of Visual Editor for Java.
Tools that automatically generate graphical elements, such as button or drop-down menus, have been around for a while. But the future of GUIs will involve slicker graphics, similar to Macromedia Flash format, as well as connections to back-end data sources, Mendel said.
"When you get down to details, it's a very hard problem," Mendel said. "No one company has the bandwidth and resources to spend on all the bells and whistles we'd like to have. By giving (this GUI builder code) to open source, we can build whatever we want on top of it."
The Java rift
The Visual Editor Project at Eclipse touches on a long-standing debate among some Eclipse members, most notably IBM and Java steward Sun Microsystems. Eclipse until now has provided tools for building GUIs based on technology called Standard Widget Toolkit (SWT), which enables developers to draw on the presentation capabilities specific to each operating system. However, the approach Sun favors and originally dictated in the Java specifications is called Swing, which creates an identical look across different operating systems.
The initial code for the Visual Editor Project will include a GUI builder for the Swing user interfaces. A set of GUI tools that work with the SWT guidelines is scheduled for delivery in the first half of 2004. Eclipse members have also agreed to create a system of interoperability between Swing and SWT, according to an IBM representative.
Sun, which has been pondering entry into the Eclipse consortium, applauded the decision to support the Swing application programming interfaces, or APIs, because they conform to Java standards. But Sun still has not come to terms with some fundamental issues with Eclipse that, if resolved, would open up the way for Sun's participation, said Joe Keller, Sun's vice president of marketing for Java Web services and tools.
"We're still trying to get to a conclusion on what the Eclipse group is and what it stands for, what its new name is going to be, and what kind of positions they are going to have on how they operate," Keller said. The Visual Editor Project "is a move in the right direction of moving to Java standards," he said.
By promoting both the Swing and the SWT graphical toolkits, Eclipse has not bridged the difference between the two approaches, which is something that has been attempted through Java standardizaton efforts, noted Stephen O'Grady, senior analyst at RedMonk. But having two options for building GUIs does invite more participation in Eclipse, particularly for independent software providers, he said.
"We've spoken with a few smaller providers who cited (Eclipse's) commitment to Swing as the primary obstacle to their adoption of Eclipse," O'Grady said. "By providing the ability to develop to Swing- or SWT-based interfaces, Eclipse would now be a viable option for firms that might have been reluctant to commit to Eclipse previously."