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:
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...
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
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.
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 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.
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).
Metaproject to coordinate development of productivity apps for GNOME. This includes:
Genius (sci calc)
Gnome Help Browser
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: