KDE 3.2 will introduce an improved configuration framework, known as KConfig XT. This new framework extends, not deprecates, the current KDE configuration API. But if Gnome and KDE continue to have a different API for configuration, how easy freedesktop.org’s goal would be to uniform the backends of the two popular DEs? We spoke to freedesktop.org‘s founder, Havoc Pennington, and here is what he replied after having a quick look at the new KDE API: UPDATE: Read on for KDE/SuSE’s Waldo Bastian reply too:
Looking at it quickly –
I don’t think there’s a step backward here, as it’s really just a change
to the KDE APIs, not to the on-disk config system.
I would like to see motion toward a unified config system, but that is
probably aided by this change more than hindered, since the additional
abstraction the new KDE API offers would simplify using a different
backend.
It’s possible I don’t understand all the issues of course.
Havoc
——————–
It’s pretty much a KDE internal thing to be used by KDE applications. At the moment configuration options for KDE applications are very much undocumented and you will need to dig through the source to find all possible options.
With KConfig XT there will be a machine readable representation of
configuration options. It also makes it a lot easier for us to link a certain
configuration option with it’s visual representation in a settings dialog,
allowing for more automation and less work for the developer.
I see little impact on Gnome/KDE uniformity. The machine readable descriptions may come in handy at some point in the future if we were to attempt to unify the backends for GConf/KConfig. That’s not something that has very high priority for me though, since the impact for interoperability is quite limited. Applications like gedit don’t tend to be very interested in the configuration of KEdit and vice versa. Only the desktop-wide settings (KDE’s kdeglobals config) are interesting in that context I think.
Cheers,
Waldo
Interesting. GNOME gets bashed for creating GConf and then KDE comes out with something similar.
GNOME gets bashed for using gconf when it shouldn’t (to set a simple thing like auto-hide delay!). Otherwise, gconf is a fine idea. However, this isn’t a copy of gconf. KDE has had a centralized configuration mechanism (KConfig) for a very long time. According to the CVS logs, KConfig has been in KDE since 1997. KConfig XT simply an expanded API on top of the existing KConfig framework.
@Anonymous: The configuration framework is completely opaque to the user. Unless they’re editing the files directly (and if they’re doing that, they know if they’re working with a KDE or GNOME app!) they’ll never even see it. It has nothing to do with being ready for the desktop or not. Win 3.1 was ready for the desktop, and it had no central configuration mechanism! Anyway, its MS that behind the times here. They’ve already realized that their fragile binary registry sucks and are replacing it with a gconf-like mechanism in Longhorn!
“It’s a little bit frustrating for me, though – to see such an influencial website gravitating towards one side in what is still a fierce, emotional competition in many ways.”
They’re just desktops, y’know. This isn’t the Olympics.
> They’re just desktops, y’know. This isn’t the Olympics.
True, but people tend to get emotionally involved with these kinds of projects. One of the more negative, yet necessary side effects of passion, I guess – without it, neither Gnome nor KDE would be where they are today. That applies to the competition itself as well – I think it has proven healthy for both projects, overall.
Eike,
It’s because Gnome & KDE are two competing projects. Mentioning what one project is doing often times brings in a discussion about how the other project is doing something similar. I don’t think this post was trashing KDE at all…
Personally getting a comment from Havoc on this was pretty cool. Nice job Eugenia. :+)
-pi
it makes it easy to store config stuff. so it can’t be overused. if it has to do with config … hell I’ll use gconf before i break open the files.
I guess my problem is that I just can’t see Havoc as being neutral (and thus in a position to spearhead freedesktop.org), is all. Of course, I’m not in a position to make any decisions >:).
An original comment containing criticism is moderated down
http://www.osnews.com/moderation.php?news_id=5093
While the reactions on that original comment, including quotes, is left intact.
Why not add something like Scoop (ie. K5) has, sorting out posts into 2 sections: topoical and editorial and allowing the user to either see one of these sections or both?
(wether the criticism is valid or not is besides the point)
Windows tried to standardise its configuration too early with its registry, and the problems are plain to see. It also tried to make its registry too pervasive as a configuration system: it acted as configuration for user level stuff like e.g. what you call your recycle bin, and also as a system for low level and system service configuration, as in
e.g. [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesAspi32]
As such, they decided on what seemed like a good configuration system and forced its use all round the system. It could have been far better.
My point: KConfig (or whatever KConfigXT’s predecessor was called, I’m taking the name from the class), KConfigXT and GConf are the current ‘good attempts’ at getting configuration right. We don’t yet know the best way of doing it (or whether or not there is a best way.) We do know the shortcomings of current designs, and previous ones, and introduce new configuration systems so as to improve how things work. It is better than GNOME and KDE and all the underlying system don’t have a unified configuration, or something close, until we have figured out how best to do it. There is the question of how much unification between the configuration systems should there be (e.g. between Apache, Sendmail, Konqueror and Sodipodi.) There is the question of how best to do the configuration for each application. There is the question of where in the middle of these two do we stand? How individual (i.e. per-application) should configuration be? and how unified (i.e. like a Windows registry done right) should configuration be?
It’s for the implementers to figure out incremental improvements, and try out new paradigms by implementing a new configuration system. It’s for the conceptualists, the dreamers, to think of and dream up the ideal, perfect system based on what’s around, and without necessarily being burdened by feasibility concerns, to think up the best way to do it.
Anyway, I’m wittering again…
John.
KDE and GNOME stuff talk to each other via DBUS ( iirc ), or will, soon. We will have a level of transparency then.
You say ‘how easy freedesktop.org’s goal would be to uniform the backends of the two popular DEs?’ which indicates a misunderstanding – that is not what freedesktop.org is for. Freedesktop.org exists to provide a desktop-neutral forum for discussing potential or actual areas where things can be standardised on the desktop. It is a repository and a discussion forum rather than having any real plan of its own. If this were not so, it would be unacceptable to the people who it needs support from.
This sort of mischaracterisation of freedesktop.org is unfortunately very common. 🙁
Calm down people, most of you seem to be confused. All XT Config means is developers save time by having a standard system to generate config dialog boxes for their apps, it also means executables are smaller because the config dialogs are generated from xml on demand and not compiled into the binary. It’s nothing to do with the system used for storing the information. This has been plain text files in the spirit of *nix for, to my knowledge, ever.
If FreeDesktop ever settled on a configuration system then I expect both KDE and Gnome would work towards it. I fail to see what would be gained from such a decision however. On the other hand standardised colour scheme files would be good for all projects.
yeah, if gnome and kde could generate dialogs from the same xml. That would be sorted. Could happen. Just needs someone to orchastrate it.
KDE uses ini like files under the hood, KDE uses files that are similar to the windows ini format. Go to the ~/.kde/share/config folder and you will see a lot of files that are in the format of appnamerc. For example konquerorrc.
Gconf on the other hand use a mixture of folders and xml files. KDE’s configuration API has been around for a long time, and kconfigXT is just a simplification and extension of it.
The problems with gconf are with the front end, not the backend. The default front end looks similar to regedit from windows. The problem is that because of this tool a lot of the Gnome Developers have gotten lazy and instead of designing proper configuaration dialog they have told their users to use gconf-editor which is intimidating. Examples of popular features hidden away are tear off menus, window management options and the image to use for the splash screen, all of these can be improved with a few lines of code for a check box or a file dialog, which will make lives of the end users much more comfortable
KDE on the other hand dosen’t have a tool like it so most of the Developers design their configuaration dialogs with all the options included. KDE I think if Gconf-editor was replaced with something less imitimidating (for both new and power users) and the Gnome Developers improved their configuration dialogs then Gconf won’t be hated as much.
“Examples of popular features hidden away are tear off menus, window management options and the image to use for the splash screen,”
You don’t get the GNOME philosophy. The whole reason why there is no GUI for those options is because those are NOT popular features!
Tearoff menus? Some geeks care, the majority doesn’t.
Image used for splash screen? Again, most people don’t care.
Window management options? There’s a dialog for configuration basic Metacity options – look in your Desktop Preferences menu.
Switching window managers is NOT a popular feature. They used to have a window manager switcher panel in GNOME 1, and they removed it because most people don’t even use it and are confused by “WTF is a window manager?!”
You have misunderstood. Gconf won’t let you change them. You have to symlink /usr/bin/metacity to /usr/bin/otherwm to change it. But there are some popular features in its gconf entry that would benifet metacity if it WAS availible in the GUI. Many people don’t like metacity because of the fact that its options aren’t there in the GUI, and they don’t know how to enable them. Some of the features it has is being able to change the button order to something different from the Windows like default set up. This is useful for on say Macs, or for people upgrading from Windows 3.1 (!). KDE lets you do it with DRAG and DROP. Why can’t gnome do this?
Face it, GCONF-editor IS intimididating, for both new and experienced users. The Gnome people have got to realise that a good GUI has to be easy for new users, but flexible enough for experienced users. Gconf is the problem, and tear off menus are very useful for when menu operations are used a lot. For example when using applications like the GIMP. I know the balance is hard to get right, but NO user should EVER have to use gconf-editor, It should be removed from the main gnome core.
Since you don’t even manage to post to the right article, are you surprised you get modded down?
Rich.
“But there are some popular features in its gconf entry that would benifet metacity if it WAS availible in the GUI … Why can’t gnome do this?”
Because 99.9% of the users don’t use it. Sure it’s useful to Mac converts or Win 3.1 converts, but they’re less than 0.1% of the users. Putting a configuration dialog for changing the order won’t help the remaining 99.9% of the users and will only confuse them or get in their way. The disadvantages far outweight the advantages.
You are only upset because you’re a geek who likes to tweak stuff. GNOME is for average users who want things to just work, not geeks who want to tweak settings all day.
<it>Because 99.9% of the users don’t use it. Sure it’s useful to Mac converts or Win 3.1 converts, but they’re less than 0.1% of the users. Putting a configuration dialog for changing the order won’t help the remaining 99.9% of the users and will only confuse them or get in their way. The disadvantages far outweight the advantages.
You are only upset because you’re a geek who likes to tweak stuff. GNOME is for average users who want things to just work, not geeks who want to tweak settings all day.</it>
I am a KDE user and I did not even know that there is an option to change the order of the window buttons. So how is his confusing me or get in my way? I think, the point is, as long as the defaults are good, average users will not get confused by options because they just don’t need them. I like to change the appearance of my desktop sometimes when I get bored by the old look&feel and I think I am quite used to the KDE controlcenter but there are many options I never touched. Why should they confuse me? They are there but I am not stupd enough to change everything that is there just because it is there. I doubt that I qualify as a avaerage user, but also average users won’t do that.
Modern desktops need a good config system and there are certainly some options in KDE which are not required, but most of the options are actually useful for someone, so I think they should not be removed. It is better to improve controlcenter so that it is easier to find the options you need.
By the way, KDE 3.2 looks awesome and is much cleaner. I am really looking forward to it.
GNOME gets bashed for using gconf when it shouldn’t (to set a simple thing like auto-hide delay!).
Maybe it’s just me, but this is in my opinion a clear case of an option belonging in the gconf-backend only. Do you seriously need an preferences panel for changing the hide delay time, probably expressed in milliseconds or something? If the default is too slow/too fast, the correct way is to change the default so everyone benefits.
I’m always puzzled why people ‘hate’ the windows registry so much. What is so hard about it?
Even going back to windows 95, my system has NEVER been so screwed up that I could not even edit it in safemode. Sure, INI files or whatever are a bit more independent. But what is really so bad about the registry. Everyone just seems to say its evil.
It has a tree structure.
It automatically differentiates between strings/numbers
It’s centralized, so it makes backups easy
You can import/export sections/entries from it.
It has a standardized format.
It’s not the greatest thing since freedom toast, but it’s just not that bad. MS may be changing it for longhorn, as someone said, but that’s what MS does. They fix what people don’t like.
Yamin
Their talking about config files… You cannot compare it to the registry. Besides, you dont have to install both Gnome or KDE, either is fine or you can install anyone of 2 dozen window managers.
Keep in mind about the win reg.
1) i central point of failure
2) reg bloat slows down you system
3) good idea in theory not in practice.
Have a nice day. Before you try to bash the *nix OS, why dont you learn enough about so atleast you can have an educated opinion.
Jeah, the idea is perfect, but how it’s used and strucured (redundant, extrem complex) is IMHO unacceptable.
Some of my thoughts on the matter.
Keep in mind about the win reg
1) i central point of failure
This is not, as such, a fault of having a registry vs. config files. The system area of (pretty much?) any filesystem presents a similar single point of failure.
Secondly, robustness is an issue of registry design… planning how things work. One big problem with Windows is that you can install piece of software X, uninstall it and be left with changes it caused in the registry. There
is little in the way of containing effects (and the per user
access controls are far too coarse grained.)
In any case, so far as single point of failure is concerned, you can use clever redundancy strategies to produce something that is far more reliable than simple config files (for example, so that if the filesystem system area is trashed it is still possible to run through the hard drive, pick up probably chunks of the registry and reconstruct the registry, possibly employing automatic redundancy. Anyway, there are things that can be done.)
2) reg bloat slows down you system
This is a problem of registry design. Using a registry needn’t slow the system down. In fact it should be able to speed it up (e.g. you have textual configuration files for many things that are the ‘authoratative’ version of the configuration, and the registry acts like a cache, and as the authoratative configuration source for some other things.) Good registry design requires research, but whether or not the attempt is fruitful is another matter (I personally believe that it is.)
3) good idea in theory not in practice.
Lack of research… implementing too early… wheeling out a good early prototype (the Windows registry) as a production solution to the problem. I could go on, but in short it takes research, effort, trial and error to take a good idea in theory and turn it into a good idea in practice. That effort has yet to be properly applied with respect to the problem of producing a good registry architecture.
Anyway, they needn’t be as bad as they’re made out to be.
John.
Yup the idea is good another good(and maybe it reads faster that asci config files) but it’s to complicated and devolopers often don’t see. This makes your registery bloated after you install/uninstall software. There are tools for registery optimazation but they are not perfect. At the end your registery will be bigger and begger. Another thing that could be better is if the registery settings for windows/explorer would be documented for easy tweaking.
The biggest problem with the MS Windows registry is that there is nowhere to put in comments. If you look at a typical Unix config file, or even a [INI] style file, what you see is tons of comments ending with a configuration setting. Some configurator tools even use these comments directly to generate UIs (for example, Samba’s).
The Windows registry is a closed box, in comparison. In many cases, you will find binary registry values packed together as flags in a single hex constant: as a network administrator, for example, how do you figure out what that means? Furthermore, there is a lack of good command-line tools to help (for example, you cannot grep the registry unless you have UWin). I think MS is making some progress in this area, though.
A centralised configuration registry is a good idea — but the devil is in the details.
I think GNOME should have some kind of power tools that let geeks tweak more options. This power tools should not have to be installed by default, or at least not for normal users oriented distros.
With power tools, normal users will not get confused ’cause they will not have the options, and power users will not blame GNOME for it’s lack of options, and very very few people will need to use GConf, and the world will be a happy place again (and people who like to criticize everything will have to find other stuff).
A kind of universal solution don’t you think? 🙂
> you cannot grep the registry unless you have UWin
UWin? Did you mean cygwin?
The biggest problem with the MS Windows registry is that there is nowhere to put in comments. If you look at a typical Unix config file, or even a [INI] style file, what you see is tons of comments ending with a configuration setting. Some configurator tools even use these comments directly to generate UIs (for example, Samba’s).
<p>Sure there is. Just chuck in a STRING value with the comment in it.
<P>However, one of the points of the Registry is it’s *not supposed* to be accessed directly. “Comments” should be in the documentation/online help of the program that’s modifying the values.
http://www.research.att.com/sw/tools/uwin/
“The UWIN package provides a mechanism for building and running UNIX applications on Windows 2000, Windows NT, Windows XP, Windows ME, Windows 98, and Windows 95 with few, if any, changes necessary.”
It has some very cool features, like:
“UWIN provides UNIX style naming for all files with / as the filename delimiter by creating mounts. The / directory location can be selected at installation. Each drive letter in Windows is mounted in a single letter directory name under / so that /a/file is the UWIN name for a:file. In addition, certain directories are implicitly mounted such as /sys on the system directory, /win on the windows directory, and /msdev on the directory containing the Microsoft development kit if installed. The character and block special devices are in /dev and use naming conventions found on most UNIX systems. UWIN also supports UNC (universal naming convention) names for files that begin with //. An API function is provided to map the UNIX name into the Windows name. The mapping is available from ksh as well.”
“UWIN treats the Windows registry as a file system with registry keys treated as files, and keys that have sub-keys treated as directories. You can use UWIN tools directly on registry keys. The registry is automatically mounted under /reg during startup.”
“I think GNOME should have some kind of power tools that let geeks tweak more options.”
I belive you’re talking about gconf-editor. It’s not very friendly, but it sure does the job if you want to really dig in.
I do agree with the other posters that gconf-editor ought to be made more easy to use. Perhaps a couple bookmarks that would take you straight to commonly used folders?
However, don’t be fooled: GConf IS a very good solution. Still human editable, yet much easier to read by the programs. Can’t beat that.
-Erwos
I am a KDE user and I did not even know that there is an option to change the order of the window buttons. So how is his confusing me or get in my way? I think, the point is, as long as the defaults are good, average users will not get confused by options because they just don’t need them. I like to change the appearance of my desktop sometimes when I get bored by the old look&feel and I think I am quite used to the KDE controlcenter but there are many options I never touched. Why should they confuse me? They are there but I am not stupd enough to change everything that is there just because it is there. I doubt that I qualify as a avaerage user, but also average users won’t do that.
It’s understandable that average users would want to switch things up every now and again. Keep in mind that we’re not talking gconf-editor for everything. You want to change your gtk theme, wm theme, or icon theme? Open up the Theme switcher. It’s a simple little program that’s found under the “Desktop Preferences” menu. Now…want to change the order of the buttons in your window manager? THAT’s a gconf thing. Why? Because this is something that VERY few people need to do. What about enabling “Application Mode” in your wm? Again, gconf…most users don’t need it, don’t care about it.
If you do have Gnome loaded on your machine, start up gconf-editor and take a look at all the config options available for metacity alone. To put that amount into a config box would clutter it beyond recognition. Now extend that to things like Nautilus and Epiphany. You have to draw a line somewhere that says “options on this side of the line are things that people change frequently, and options on this side of the line are things that should be changeable, but not presented in front of you.” I mean, how often do you have to change your security profiles for your browser? What about cacheing behavior? These are things that indeed should be configurable, but I don’t think I’ve ever touched these in IE save for maybe once…maybe. Now to have all the dialog boxes and buttons to configure these options interspersed with the stuff I DO care about configuring makes no sense to me.
Gnome is about choosing sensible defaults that most people can live with. It should work as expected right out of the box. Options like themeing, turning on/off accessibility, font preference, and general settings like date/time and networking are given nice little config boxes so that anyone and everyone can change them. For the geekier among us, there’s gconf-editor (which really isn’t that hard to use, guys) for obscure options and tweaking your desktop. KDE takes the opposite approach and puts everything right in front of you. Now that’s very nice if you do regularly change your browser’s cookie-handling behavior, but for me it’s just unneccessary.
Which camp you agree with depends on you. I myself find KDE entirely too cluttered (there is NO REASON to include a text editor, a semi-word-processor, a word processor, a semi-IDE, AND an IDE…that’s 5 apps when 3 would more than fit the bill). Some find Gnome too sparse (like yourself, from what I gather). Getting back to the original point, it is this design philosophy that has led to the gconf-editor / config dialog split, and NOT the (false) neccessity of using gconf to store config options as was originally brought up.
I see.
But you can do the same with cygwin!
ls /proc
1020 1124 loadavg partitions stat version
1096 cpuinfo meminfo registry uptime
ls /proc/registry/
HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS
HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_PERFOMANCE_DATA
I belive you’re talking about gconf-editor. It’s not very friendly, but it sure does the job if you want to really dig in.
No, I’m not talking about gconf-editor. I see gconf-editor much like regedit. I use rededit from time to time in Windows, but if I had some power-user config tools, I prefer it.
There is always a lot of configuration stuff that is not available in Control Panel in Windows, or in Preferences in GNOME, or in menu View/Preferences or Edit/Preferences for a lot of applications.
For this options there are in Windows some tools called Power Tools that only power users who want to change some weird stuff install. They are basically config dialogs that are designed just like the rest of the config dialogs but allows users to change some rare used config options.
For example that choice of the order of buttons. I agree that the normal user should not have this options cause it gets confused, but I have enough experience in computers, I understand the geek language, in fact I consider myself a geek, so I provably install some gnome power tools that let me tweak more choices not available for normal users.
That, I think, is what GNOME needs about options. Power tools should never be installed by default, even I think they should go in another folder, for example Preferences/Advanced or something else that produces fear to the normal user. But simple tools to can bring more fun to power users, without the complexity and required knowledge to use gconf. If we only concentrate in normal users maybe we fail to attract enough geeks. 🙂
They do not even need GConf editor. They can jump straight to .gconf and go right into the config files there and edit what they want. Don’t geeks actually feel the need to have something others can’t do?? )
I think too many people are clamouring for people to cater for people who are catered for long before they know it. The options are there. Just do not expect to be able to change button order in the Control Center.
Power tools are really needed for Windows because you have keys with values like {098f2470-bae0-11cd-b579-08002b30bfeb}. That you cannot expect even a “normal” geek to figure out.
If you should use gconf-editor, they should at least make it bug-free! Whenever some program changes some option, it’s documentation (long/short description; owner) gets lost.
So when you change the theme using theme-preferences, the documentation for apps/metacity/theme gets lost. And when you modify any setting with gconf-editor, this also happens!
Or do they assume that you have a photographic memory, and instantly remember what an option does?
On the other hand, GConf does seem better organised than the Windows Registry.
Well, I guess it would be pretty easy to make an app a la powertoys. As a matter of fact, Configurator for Gnome does just that, though it isn’t pretty big (only touches some options of certain configurations).
Anyway, the first one to make such an app would get the glory. Volunteers?
Don’t look at me, I’m forced to learn ACL right now
> I think GNOME should have some kind of power tools
If you care about it then you should start such a project. It would be very simple to implement. So far nobody has cared enough, and I suspect that the people who want it actually like to use gconf-editor instead because it feel specially hacky.
Havoc has even suggested the “crackpipe” name for such a project, so you’d be starting with built-in name-recognition.