12
Mar
I started to write down some guidelines for configuration dialogs in KDE4. The major differences to KDE3 are:
- Do not overload your configuration dialogs!
- Avoid the usage of tree views in the sidebar of paged dialogs.
- Set the dialog's maximum size to 800x600 Pixels.
- Make sure all dialog pages are sized equally, so the dialog does not resize.
- Provide vertical and horizontal scrollbars on each tab (hide them by default). This allows users who require big font sizes to reach all contents while they can see the tab titles and reach the OK/Cancel buttons.
- Separate advanced preferences from frequently used ones.
Please review the guidelines and give me feedback. I'm basically interested in everything - if you agree on the contents, the format, if there are parts missing, if you need more examples, more concrete guidelines etc. Also, in the lower part of the page, there are some suggestions for new widgets in the standard sections I'd like to see feedback for (font and color requester). You can either use this blog's comment section or write an email to ellen kde org).
Comments
Separating advanced/basic is
Separating advanced/basic is usually a bad idea in my opinion. Its often a sign that the developer can't make up their mind and is leaving the decision to their user.
Sometimes it makes sense, like the printing dialog.
I remember trying in vain for a while trying to find some kicker option, it was hidden under an 'advanced' button. I really dislike advanced buttons, is what I'm saying. :) (Advanced fold-outs aren't so bad).
Let us change the subject.
Wed Sep 5 07:23:49 2007
I think there are a few exceptions.
Lists
I think that the lists are a good idea for multiple configurations. Whenever I changed color appearance of KDE in KControl I had to go through the combo to find what component I wanted to change and then to find the right color. The way you suggested looks better.
On the other hand, restricting size is a good idea but I don't know if that should be 800x600. Maybe it would be better to enable the config dialogs with scroll-bars at the bottom and at the side so that they would be easier to scroll on small displays. Before I bought TFT, I had 1600x1280 resolution and had no problems with config dialogs. Now I have something like 1300x900 and some dialogs tend to be higher than my monitor can display so I have to alt-click them to be able to see the ok button. I don't think that putting the scroll-bars is too hard thing to do (just embed the contents of the dialog into some sort of a scrollable widget that would display scroll-bars if the embeded widget's size is greater then the window size).
Thanks for the 800x600 rule!
Thanks for the 800x600 rule!
I've gotten a bigger screen so I can put Windows next to each other. None of my standard windows are maximized anymore. The only exception is KDevelop, but well, it's nice to have a single focus when you're coding.
I don't think there should be a maximum limit though. Windows has a lot of fixed dialogs, which is really annoying. But I'm curious how it will work out though.
btw, do you have any plans to include information about "negative space" in the configuration dialogs?
correction
With "I don't think there should be a maximum limit though." I mean, "I don't think KDE should prevent users to resize the dialog beyond 800x600". But optimizing for 800x600 is really good!!
As for getting bigger monitors, KDE is currently hard to use in VNC because it's only possible to run it at big monitors. So I really love to see some changes here! :)
Oops...
I see the guidelines you have linked to are worded differently...
From them I don't see a strict 800x600 maximum rule.
However, it may not be easy to ensure the minimum size is respected... trying to do that with Qt3 was not reliable. Maybe things have improved with Qt4, however.
800x600
Can you clarify the 800x600 pixel rule?
I see only problems with enforcing such a strict rule:
- The user may use a different system font from that used by the developer
- The dialog may have widgets that would benefit from more space
- The user may use a different language with longer messages
Basically, I have always interpreted the 800x600 rule as a way to ensure windows would look good in a great variety of environments, and not as a goal in its own.
I know you should be aware of these already... so why such a rigid guideline?
800x600 & no resize
Think requiring that the content of the dialog must fit on a 800x600 screen is very good, but preventing resizing is not good.
If I want to use large fonts and a big screen I would have to scroll the window even if it all could fit on the screen. Besides there might be lists or other widgets that would allow more information to be shown if the user re-sizes the dialog.
Removing multiple configuration entry points
In a KDE3 application there are normally four "root" entries to the configuration forest: shortcuts, toolbars, notifications, and "general" settings. I notice that according to your guide, for KDE4, notifications will be merged into "general". But what about the other two: should not they be merged as well? I am not entirely convinced myself, but it is something to consider at least. Alternatively, the shortcuts and toolbars settings could perhaps be merged with each other: they are in a sense the same, except one deals with shortcuts for the mouse, the other with shortcuts for the keyboard.
An even stronger case can be made, I think, for the frequent case where there are additional configuration entry points that exist just because of the way the program was written. The most common case is that plug ins have their own menu. In Konqueror we have "extensions" and "spell checking". As a user I don't care much what was implemented in a program itself and what was added as a plug in. A feature which is a plug in in one, say, text editor may well be hard coded in another. So I believe it makes sense to have a guideline that says that the topology of the configuration forest should be based only on what is logical from the perspective of the user, not on what was the most convenient structure for the programmer.
Just some thoughts: I don't know the exact scope of the documents you are writing.
800x600
> Set the dialog's maximum size to 800x600 Pixels.
What does this mean? That a dialog window is designed for max. 800x600 pixels, without the possibility to enlarge it? If so, this would be a step backwards. I use e.g. the KDE 3.x file open/save dialogs opened to full screen size for a reason.
edit: Ah, should've followed the link before posting. As it's for configuration diaogs only, I probably can live with it.