GNOME is not a window manager.
GNOME is an application framework that consists of libraries to assist in application development and a set of applications that use those libraries.
It seeks to provide:
An API for interapplication communications. This will represent a set of objects running via a CORBA Object Request Broker called ORBit.
This is crucial piece of the infrastructure, with which they intend to implement a component architecture to build "compound documents" not entirely unlike OpenDoc; without this, GNOME is merely a "pretty face," consuming memory and disk space for relatively little value.
This description strongly parallels that of CDE...
A distinctive of GNOME is that it intends to allow development of applications in a wide variety of languages. This is backed up by the The Alternative Languages in Gnome Matrix
Let's Make Unix Not Suck - by Miguel de Icarza
The thesis is that Unix "sucks" from four perspectives, and that GNOME is trying to address these issues.
There is little innovation
Printing gets griped about quite a lot, but while CUPS may someday be an answer, improvements to LPD have neither existed nor been deployed.
In those few cases where major Unix subsystems have been redesigned, the results have commonly been proprietary. Witness Display Postscript (DPS) .
There is little code reuse
Code largely isn't shared; the only "universal" component is GLIBC , and maybe Motif . GNOME provides a bunch of libraries to do things like parsing XML , displaying GUI stuff, managing various data structures, and such.
No policies
Which is fine if you're designing X as a display substrate, but which is not fine if you're building applications or GUIs to run atop X.
Unix filters are useful for customization, but are not used much in applications.
Some of the most major "popular" apps that run on Linux, namely SAMBA, Apache, Sendmail, inn, sshd, ftpd, distinctly do not use filters.
The GNOME approach to reuse: Bonobo Components
Bonobo uses CORBA to provide a standardized way for components to discover and communicate with one another even if they are written in different languages .
Future Goal: Provide CORBA interfaces for system configuration
GTK+ / Gnome Application Development by Havoc Pennington
An online book on GNOME.
Applications using the Gtk GUI Toolkit that was initially created for development of the GIMP image processing system.
The use of a common GUI toolkit can provide more consistent "look and feel" for applications, as well as saving memory and disk space as the library can be shared between various Gtk applications.
It is, to an extent, a response to the KDE Project, which is another "desktop environment" with similar components and purposes.
Gtk bindings to use Display PostScript. Which should be useful under Linux once Display Ghostscript becomes usable.
GNOME Calendar - the GNOME project Personal Scheduler - Uses the IETF iCalendar standard protocol for schedule information.
gTask is an implementation of the progress bar simplification system that was proposed in an osnews article by Athanassios Floros. The intent of the project is to create an easy to use framework for application developers to communication the progress to certain long running events. Right now the system is capable of automatically displaying a per program window that tracks the status of the tasks the program is performing. Eventually task information will also be reported to a central daemon that would allow for tasks to be summarized and for users to search for older tasks (ie. find the file I downloaded 3 days ago).
Evolution is the Ximian mailer, calendar, and contact manager. But more than that, it is the next step forward in GNOME applications. The three tools will be tightly integrated with one another and act as a seamless personal information-management tool. Evolution will be highly scriptable and it will be possible to use it to solve a huge variety of information-sharing problems.
It is intended to be an exemplary instance of a Bonobo -based application.
This will become the GNOME equivalent to OLE2, or, (somewhat less comparable) to OpenDoc.
Metaproject to coordinate development of productivity apps for GNOME. This includes:
GWP (wp)
GO (wp)
AbiWord
Gnumeric
Guppi (charting/graphing)
Genius (sci calc)
Dia
Electric Eyes
Gnome Help Browser
GYVE - Vector Graphics package that uses DPS (DISPLAY POSTSCRIPT)
GIMP
gnome-db (DB architecture)
A bunch of ex-Apple guys that are now working on applications for the GNOME Project.
Overflow is a GNOME application for "data flow-oriented" development. You connect nodes together visually to construct programs.
This tends to be useful for things like:
Audio/Signal processing
Speech recognition
Image processing
Neural nets