LWN.net Logo

GNOME 2.19.1 released

GNOME 2.19.1 released

Posted Apr 28, 2007 2:47 UTC (Sat) by jimmybgood (guest, #26142)
In reply to: GNOME 2.19.1 released by tetromino
Parent article: GNOME 2.19.1 released

First of all, I don't use Gnome, but I will admit that it is the easiest desktop to provide for my users. I was indeed trying to be acerbically humorous, but I am also serious about my suggestions.

1) Maybe we need two, three or more translations, but we don't need all of them. You don't have to compile all the locales - just the ones you choose. How about having translation selection and DOWNLOAD as part of the desktop setup?

2) My objection to gconf is partly the xml files. All too often, due to lack of documentation (which I actually _do_ read), the only way to find out configuration options is to read the xml, an ugly and unpleasant task.

My major objection, though, is the gconf daemon. Most newbies are startled by the instant changes. They expect to select and then apply. Few people want and none need a process that eats up memory, cpu and resources by continuously checking for configuration changes. Whatever the gconf daemon does could be done by clicking on an "Apply" button.

I like the gconf-editor.

3) Except for Slackware, Linux distributions require all shared library dependencies to be resolved. The number and variety of packages dragged in as a result can be astonishing. I seem to recall selecting a package to add a volume control applet to the gnome panel and being given a list of package dependencies that would take up more space than an entire NetBSD (without X) distro and included support for firewire audio breakout devices.

My suggestion for a modular/plug-in architecture was intended to refer to a way of breaking this chain of dependencies. For example, gnome-vfs would have a plug-in interface, so the plug-ins would have the shared library dependencies rather than gnome-vfs itself. This would make it allow distros to provide the broadest support possible, without requiring all possible shared libraries.

I know this would be quite a challenge for gnome to implement, but it would be much more likely to get me excited about gnome than the announcement we're commenting on.


(Log in to post comments)

GNOME 2.19.1 released

Posted Apr 28, 2007 4:08 UTC (Sat) by tetromino (subscriber, #33846) [Link]

1) Good point, there is no good reason to not have an option to install translations independently. I periodically use localepurge to keep the locales I never use off my systems.

2) gconf-editor makes editing the config file (and more importantly, figuring out what each option means) a delightful and pleasant task.

Gconf daemon is used, first, to prevent the race conditions that would inevitably occur if every program could read/write desktop environment config files on its own. Think of it as a .lock on steroids. And secondly, using gconfd instead of directly reading config files allows you to choose a different storage backend (e.g. LDAP). In practice, gconfd performance is not bad; on the machine I am sitting at, in 4 days, it used up less than 2 minutes of CPU.

As for instant-apply: different desktop environments make different choices here. In Windows and KDE, you need to click "apply" to apply a change; in Gnome, the change is instantaneous. I personally don't care which behavior is used as long as it's consistent, but some people are extremely passionate about the subject.

3) One way to address shared library dependencies is with a reliable IPC mechanism that resolves at runtime - for example, DBus, which Gnome apps are increasingly relying on to move data.

A second way is using plugins. Just about every gnome package (including gnome-vfs, which you complain about - have a look in /usr/lib/gnome-vfs-2.0/modules) that could benefit from plugins does use a plugin interface. Of course, if your distro forces you to install all the possible gnome-vfs plugins along with the gnome-vfs library, that's hardly Gnome's fault...

The third way is compile-time options. The kernel's flexibility largely comes from compile-time options; Gnome also allows you to turn many optional dependencies off, but to do that, you need to recompile manually (or run Gentoo).

GNOME 2.19.1 released

Posted Apr 28, 2007 21:32 UTC (Sat) by eklitzke (subscriber, #36426) [Link]

With respect to localization, it is done in Gnome the same way that it is done with all the other linux software you use -- localizations are installed as .po files, and if you only use English they don't do anything other than take up disk space. And at least on my distribution (Ubuntu), the only localization that is installed by default is the one you selected at install time. Additional localizations are installed as language-pack-gnome-foo, meaning that if you only selected English during the install you only have English on your system, and if you want to get another language it's easy to do so.

With respect to gconf, I think that XML is a pretty good choice. It's true that it isn't as accessible as other formats to people who aren't familiar with XML syntax, but it's certainly standardized, and there are a lot of highly optimized libraries for parsing and generating XML, which makes it fairly fast. As far as instantaneous changes are concerned, this is a change that has also been made in OS X and some other software (I think Mozilla does this now). It is based on HCI studies that have shown this to be a more intuitive interface. I admit that when I first came across this behavior I didn't like it much, but having used it for some time I can say that I do think it is an improvement over the old Apply button behavior. Also, gconfd does _not_ continuously poll for changes; if you aren't making configuration changes it uses essentially no resources (other than the small memory footprint).

Right now Gnome is extremely modular, but to make changes you need to do so at compile time. It would be interesting to see a plugin architecture that made it easier to install pre-compiled binaries that had less dependencies, but I'd imagine that it would be difficult to do so without fattening the binaries themselves. If you have a good idea for a way to improve the dependency system in Gnome, you should write to the Gnome mailing lists or become active on bugzilla ;-)

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds