First of all: Everything in this blogpost is just my personal opinion. I am not a developer of KDE System Settings. I am also not a designer or usability-expert, so please just read this as a collection of subjective, personal impressions. Of course I am willing to help if I can
Recently, I installed KDE on a friend’s computer. As always when I install Linux for someone who never used it before (just saw it on my computer) I let him play with the desktop environment, without giving any advice and without showing what you can do with KDE. (and to be honest, I always enjoy this moment!) He was impressed by the overall speed and the possibility to customize everything (although it took some time to understand how the widget system works). But in this case he also made one experience which bothered me too for a very long time and which lead to this post: The System Settings of KDE are a horror to use for new, non-technical users. Please let me explain why.
Let’s start with this first thing people see when running “systemsettings”:
You see a bunch of icons, categorized into “Common Appearance and Behavior”, “Workspace Appearance and Behavior”, “Network”, “Hardware” and “System Administration”. And the problems to new, non-technical users start right here: What is the difference between “Common” and “Workspace” behavior? For all users, the workspace and all applications are the “common” thing, so they can’t see the difference. (For developers, of course, this is obvious)
Second thing: Why are “Account Details” and “Personal Information” in the “Common Appearance & Behavior” section, when they have nothing to do with behavior or appearance? And what is the difference between “Personal Information” and “Account Details” anyway? Well, let’s open the “Personal Information” setting, because I want to change my e-mail address, which is a personal information, right?
Oh… Technically, it is sane to put the personal resources under “Personal Information”, but this is not what users expect. Also, did you recognize that “Personal Information” and “Account Details” have the same icon? How should users see the difference? This “same icon problem” is also present in the two modules which control appearance:
This might look as a very, very small issue, but it is a very bad thing for what people call “user experience”. Why do we have “Workspace Behavior” and “Application Behavior” anyway? Users open the system settings with something like a mission, e.g. “I want to change the look of my desktop” – while it’s technically correct to separate between applications and the workspace itself, users don’t care about these details.
Let’s go down the System Settings page and take a look at the hardware section: You’ll find an entry “Information Sources” there. What the hell are “information sources”? To provide some more information, the System Settings provide tooltips to help users find what they need or to explain something:
Oh cool! “Hardware Integration Configuration with Solid” – While all people developing stuff for KDE of course know what Solid is, users really don’t know and don’t want to know it, which makes this tooltip a pretty useless information. If you open the “Information Sources” module, you also get stuff to see which is not useful for the average, non-technical user. So in the end, this entry for example should be hidden by default. Also, no user know what “Phonon” is and what backends are for. All these settings, including options to change user’s $HOME path for example, are not relevant for end users. They just want a working system and might do small modifications, and they don’t want to be confused by many strange-looking settings if they just want to change their desktop design. It is extremely hard to find the particular setting you are looking for, if it is hidden by thousand other settings you can apply.
As you can see, there are four main-areas where KDE’s System Settings are a problem to new, non-technical users:
…and look at what the GNOME folks did:
The first thing you can see is that they copied the layout KDE already used . You can also see that they show only very few modules by default, separated into only three categories: “Personal”, “Hardware” and “System” This makes it very easy for new users to find the stuff they want. Also, you don’t see technical details here, e.g. if you click on the “Sound” button, you won’t find a single word about PulseAudio. Also, they don’t show many settings, they pick good defaults which fit for most users and show a settings UI for the stuff which most users want to change (e.g. the Background, Passwords or Sounds) There is no chance that users get lost in too many settings.
…is of course not to copy what GNOME did! As much as I like their approach of making settings simple for new users, it also brings many disadvantages. The biggest problem is that users who want to customized their GNOME desktop a little bit more than the GNOME devs think it is necessary, have to dig into config files and the DConf system – and this definitely can’t be the solution since we want to create a great desktop for beginners as well as for professional users and for people who want to customize everything. So we should not remove useful settings. Certainly there are thinks some people want to to change where others think this setting is useless because they never changed it.
So, what should we do instead? First of all, pick good defaults. The best settings are the ones you never want to change because they are already set to a good default value. Finding these defaults is hard (meaning some user-surveys), but in the end the overall experience is better.
I would also like to propose two modes for the System Settings: One “Basic Mode”, doing something similar than the GNOME Control Center by just showing essential elements and stuff which is changed often, and one “Advanced Mode”, showing all settings. We already have “Settings for the Settings” (which is also a strange thing ), so adding this to the UI shouldn’t be a problem. (It might break the control module API, because each module would have to check if it is running in advanced mode or not, so this might be something for KDE5) – Of course this is just a suggestion which I find useful, but there might be reasons against doing it
For all the other stuff, there really needs to be a discussion about how to group the settings and maintainers of control modules need to look how they can improve the user experience. A very good example is the Power Management module, which got a much better UI recently.