Respectfully, I don't agree. There is a big set of missing frameworks that stops rich interop in Gnome applications, and generally make applications much harder to write well. All other desktop platforms include at least a subset of these...
* Document frameworkProvides document loading/saving/printing/etc abstractions, window/tab management, automatic recently used, scripting hooks, etc.
* Scripting frameworkAllows apps to easily expose external scripting and event notification. D-BUS was the big missing piece here. Can specify sets of interfaces for common tasks that apps can implement, and building up the frameworks to provide useful default implementations.
* Rich Extension/Plugin frameworkCommon UI for installing/removing plugins and checking for updates and downloading, common hooks for menu/toolbar integration and UI event integration.
* Undo frameworkAlmost no applications in Gnome support good Undo. Should provide both reliable desktop-wide interaction for text widgets as well as at an abstract object level.
* Rich DND/CopyPaste frameworkUndocumented DND targets, poor support, and manual data parsing abound in our applications. Could provide structured data interop to make doing this loads easier.
* Persistence frameworkSaving and indexing application-internal data, optionally exposing to search engines like beagle.
Each one of these is a really large amount of work that doesn't exist at all today, with various bits being implemented from scratch in every application.
-Alex Federico Mena Quintero wrote:
The GNOME platform is pretty much *done* at this point from the viewpoint of "what more code do we need?".