December 17, 2008

Control Center in System Settings?

Comments

After posting A refactoring journey: the control center yesterday, I got some comments quickly.

Of course I got some comments like “The category icons are too small” “Spacing is wrong”. When it was clearly stated at the end of the post:

Note that none of these screenshots mean “this is how the control center will look”. The focus is still on the infrastructure that enables us to try more radical approaches. For example, the old control center look and feel is trivial to emulate.

However, there was another series of comments:

Why don’t you add the yast options into the KDE settings?

I think the answer to this question is the same as the inverse. Why should we?

ls /usr/share/applications/YaST2/  | wc -l
85

There are 85 modules in my system. Well, not all visible. I don’t have all available installed either. But, would you like to have suddenly 85 icons in this view?

KDE4 System Settings

What do others do?

Now, Marçal Juan comment:

Just think in Apple and Microsoft approach… it’s all in the “System settings” not two independent apps.

This is simply not the case. I wonder why Marçal thinks they are mixed.

I think there is a simple reason why they are separate. If you had to put so many items, the control center can’t be read by our brain in one shot anymore . “but lets create sub-items”"… yeah, and then you are again back in the kcontrol tree times, where finding something was hard if you don’t know at which deep-level it was. Yeah, our readers/commenters solve any usability problem by making things a tree or adding tabs :-) .

Actually, Apple has a System Preferences panel:

leopard preferences

For server related settings, they have a separate console (Still note how User accounts is present on both):

leopard server preferences

Not only Apple. Marçal is also wrong with Microsoft, which has a control panel:

windows control panel

And also a server console (this time with a completely different look:

windows server panel

Why?

I think the temptation to merge them comes from two sources:

  • The fact that most Linux user tend to mix the server/advanced administration and basic tasks a lot, and therefore they think their usecase is the common one.

  • This makes them think that everyones wants to go trough the basic settings when configuring some advanced service.

  • Actually the last YaST survey revealed that the only tasks an user does often is software management and in second place, network management. All the rest is done seldom.

  • The fact that Linux lacks some basic administration tools upstream or integrated in the desktop, which YaST provides right now.

I think the last two ponts are relevant. The real problem is not whether you have all icons in one control panel, but where are those icons. Is software management a basic task or it goes together with virtualization settings? That is the problem. Windows and Apple provide software management and network management in the basic settings. However, I think this is only a problem for those specific YaST modules that are used to often, and both cases have a solution.

In the case of Software Management, PackageKit already offers basic software management integrated with the desktop. I do have an icon “Add/remove software” in my KDE System Settings (KPackageKit provides it). The case of networking is also solved since long time, and most desktop users configure their network in the system tray with knetworkmanager.

Any other configuration that becomes common for a desktop user has to be integrated with the desktop in the basic settings, or even further, in the right context (for example, enabling sharing a folder by right clicking the folder instead of going to the system settings ).

Right now we have some technical limitations. We can’t just put the YaST modules in system settings without doing some changes in that code, and we can’t offer all functionality so it can be integrated in the right context. But we are moving into that direction, and that really does not means we have to go and put 80 new icons and ruin the KDE4 control center concept or reintroduce hard to remember categories.

We will do some experiments about it anyway.

Update 1: As Stano points out, it may make sense to offer access to YaST in the “Computer Administration” category of the System Settings, not module per module, but as one icon. (then launch YaST control center, or embed it). What we can’t do is to embed the modules themselves in the system settings (we did this in the past and was problematic as modules have wizard semantics).

Comments (22)

  1. December 17, 2008
    sheytan said...

    For me system settings is ok. But, some things really should go there. Like kuser, menu updating tool and kmix. That’s not 80 icons more, but just 3.

  2. December 17, 2008
    Mos said...

    Since you name kcontrol in passing, I can only voice my disagreement about it being hard to navigate. IMHO the constant back/forward of systemsettings is noticeably worse when you’re trying to locate some setting, and the split between normal/advanced is more noise to deal with.

  3. December 17, 2008
    sheytan said...

    Oh, and names of each modul should have two-row text column. In english it’s ok, but when i change to my language it doesn’t look good anymore. So that’s my sugesstions about it ;]

  4. December 17, 2008
    DeeJay1 said...

    IMHO embedding it into the systemsettings app as a single icon would fit well with the “back arrow” semantic, where you can return to a “higher level” (the overall controls list), so it could be a nice addition. Launching as an external application on item click would break much of the flow of systemsettings. But of course that’s only my opinion ;)

  5. December 17, 2008
    thorGT said...

    Obviously, we don’t need to merge YaST and System Settings, as these provide different level of system control (administrative and user level). But sometimes these two appear to duplicate each other, e.g. you can see a “Display” and “Mouse” in both places, and there’s a lot more examples of this. I guess that from the user point of view, it’s quite confusing. Well, how would you explain this to someone new to Linux(suse)? In my opinion, this is a serious design flaw, regardless of the reasons that caused it. So, the proposal is 1)to leave YaST as a background administrative tool which the user would rarely use(hide it), 2)move simpler functions to KControl, significantly reducing their number and 3)eliminate any duplication between YaST and KControl.

  6. December 17, 2008
    Andy said...

    Hi, I’ve recently filed bug regarding this (https://bugzilla.novell.com/show_bug.cgi?id=459549). It should be in one place. Because as you present on apple screenshots; YaSt mix both categories HW setup + services. My opinion: Create new tab in KDE System Settings(called YaSt), don’t mix the items as in GNOME.

    And I’ll be happy.

  7. December 17, 2008
    Matteo Nardi said...

    I agree that adding all those modules to System Settings is just wrong, but I think it’s also wrong to have two separate places where to set things (in particular since some of these modules contains duplicated settings). Not an easy problem to address.

    I’d really love to see an unified place where to set everything, but it’s better the current situation than the chaos created by so many modules in the same window (many are grouped in a bad way or are superfluous). A lot of work, it would need a very good usability research.. it would be great, but we can not blame you for this..

    YaST must die, but we need something to replace it :p

    Thanks for your work and don’t take our flames too personal. Cheers An user.

  8. December 17, 2008
    andre said...

    Let me point out several issues:

    1. YaST was destroyed by Novell on ideological purpose. A remark as “The fact that it still is a Qt 3.x application, The code is not easy to port to Qt 4.x, even more difficult to change the look and feel (which would help for the feature mentioned above )” is offensive weazel reasoning.

    2. System configuration and Desktop environment configuration are traditionally distinct in the Linux field and it is a legacy condition. Modern Desktop Environments have to integrate these configuration frontends, so distributors can build backends. The underlying purpose is to harmonize and standardize distributions on the interface level.

    3. “think the answer to this question is the same as the inverse. Why should we?” Because users want it.

  9. December 17, 2008
    Luis said...

    The Mac OS X System preferences is so much better designed than system settings XD (But windows approach sucks).

    It’s showing more icons, in less space, while looking less cluttered. KDE devs should take a hint from that.

  10. December 17, 2008
    Carlos said...

    Why not place Yast modules in a new System Settings tab called “YAST” or “SUSE”?

  11. December 17, 2008
    olllowtf said...

    thorGT, +1 , But we should rename KDE “System settings” and drop some hardware-/service-related modules. It makes users confused. Many of them expect all-in-one “Control Panel” ™ :) or Apple’s all-in-one “System Preferences”(tm), but find many look&feel options, poor hardware settings and SAMBA server(!!!) at “Advanced” tab…

    Another example: “Network settings”. Yes, it’s network settings, but it’s network settings of KDE. And user just want to set up internet connection via dsl or lan. WTF? Is it all GUI settings for network in this &^^%%$$ linux? User is confused and want back to XP(tm).

    I’ve install KDE 4.2b and there is no “System settings”, there is “PERSONAL settings”, PERSONAL. I don’t know, was this change made by openSUSE team or KDE developers, but I like it. It’s simple and clear : Personal settings and Administrator settings (YaST).

    IMHO, YaST has clear logical structure, all we need is logical structure for Personal settings without module duplications.

  12. December 17, 2008
    Rp said...

    I agree with thorGT and Andy.

  13. December 18, 2008
    Grósz Dániel said...

    “YaST was destroyed by Novell on ideological purpose.”

    What do you mean by that? What is destroyed in YaST?

  14. December 18, 2008
    duncan said...

    YaST was destroyed by Novell on ideological purpose. A remark as “The fact that it still is a Qt 3.x application, The code is not easy to port to Qt 4.x, even more difficult to change the look and feel (which would help for the feature mentioned above )” is offensive weazel reasoning.

    @andre

    I don’t have the energy to follow up on conspiracy theories caused by lack of information and imagination.

    I have the impression you are mixing things. We are only talking here about the control center. Not YaST. YaST is user interface independent and has support for ncurses, Qt 4.x and gtk, and the Qt interface has nice styling support for the installer since 11.0.

    The control center is a very small application, it is Qt 3.x based, and the comment about the difficulty for porting it or extending it is based on empiric evidence. I invite you to look at http://svn.opensuse.org/svn/yast/trunk/control-center/ , all the code is there and we are open for suggestions on how the code can be reused.

    With this facts, and also with all the great feedback YaST got from the community because the improvements in the last major versions, I must say your comment “YaST was destroyed by Novell on ideological purpose” is incorrect and unfair.

  15. December 18, 2008
    Giovanni Masucci said...

    I’m too for removing duplicates between yast and systemsettings and creating a tab in system settings called yast (or administration), if it’s technically possible to do so. If not it’s ok to keep them separate, but the most important thing is to remove confusing duplicates… :)

  16. December 18, 2008
    Temet said...

    Hello, may I ask something?

    Why “Personal Settings” and not “Personal settings”? Why “Default Applications” and not “Default applications”?

    I mean, why all the words have an uppercase letter ? This is not correct in language grammar (at least in french) : only the first word should have the first letter uppercase?

    Is it really needed to reproduce the errors of Mac or Windows to be competitive? I hope not! ;)

    For someone who likes his language, like me… it’s in fact a bug!

    (yeah, sorry for my english… I’m just a french guy! :D )

  17. December 18, 2008
    Loic Marteau said...

    In fact youre right, system settings in KDE are more about User Desktop Settings.

    But there is some module inside that perhaps can be considered as system modules (Samba, Kdm, Printers in kde3 and perhaps soon back in kde4). This is not very clear.

    Why not rename system Settings in KDE by Desktop Settings, perhaps this will less confuse the user ?

    Or let system settings and create a specific Desktop settings tab and a system settings one inside?

    Without talking of where they should be, is there some module in Yast that it can be relevant to have directly in KDE upstream ?

    Cheers

  18. December 18, 2008
    rawsausage said...

    What you missed in the Microsoft’s MMC based control view is that the MMC add-ons are mostly network transparent. Although you normally use them against your own local computer (as from the control panel view), most of them can be pointed to do exactly the same to an other computer.

    Just a hint in case you did know. MMC is some 10+ years ahead in development.

  19. December 18, 2008
    Thomas Thym said...

    Some weeks ago I found the following document from the gnome community about the design of the system setting dialog. They compare the Vista, OS X and Kubuntu dialogs and add their own ideas at the end. I think it might not be the worst thing to have a look and think about a comparable design for Linux Desktop Environments.

    http://live.gnome.org/SystemSettings

    Cheers

  20. December 18, 2008
    Teo said...

    You might be interested in this Bug Report: http://bugs.kde.org/show_bug.cgi?id=153556 There’s a lot of people who dislike System Settings and strongly oppose the political pressure that has pushed Kubuntu’s System Settings upstream into KDE4 in place of KDE3’s KControl. At that time KControl was already half ported to KDE4 IIRC. The “usability studies” behind System Settings are questionable at best, and while I admit KControl wasn’t perfect, having System Settings in KDE4 instead of KControl is a real regression. Do you see the possibility of having an interface like KControl for YaST that loads kcmodules too? Or maybe a patch to System Settings to add a treeview?

  21. December 19, 2008
    thorGT said...

    Coming back to the YaST/System Settings: the problem here seems to be much deeper than a simple design/usability issue. It seems that in linux (here, opensuse), the operating system is separated from the desktop, so that only provides a backend for the desktop. So then there come OS settings and desktop settings, and the OS and the desktop appear to know almost nothing about each other (well, that’s what I see in our case with two settings). But the user want an integrated workspace and a unified settings tool. This means that we need unified efforts from both the desktop and OS developers, which have to work in sync at least in such cases(or they already do? I really don’t know). (Well, this may be out of topic (general OS design), but don’t we see examples of unified OS/desktop in Linux? sure we do) And btw this exact problem is why they have only one system settings in Apple/M$.

  22. September 13, 2009
    a.k.m said...

    IMHO we should look at tasma(Pardus) how they have customised systemsettings with user and administrator modules and design…many are saying it can do mostly everything mcc/yast can do. Well still now it is in development so some features are not there. But including so many features doesnt make it bloated with 80 icons….Because they designed it well…..nd its pardus’s one of the greatest strengths

Leave a Reply