Miguel de Icaza, leader of the open-source GNOME (GNU Network Object Model Environment) desktop project, which intends to build a user-friendly desktop based on free software, this week previewed code that surpasses many of the sophisticated interoperability features of Macintosh and Windows systems.
One historical bugbear for Linux (and all Unix systems) is that it has traditionally lacked features for sharing information between applications. Although Mac and Windows users take clipboard and drag-and-drop file operations for granted, few desktop Unix applications can take advantage of such features. In fact, despite a 20-year head start, by the time a common Unix front-end, KDE, began to appear in commercial Unix releases, Windows 95 had already been released.
This doesn't please de Icaza much. "I want a system a five-year-old and my grandmother can just plug in and use. No Unix, no nothing," he says.
As sophisticated as OLE 2.0?
But both the GNOME and KDE teams want to do more than just make Linux easy to use. They want business users to have applications as sophisticated as the office suites they are familiar with today. To get there, however, application developers need building blocks -- and both parties are racing to producing their own.
Although he's a late starter in the race to provide a desktop environment, de Icaza this week showed interoperability features similar to those found in Microsoft's OLE 2.0 (Object Linking and Embedding) technology. It allows compound documents to be created -- composed of, say, an illustration created by one program, nested inside a document created by another.
GNOME's code draws heavily on a new core technology called Bonobo. Bonobo is an abstract model for creating components or chunks of code, which de Icaza says are comparable to ActiveX or JavaBeans. The technology's name is inspired by a species of chimpanzee, called Bonobo, discovered in 1929, de Icaza said. "Bonobo monkeys have sex six times a day. That's the idea. These components flip together," he says.
Gnumeric demo draws applause
De Icaza drew applause from developers at the LinuxWorld show in San Jose, Calif., Wednesday, with a demonstration of seamless in-place editing: manipulating an image within GNOME's Excel-compatible spreadsheet, Gnumeric. Although the code was clearly very new (a debug console displayed a stream of warnings), the demonstration exhibited none of the flickers and screen redraws familiar to those who use Windows OLE features.
And it didn't crash.
"This demonstration took a weekend to write," according to de Icaza, since much of the open-source software had already been written. "Bonobo is very simple."
Bonobo is only part of the building blocks GNOME plans to offer in its 2.0 release next Spring. High among them is a revamped display engine Pango, which is designed to improve on Unix's scruffy font rendering (it lacks anti-aliasing features to smooth font rendering at low point sizes) and Linux's poor print support.
Nat Friedman, co-founder of International GNOME Support, said Pengo supports most or all of the new graphics features planned for Microsoft's (Nasdaq:MSFT) Windows 2000, including the new SVG graphics file format.
World Wide Web Consortium (W3C) member Daniel Veillard has been enrolled to provide a layer for GNOME, called GDome, that's compliant with document object models, which will enable programmers to exchange information between different document types.
Other enhancements include Pilot connectivity, a Linux equivalent of Windows' Registry for storing system setup information.
KDE has head start
However KDE, which has a head start over GNOME and fronts the biggest Linux distributions today, has its own object model -- and plans of its own. The two parties were talking at LinuxWorld this week to ensure that KDE applications and GNOME applications would work together.
Eric Raymond, the lead open-source publicist, said users were well-served by the competition: "The protocols are open. You won't have the case where a proprietary vendor can lock everyone else out."