Thursday, November 19. 2009Micro-Options, Many-Options, No-Options? A practical guide to help you decide.
Not very long ago, Aaron wrote an article about improving our user experience, stating that "Micro-Options Suck". Coincidentally, an article appeared on dot.kde.org only a few hours later, stating the following: "Choice Is Not A Usability Problem".
Ardent readers will notice that there is possibly a contradiction here. In this article I would like to explain why this is not really a contradiction, but rather a misunderstanding. To get us started, let's make a jump back in time (using Flux Capacitor technology): The year is 2004. It's cold. You are alone. There is a house in the north (called "KDE"), and a house in the south ("GNOME"). Press "n" or "s". > n You have entered the house of KDE. It's a big house, full of obscure items. The sheer number of items is highly impressive, but you get confused. It is too much. What is your next step? Press "n" or "s". > s You have entered the house of GNOME. This house is neat, clean, but also kind of empty. There are very few things to play with. You get confused. What is your next step? > I give up. User reboots into Windows. The gist of this little analogy: KDE was wrong. GNOME was wrong. Also - they both were right! This is quite obviously another contradiction. Obviously this means that Mark is not quite right in the head! Well, you're possibly right on both accounts, but let me explain why it actually makes sense: The truth is somewhere in between. KDE has historically been known for being "the nerd's desktop". Basically, we were so proud of having our own desktop that we quickly determined that giving everyone as much freedom as possible is ideal. After all, the competition (Windows) did not offer this. Developer A came along, going "Hey, I have this fancy idea. It's a bit weird, but let me show you!". Developer B was quick to reply: "Hell yeah, why not? After all this is our own desktop. We can make all of our dreams come true. Let's do it!" GNOME has historically been known for being very sparse with options. They did this for a good reason: Someone smart realized that KDE was totally going overboard with options. Too much is too much. Let me show you a classical example: ![]() Now let me show you an example of the Dolphin settings dialog: ![]() Dolphin has won 2009's Akademy Award for "Best Application". The above screenshot demonstrates one of our reasons for choosing it: Peter Penz realized what generations of GUI developers (both in KDE and GNOME) got wrong: The true secret to getting your settings right is choosing the essential ones, while making good choices for defaults that don't need micro-options. Unfortunately, this is not easy, and it separates the good GUI designer from the bad one. In fact making these choices is bloody damn hard, I kid you not. It requires a lot of thought, experience, and taste. But in the end, you, as a developer, are responsible for making these choices. Creating software is not about giving the user a LEGO blocks game. If options get too complex, the users might as well learn programming and do it all by themselves. That's because, if you think about it, choosing an option is programming: You make the program use one code path, or a different one. This is essentially the same as an "if() {}; else() {};" block wrapped in GUI sugar. To sum it up: That's it for this time, I hope you will be able to get something useful out of this blog. Remember, it's not meant as bashing, but rather as useful advice, stemming from many years of experience with these things (we Amarok developers have made our good share of mistakes as well, there is little doubt about that). Thanks for reading Trackbacks
Trackback specific URI for this entry
No Trackbacks
Comments
Display comments as
(Linear | Threaded)
I recently installed KDE4.3 on a spare disk. I like the new "folder view" thing. It gives me choices I don't have in KDE3.5. But it falls down due to its not being just another window. If it were, I could limit it to one workspace. I could minimize it. I could control it like other windows. Why not make it just another window? Not like dolphin, which has stuff top/bottom/left/right. Just a window.
Grub2 has no perceived advantage, in addition to a lack of documentation. I don't see the point in switching from grub to grub2.
grub2 has nothing to do with kde. at all
the folderview widget is a plasma widget--it's not a window. at all, period. it is supposed to be on your desktop (or your dashboard). you can always turn dolphin into something that looks very much like the folderview widget.
You can make Dolphin/Konqueror look pretty much like Folderview:
http://hanswchen.files.wordpress.com/2009/01/folderview-dolphin.png It's also possible to link your "desktop" (activity) to your virtual desktops: http://userbase.kde.org/images.userbase/6/6b/Plasma_howto-activity-link.gif
While I agree with your premise, your choice of bad options window to choose for konqueror is quite poor. There are many cluttered options pages that are not highly useful. The one you chose is a security dialog, and the ability to purposefully remove low security ciphers is not a bad thing. This is a choice that should be available to the user. The compromise is compatability.
Security vs compatability should not be hard coded.
Except that noone besides Bruce Schneier is going to understand this dialog. This doesn't help security, it weakens it.
Clicking one wrong button (of the many obscure ones) could get you in a lot of trouble.
While I agree that options are not replacements for good defaults, there certainly is a problem with giving the user few options in KDE specifically:
1) Many KDE 3 users used KDE specifically for the many options. KDE was for the micro-managers, the sheeple had gnome or Windows, those with a taste for perfection had KDE. Those users put a lot of trust in KDE. Now, that trust is lost as they are stuck on KDE 3 with nowhere to turn. 2) If KDE will have less options out of the box, then maybe it could support addons like Mozilla applications do? In fact that was the purpose of Firefox: to provide a lightweight basic browser that the user could extend with addons. 3) KDE is now used on devices from smart phones to netbooks to laptops to desktops. No default configuration could handle all those configurations, each needs its own group of settings. 4) Useful options are excessively being removed in the name of simplicity: https://bugs.kde.org/show_bug.cgi?id=191341 Simple does not mean non-configurable.
The removal of options is why a particular application went from being my favourite music player and organizer to not being used. When the developers refuse to include options (like making panes movable or hide-able) even if those options have been developed and made available to be integrated in the trunk, just because they refuse to allow users to make a application look like it was in 1.x, then I no longer care. I look for another application.
Please don't make that to all KDE. I like being able to manage my applications without having to invest more time (that I don't have) learning QT and remembering C++. I don't like Gnome (or MSFT) approach "developers know best". I don't like survey oriented interfaces - they always end up being usable only by those that participated in the survey. I like choice - don't take it away. Hide it with a "advanced" interface if needed, but don't remove choice. If I don't have choice, I might as well go to Gnome.
the panes are movable. they are removable. do what you will. and please stop spreading misinformation.
If that is true, then I apologize. Last time I tried (in kubuntu) they weren't. Should have installed and tested amarok again before doing that remark.
I apologize, I was wrong. I still don't like the new amarok (in particular the list), but I can now move and hide the panes. My wrong, I apologize to everyone.
I like KDE specifically for its options and konfigurability. Please don't take that away!
"Often options are bad excuses for deciding between one bad implementation and another bad one. Find a good one!"
You're just so right. I've experienced this when I was working on Palapeli (my jigsaw puzzle game which is currently in kdereview). Puzzle pieces can only be moved inside the puzzle table area, and one could configure this area's to some multiple of the image size. You could. Until I removed that option and instead made the puzzle table expand automatically when you move pieces to the border. A similar thing was the checkboxes for "Enable antialiasing", "Enable drop shadows" and "Enable hardware acceleration". All of them are gone now, because QGraphicsView is so blazingly fast today that all bling can be rendered fluently without hardware acceleration.
These are really good examples of how better technology can get rid of options.
You should probably things those options automatically if the graphics level is low:
KGlobalSettings::graphicEffectsLevel() http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classKGlobalSettings.html Please obey this function
Best Planet KDE post in a long time. Great job Markey
Thanks Max. This means a lot, coming from you. I have actually learned quite a bit from you regarding GUI design.
You think this is bad? How about a million compile time options?
./configure --enable-slapping-user Anyway great article!
You can actually set up each desktop to be its own environment. This will let you set up unique backgrounds/wallpapers and desktop specific plasma widgets/applets.
To do this : Click on the Desktop Cashew in the upper right corner of your screen. A pop out menu will appear; Select the Configure Plasm... option. A dialog box will appear with two options: Different Activity for each desktop Use a separate dashboard Enable "Different Activity for each desktop". Now you can set up a unique folderview plasmoid/applet/widget/thingy on each desktop. HTH, Ron
Oops, somehow the above got top-posted. I meant it as a reply to post #1 by Roland. Sorry.
This is a very good example of one main feature of KDE that I really do not understand why it was eliminated!
Solution? Ron, I can't find that! On my system (KDE 4.3.2) there is no option like that: ""Different Activity for each desktop". Regards Martin
I don't see any reason why all the confusing KDE options could not be hidden behind an "Advanced" button (not necessarily password protected). When Advanced is pressed as warning on the opening dialog says "Don't touch unless you know what you are doing, you could ....." (or something).
Opensuse's Yast/System Settings is subject to the "confusion" of too many places to modify one item e.g. you just need one button called "Screen" (or Monitor). You can still have all the options you want but limit the number of ways to access them.
An "Advanced" mode is an old idea, it comes with problems of its own:
Who is advanced, and with what specifically? For example, I might be really advanced with configuring color schemes up to the tiniest detail. At the same time, I could be totally unexperienced with configuring a crypto system. Does that make me an advanced user, or an unadvanced one?
I know its an old idea but it works. Just because an idea is old doesn't mean its bad, maybe it can be refined.
I see it more for advanced options rather than advanced user. It allows you to hide fine grain configuration options that are not required to be seen by someone who is quite happy with sensible defaults but also accessible to those that want to play.
> Who is advanced, and with
> what specifically? What is advanced, not who: the option. These would be options that would interest only a minority of users, yet would be very important to that minority. These would be the features that would otherwise be not included for the sake of simplicity. See for instance this bug: https://bugs.kde.org/show_bug.cgi?id=191342
Maybe it depends on who is reading it, but to me "Advanced" always suggests that the options are expected to only be understandable to an expert user.
One way to remove the implication that the user needs to be expert to use "Advanced" options is to change the label to "More options", "Extra options" etc.
Well Mark, if you as a developer decide to remove funtionality because of the easiness to use you yourself decided exactly what you just told us:
You cut options and therefor push us kde users back to be nerds in the negative sense of this word. Or in other words: If you e.g. remove configuration options out of the menu the typical Linux hacker that prefers the shell is the looky guy noone else! (I do have some good friends that have been Linux hackers since the 90th!) So I think lan is write. Best way would be the option of "cascading" the functionality. Worst way is to simply remove functionality! A pitty that the kde developers seem to have chosen the last way. You should think over this! Regards, Martin
Everyone thinking about choices, settings and options should watch the "the paradox of choice"- talk on Ted-talks. It's really insightful.
Options and the like are only useful of the system does not work the way you want it to work. If it does, then those options are useless. If there are lots of options, you reduce user-satisfaction, since the user will constantly second-guess that "would some other config-combination work better?" and because when things do not work optImally, user has no-one but himself to blame, since he could re-configure the system anyway he likes. With few options the user is happier because when things don't work, he can know that he's not to blame. In the Ted-talk it was mentioned that more choices reduce the number of choices made. By having fewer choices the users would be more comfortable in making those choices, since they would understand them. The user would be empowered to make a choice, having lots of options makes it harder to choose anything. Also, calling GNOME-users "sheeple" is not smart nor kind...
Thank you very much for this "Paradox of Choice" tip. That's a very good theory indeed, and I think it's true.
If anyone else is interested, here is a Wikipedia page about it: http://en.wikipedia.org/wiki/The_Paradox_of_Choice
Excellent Article... It's great to see somebody hit the nail on the head.
Often I need some of those Micro options and if they were removed I would be pissed as hell. However if things implemented better so that I no longer needed that option I would be very happy. I think it is best to make everything as simple as possible but no simpler...
Thanks
I really like your quote: "It is best to make everything as simple as possible, but not simpler..." (originally by Antoine de Saint Exupéry) I think this hits home, fits very well here.
Thanks for the article. I completely agree with you and hope it is applied to the kdepim package as well. In general it is getting much better in KDE.
Every time I have to configure something in any kdepim application it takes hours of trial and error. In my university almost everything is based on MS stuff like exchange server, active directory.... I am one of the few refusing to use Windows in the office, so I have to configure it myself. Luckily, there are Mac OS examples since the designers use that, so I have to transfer that to Linux. Ever tried to configure ldap? Mac OS has one field for the server, one for ssl one for a port. In kaddressbook I'm confronted with 5 input fields and 5 fields for ports and stuff like that plus 6 switches for security and login. Am I supposed to try all possible combinations to find out what is working? And why does it work just as fine for Apple with so few options? As much as I like spending time on the computer learning something, that is too much. So I hope you guys communicate! |
Amarok LinksCalendar
QuicksearchCategoriesSyndicate This BlogBlog Administration |
|||||||||||||||||||||||||||||||||||||||||||||||||

