Re: gnome desktop integration library
- From: Havoc Pennington <hp redhat com>
- To: Jonathan Blandford <jrb redhat com>
- Cc: Mark McLoughlin <mark skynet ie>, Federico Mena Quintero <federico ximian com>, Rodrigo Moya <rodrigo gnome-db org>, Vincent Untz <vuntz gnome org>, Control Center List <gnomecc-list gnome org>, desktop-devel-list gnome org
- Subject: Re: gnome desktop integration library
- Date: Thu, 07 Sep 2006 11:10:06 -0400
Jonathan Blandford wrote:
Right now, there are three major uses for GTK+:
* the GNOME Desktop toolkit (rich desktop experience)
* a cross-platform toolkit (LCD approach)
* an embedded platform (pick-and-choose)
It's a bit of a false choice; I don't think the LCD approach is required
in a cross-platform toolkit. If the nature of one platform really
requires doing xyz in most apps, but xyz cannot be done on all
platforms, an API that contains feature tests
("gtk_platform_has_foo()"), or an API in a platform specific header
("gdkx.h"), is imo _right_. Just because it's a little grotty doesn't
mean GTK should be all purity of essence and leave the problem dumped in
the laps of app developers.
To me the path GTK+ is obviously on, in practice, is that it's written
to be a desktop toolkit, and people use it in embedded by subsetting it
or hacking it up a little. Which seems fine; I think Qt pretty much has
the same model, with perhaps more attention to providing tools for the
subsetting and hacking.
Right now, GTK+ is walking a delicate balance between these three
But, assuming it's a required choice - for the first two, is it GTK+
walking the delicate balance, or is it *almost all the important apps*
Aren't Firefox, OO.org, GIMP, AbiWord, etc. also walking that balance?
Isn't GNOME effectively restricted from diverging too much from the
"normal" behavior of a desktop, because in practice all the apps (and at
this stage, users) expect it to be largely similar to other platforms?
Even ignoring Windows, just the freedesktop.org specs (EWMH, autostart,
menus) all assume a fairly standard desktop.
My point is, it's not like GNOME is going to radically diverge from what
can be cross-platform. Once you make the macro-level decisions like the
desktop has a panel with an app launcher menu, there's a task list, each
window has a menu, apps consist of document windows and dialogs, etc.
then things are fairly locked and loaded. You aren't talking about
suddenly changing to another model sometime.
Here are some tradeoff options as I see it:
- allow apps to be mostly cross-platform. take advantage of basic
"standardness" of GNOME.
- make big, fundamental changes in GNOME platform vs. others.
require all apps to be fundamentally GNOME-specific.
Don't support running cross-platform apps. Take advantage
of ability to do strong unique user experience for GNOME.
e.g. OLPC is doing this, right? with Sugar.
- gratuitously have distinct API for GNOME platform, making big
pain for app developers, but have user experience be the
"standard" one anyway.
The last is both the lazy/default thing to do, and the stupidest, if it
There are some features that work in the first case, but not
the other two (such as the proposed 'Open With...' dialog).
Why not? Thunderbird and Firefox on Windows have an Open With dialog, so
obviously apps have a use for it (and it's possible to implement it).
can't quite resolve it or don't have the time to do the work to handle
The don't have time argument leads to a libno-time-to-port-to-windows
which kind of sucks as a way to organize the platform. Didn't GTK used
to have a policy that stuff went in for X and the Windows team had to
keep up? It was a little harsh, but given the fact that nobody else knew
how to code the Windows bits, maybe the only feasible approach.
] [Thread Prev