Advertisement: Support LinuxWorld, click here!

LinuxWorld

 

 LinuxWorld Magazine
   LinuxWorld home
   Subscribe to LinuxWorld
   Search
   
     Tapping the Source:
 LinuxWorld Expo info
 and coverage

   Virtual message board

   Software round ups:
   Desktop applications
   Server software
   Development tools
   Submit your software

   Notification Service:
   Inform me of new
   Tapping the Source
   features
   
   




 

Advertisement

 Desktop

Get GNOME at LinuxWorld Expo

Look for copies of an early release of the next GNOME desktop at LinuxWorld Expo

Summary
The GNU Network Object Model Environment is an open source development effort that will be a framework to hang desktop apps on as they're developed for Linux, complete with a friendly GUI for easy file and app management. (1,500 words)
By Judy DeMocker

GNOME, which stands for GNU Network Object Model Environment, is an open source development effort -- a part of the GNU project -- that's just over a year in the making. When it is fully functional, the desktop software will

  • Provide a framework for a new generation of desktop applications that will run on the Linux operating system

  • Offer a user-friendly graphical interface so that nontechnical users can manage files and applications in a familiar way

It will also include some applications, such as e-mail, and games such as Tetris, Freecell, and Mahjongg.

"GNOME will enable more end users to start using free software," said GNOME creator Miguel de Icaza in an e-mail interview. De Icaza is a student and system administrator in Mexico City. "The objective of GNOME is to give users freedom, the kind of freedom they get from software licensed under the terms of the GNU General Public License (GNU GPL)."

GNOME is created using a widget tool called Gtk. Gtk handles the buttons and sliders, and largely determines the look and feel of the desktop.

The power of GNOME and Gtk is that they're entirely open source, so anyone who wants to can contribute to the code base. "Any developer anywhere, from Microsoft to Corel to some little guy in his backyard, can develop using this application framework without having to pay license fees," said de Icaza.

GNOME's not alone
Of course, GNOME isn't the only desktop under construction for Linux. Another project, called K Desktop Environment (KDE), already has a head start on creating an intuitive interface modeled on Windows.

KDE uses Troll Tech AS's Qt widget toolkit, which was criticized by members of the open source community who claimed Troll Tech's licensing for Qt wasn't open source-compliant. Responding to this criticism, Troll Tech released an open source version of Qt in November 1998.

The power of open source for non-techs
open source development efforts have yielded a half-dozen freeware operating systems that were produced in the grassroots, everyone-owns-them way. They include the various flavors of Linux (and there are many) and the Berkeley Unix derivatives.

But until now, no one but hardcore code monkeys have been able to install and maintain such systems, even though they are more stable than Microsoft Windows. The finished GNOME will provide a consistent, easy-to-use desktop system that should take the fear and aggravation out of Linux, making it appropriate for PC users with little or no experience with computers, according to de Icaza.

It's not just hobbyists and developers who are contributing time and energy to the project. Commercial software companies such as Red Hat, Caldera, SuSE, and Pacific HiTech build, sell, and support their versions of Linux.

And commercial software companies like Corel are porting their PC applications to Linux. A bare-bones version of WordPerfect Office is already available, and Corel estimates more than 600,000 copies of the word-processing program have been downloaded from its Web site in recent months. The response was so overwhelming that later this year, Corel intends to complete the Office suite of products with Linux ports of the newest versions of Quattro Pro, Corel Presentations, and CorelCENTRAL. Early in 2000, the company plans to ship Linux versions of CorelDRAW and PHOTO-PAINT.

On the server side, Linux has been steadily gaining momentum as an alternative to Windows NT. The open source operating system has been an easy sell to hardware vendors IBM, Dell, Compaq, and Hewlett-Packard, because those companies are already installing and supporting Windows at their own expense.

Getting (and delivering to customers) a more stable and less expensive alternative to Windows on PC systems also makes a compelling case for offering Linux on PCs.

In this GNOME
What's in the upcoming version of GNOME? A lot of framework and a few desktop utilities. The graphical components include pretty buttons and an applications toolbar. And there's a file-management system, similar in action to the one Windows uses, that lets users drag and drop icons from one directory to another.

"It's pretty much done," said Carsten Haitzler, developer at Red Hat in North Carolina. "It's got memory meters, task bars, and interesting goofy things in the panel to gawk at all day long."

GNOME also has a startup menu that will launch a list of applications when users turn the computer on, much as in Windows 98 and KDE, according to Haitzler. And it has a small but growing set of applications, including a calendar program, spreadsheet, and utilities. There's a cross-platform e-mail client called M that should be fully ready when GNOME ships commercially.

A threat to Microsoft?
Linux has a ways to go before all the pieces are in place for it to challenge Microsoft as a PC operating system.

Linux will need to assemble a rich set of applications, including a full-scale suite of front-office applications that includes a word processor, e-mail, spreadsheet, and accounting programs similar to Intuit's Quicken and TurboTax. So far, the open source community has created Gnumeric, an Excel-like spreadsheet, and GIMP (for GNU Image Manipulation Program), a Photoshop-like image-manipulation program.

Gnumeric is especially important because, according to de Icaza, it is the testbed for various technologies that are being developed as part of the GNOME desktop:

  • The GNOME canvas
  • The GNOME printing architecture
  • The GNOME Object Request Broker, ORBit
  • The Baboon object model
  • The Bonobo document model

The GNOME canvas
The GNOME canvas is a high-level rendering engine that allows application programmers to quickly produce better GUI applications by taking care of many boring and complex graphic tasks.

The GNOME canvas provides rendering and event managing for low-level components called Canvas Items. There are a number of stock Canvas Items shipped with GNOME: text, lines, rectangles, circles, polygons, images, and a special Item that embeds other GNOME components.

The canvas is extensible, which means you can provide specialized Items for your application: The Gnumeric rendering engine is implemented as four specialized Canvas Items.

The GNOME canvas runs in two modes -- a fast mode and a slow, high-quality mode. The high-quality mode provides alpha-channel composition, so items can have transparency, and it does antialiasing on the item, so that it appears clearer on screen.

The GNOME printing architecture
For a long time the Unix community ignored the issue of a printing architecture. GNOME provides such an architecture and the tools required to enable applications to render high-quality output on a number of printing devices.

The printing system connects to the canvas and to the canvas rendering engine, greatly simplifying programmers' lives by making printing-preview code creation a lot simpler.

The printing architecture isn't part of the GNOME 1.0 release since it's still being refined, but it can be obtained from the GNOME site. It's an optional component that can be plugged into existing GNOME applications that have printing support.

ORBit, the GNOME Object Request Broker
When it came to adding an object request broker (ORB), the plan was to use Xerox's ILU, which had a chief benefit of multilingual support. But Xerox's plan for its development wasn't clear, and the GNOME team couldn't get Xerox to modify the license agreement to make it open source.

Next, the team decided on MICO -- it has an object adaptor (provides the channel through which an object server communicates with the ORB), it's IIOP-compliant, and it's licensed under the GPL. The catch: It's a memory hog and only supports C++.

The GNOME team decided to built its own ORB, ORBit. Although ORBit only supports C now, plans are in play for multilingual support. It also supports GIOP/IIOP, the OMG's CORBA protocol that allows different ORBs to be able to talk to each other.

To make ORBit fast and low-memory, the team took a page from the Flick book.

The Baboon object model
The GNOME community is working hard on developing an object model called Baboon, a set of interfaces and library routines used to simplify and integrate applications. Based on CORBA and similar to Microsoft's Object Linking and Embedding version 2 (OLE2), Baboon will allow programmers to export and/or import componentized resources.

This, for example, would allow users to use whatever editor they like in their development environment, provided that their editor supported, via CORBA, a standardized editor interface.

The Bonobo document model
The Bonobo document model enables users to create compound documents in GNOME. This is similar in spirit to Microsoft's OLE/Active X and it is similar to OpenDoc. The engine that glues components together is called CORBA, and the GNOME team is using its own slim and fast implementation of it called ORBit. (See above subsection for more information on ORBit.) Bonobo is the support library that provides the document framework on top of CORBA.

GNOME at the show
Look for copies of an early release of the GNOME desktop at the Expo. Although Linux vendor Red Hat won't be releasing the final version until Red Hat Linux 6.0 ships later this year, the company will be giving sneak previews of the desktop environment, handing out CD-ROMs of GNOME with version 5.2 of its operating system.

Discuss this article in the LinuxWorld forums (4  postings)
(Read our forums FAQ to learn more.)

About the author
Judy DeMocker is a freelance writer in San Francisco.

 
Tell us what you
thought of this story

 Excellent
 Worth reading
 Not worth reading

 Not technical enough
 Just right
 Too technical

 More stories like this
 Don't cover this topic


Advertisement: Support LinuxWorld, click here!


Resources


(c) 1999-expo LinuxWorld, published by Web Publishing Inc.