RFC: System Settings categorisation overhaul

Jacopo De Simoi wilderkde at gmail.com
Sat Oct 3 23:07:59 BST 2009

> One thing that also needs to be done (and "going through all systemsettings' .desktop 
> files sounds like a terrific opportunity) is adding keywords so they're easier to 
> find from other places (like KRunner). It might also mean removing keyword from 
> lower-level items to not pollute the matches too much.

Sorry for the long posting, but this ^^^^  is imho what the most important part of this work would be. Categorizing modules is something quite intrinsically very personal, and sometimes we, as devs, need to make choices which are completely arbitrary. Sometimes there are the "developer point of view" and the "user point of view" which are in clear contrast, sometimes they are not; sometimes it is just a matter of growing accustomed to someone else's categorization, which, when changed, leads to frustration and angry comments like "wtf did you do to kcontrol?". 

----Long story:
Categorization (or a tree [0] if you like) does not provide a good way for organizing the huge quantity of settings that we give the users access to. In contrast, a graph ([1])  seems to me more useful to expose the concept. Of course the big deal with trees is the ease of navigation; almost everybody is used to deal with trees, starting from their very own Document folder. On the other hand, how are you supposed to navigate a graph?
Two guys answered this question 11 years ago coming up with Google; KDE is today making use of Nepomuk, which as far as I understand, aims to create connections between pieces of data of different nature scattered around the computer and even outside and be able to expose them in a natural way (which is currently _the_ big problem with it for a lot of people afaiu).  

What do we do when we don't find the option we want in systemsettings? we fire up a browser, write "keyboard layout setting kde4" on google, find hopefully the right page in a few tries, go back to systemsettings, follow the right sequence of categories and.. we get it. 
Why shouldn't we take a shortcut?

----Short story:  
We should put _much_ more emphasis on the search box; put it in the middle of a white page with a colored writing on top (ouch it has been patented! [2]) and the user will not miss it. Just type "keyboard layout", hit enter, the top result would be the right one, and done. 
Following category trees is very 1995, searching is just 2010. People now are a lot more inclined to "google around" than to parse information given by hopefully meaningful names, which then in practice might be far less meaningful than intended simply because of translation issues. 

----Before you flame me:
Now, obviously this is not going to work, as maybe the biggest problem is that we cannot have a keyword for every single word that every single user will ever use as a query. On the other hand think about the benefits: the user wants to change something in particular (e.g. "Desktop Effects", or "splash screen", "automounting"), which is usually something very concrete and much easier to fully and uniquely translate than "Workspace" "login settings" "external devices". 
By making the KCM modules themselves with their keywords exposed to the user via a search facility, we can completely forget about a hierarchical structure and think of categories as "tags", rather than folders.

In practice what I suggest is the following: 
1) Put the search box somewhere obvious, above the categories, but /inside/ the white frame, to make clear it's part of the game and not some external "I'm never gonna use it" accessory. Give keyboard focus to it, invite the user to try it out.
2) Consider categories as tags, not as folders, make ss look as a web browser rather than a file manager, so that we can have one kcm "linked" by more than one category (keyboard layout accessible by "locale setting" and "keyboard and mouse", for instance)

Sorry again for the length of this post, but I do believe that we could change this in a way that we won't need to change again in a few months time and which is non-disruptive to the user. 


[0] http://en.wikipedia.org/wiki/Tree_(graph_theory)
[1] http://en.wikipedia.org/wiki/Graph_(mathematics)
[2] http://valleywag.gawker.com/5350982/google-patents-worlds-simplest-home-page

More information about the kde-core-devel mailing list