Software Choices, Blocking

I had a TEDTalk recommended to me a few months ago called “The Paradox of Choice” and it’s one of those must read books for people who want to do effective UI design. It’s a very good scientific explanation of why presenting users with millions of choices is a bad idea.

The first problem is that we can end up paralysing users with choices they can’t make because they don’t have the information or skill available to correctly decide what to enter.

The best way to solve this of course is to make intelligent choices on behalf of the user. Either by not presenting them with dialogs at all (thus not blocking their progress) or by setting reasonable defaults in all boxes. There is a third option, which is to make each option an idea and mix together using dialectics: so non-compatible options are not shown at the same time, symmetrical choices are collapsed and non-essential options deprecated from view but not eliminated.

The second problem of course is that the more options we present to the user the more unhappy they will be with the choice they finally do make. Because the choice puts an expectation in the user’s mind that the result should be perfect.

Take for instance the number of choices available on Gnome Look for window decoration and themes. The problem is that there are thousands of possible themes to choose from and no matter what you pick, none of them are going to be perfect.

What’s more damaging to the spirit is the difficulty of trying out all these options, there is not automatic installer for them, they’re not packaged correctly, most of them are hosted on unreliable sites, everyone of them is different and confusing to set up right.

If we want to allow users to make good choices to suite their tastes, then we must make those choices easy to experience and discard. The experience of choosing can’t be inconsistent as in the case of gnome look as that just makes us feel worse that we failed because we weren’t able to put up with the problems more in order to find the perfect theme. Lower the barriers to change and people will be a little more happy with the choice.

Now to the dark side of limiting choices. Of course removing all choice can be bad and my example is Canonical’s Ayatana group. They have proven that it’s very easy to get confused between removing blocking choices (where the user can’t proceed without making a choice) and removing all choice completely which limits experimentation. Gone is the good design of choice and in it’s place is the policy of eradicating it systematically.

But there are users who are more experimental and they want to see options and choices because they want to poke at the system and see if they can come up with a more useful, more efficient, more poetic interface than the default. What ends up happening though is that by removing all options we force opportunistic experimenters to become programmers*. Most do not want that kind of burden and will simply not experiment at all, to the detriment of advancement in design.

I believe these opportunistic experimenters are a healthy part of the community, they bring new ideas and thoughts into the community dialectic system. We should encourage non-blocking, non-visible options as much as possible to foster this community.

What are your thoughts?

* Editors take existing things and rework them into something new, Artists take a blank canvas and create from their mind. Bug fixers are more editors, project creators are more artists, but everyone does both to some degree.

12 thoughts on “Software Choices, Blocking

  1. Actually you make them KDE users, not programmers. The ability to explore alternatives to make the system work the way that works best for you is a core KDE design goal.

  2. You said that your example of removing all choice was the Ayatana project by Canonical–but you didn’t actually provide an example. Can you provide an example (or two) of when they’ve removed all choice from something?

    I mainly associate them with the beautiful new message notification system in Ubuntu.

  3. I agree with you completely. I believe you and I were on the Ayatana list expressing the same sentiments some time last year.

    My specific example was the limitation of functionality of libnotify without a coherent solution for applications that required interaction. Their solution was to leave it up to the application developer. This will result in the same sort of mess that they are trying to clean up with the indicator applets. When we tried to point this fact out, the list went private.

    I have the greatest respect for the Ayatana initiative and hope that they achieve their goals, but I’m afraid some of their design decisions may splinter Ubuntu and Gnome if they are not careful.

  4. @Nathan Haines

    Example: The new notification system you speak of removed the ability to acknowledge a notification to get it out of the way once you have seen it. They have also removed the ability for users to interact with those notifications.

    Example: Moved the window close/max/min buttons from the right side to the wrong(left) side with no easy/intuitive way for the average user to put it back.

    Example: Not ubuntu’s call exactly, but the recent gnome decision to remove menu icons and again, no user friendly way to put them back.

  5. I’ve had a number of problems with the removal of choice.

    I like my cursor in forms to blink so I know which field is active. I hate it when the cursors in all my terminals blink because I always know where the cursor is, I use many terminals and all the blinking is annoying. A decision was made to remove the blink option from the terminal and to use the blink option of text boxes. The only fix involved a patch and recompile.

    I used to be able to use my right mouse button in terminals and other programs to mark the end of a cut-n-paste selection. Now the right button is almost always a menu, even in apps that don’t need one like the terminal window. There used to be options to get that behavior back. I haven’t been able to find it recently without going back to the old Xterm and giving up unicode.

    I used to have sound that worked great using a very efficient multi-channel, hardware-mixing sound card. Pulse audio will not work with that card and there is no way to remove Pulse audio from Ubuntu with out breaking sound in at least some things that used to work before Pulse entered the picture. And even then you also have to remove the base Ubuntu-desktop package.

    I used to be able to have the windowing system open my first window in the top left corner of the screen and then tile the rest of the windows intelligently after that. Now the first window gets opened about an inch & a half from the top of the screen and two inches from the side. If I place that window where I had wanted it in the first place all the other windows are placed fine. Otherwise I’m left with a bunch of wasted screen space.

    I also prefer to not have windows jump to the top just because I clicked in them. This was a common Xwindows behavior for decades. It turns I *can* still get the behavior I want. First I have to install gconf-editor. Then I have to edit the gnome registry and look for a click-to-raise setting to turn it off. But if I want to copy my config to a multiple machines, I have to manual install gconfig-editor on each one since I have no idea how to backup just the configuration for one app from the registry. I’ve just discovered tonight there is a file .gconf/apps/metacity/general/%gconf.xml with that setting and several others I’ve never touched. I have no idea if I’m even allowed to modify that file by hand much less move it between machines.

    I have to admit it. I’m way past my days of idle exploration. I just want to be able to work in the way that be very efficient for me for over a decade and a half. I’m tired of losing that ability because someone else has decided I should not need things to work in a given way any more. I don’t want to hear what is easiest for a new user. I haven’t been a new user for a long time. I just want to be a comfortable user. I don’t want to how things are done on some other operating system. If I wanted that, I’d be on some other operating system.

    I hate to say it, but parts of the Open Source community are seeming to be very in favor of change and very against choice. Gnome, Fedora & Ubuntu feel like they are at the forefront of it. I know there’s Kubuntu and Xubuntu but I’ve been reading the blogs enough to see that they keep getting broken in terrible ways by changes in the main Ubuntu repository by developers who don’t care to coordinate the sub-projects.

    Choice has always been a good thing about UNIX. You could tailor it to your needs. Open Source in general and Linux specifically had always been better because there was even more choice. UNIX’s slogan should have been “We’re more flexible that you are.” Linux could have followed up with “We’re more flexible than that!” But these day, it seem that if you want to run with something even close the mainstream without default options, you have to give up that choice or accept that you have to make your configuration decisions prior to compiling your own version of the software.

    Edd

  6. I have no problem with Ubuntu (and Canonical) making “opinionated choices” about the desktop: in fact, I think it’s a great idea to have wonderful default configurations and to emphasize convention over configuration. Ubuntu should include apps like “Ubuntu Tweak” or the recently mocked up GNOME configuration panel in order to make changing these defaults as easy as possible.

    By the way, Eddward, you don’t actually need to use gconf-editor. You can use the command line gconftool to set it if you want, and this can be scripted.

  7. What’s more damaging to the spirit is the difficulty of trying out all these options, there is not automatic installer for them, they’re not packaged correctly, most of them are hosted on unreliable sites, everyone of them is different and confusing to set up right.

    No, what’s really damaging to the spirit is when a user makes the effort to go through all those options, finds what they like and sets those options as default–only to lose them\be unable to set them again as the newer versions of the desktop or software gets released. Others have mentioned the icon issue, the buttons issue, but I’m also talking about being able to do basic things like remove your username from the panel without losing the ability to shutdown the system! Or being able to use the much more accurate battstat applet instead of the buggy and inaccurate gnome-powermanager to display the amount of battery life left…

    What is really difficult for a user, someone who wants to configure their systems and then work or play, or surf, etc on their computers is figuring out something that works for them and being unable to replicate that again later.

    –bornagainpenguin

  8. Eddward, with all respect, maybe you’re too egocentric?
    You write only about what YOU would like to see, but don’t seem to care about any other groups of users.

    Most of my friends and family are not geeks, they don’t “configure” their computers, they use them. In a simple way.
    So what’s wrong with Ubuntu existing for this kind of people (basic users)?
    Why don’t you use an over-geek friendly distro, if you dislike Ubuntu?

    Best regards,
    Johannes

  9. Johannes: The problem is that your view is short sighted. You need all kinds of people in a community, not just casual users being spoon fed by a company which is proxying value from corporate sponsors. One of the strengths we have is that we have a layer of people who are curious and interested in new shiny things, they give them a try and they push at improving the things that work well.

    This is how a lot of things get discovered.

    It’s not how things get made or developed. But then again development isn’t creation of ideas.

  10. Good points, this choice paradox is something that must be very challenging for Ubuntu/Linux developers to create policies around in their designs. I was thinking about the paradox issue myself, and wondering if there was a scientific approach. The paradox is, I find, better handled by Ubuntu as it evolves into it’s full maturity….which I think is happening now. That’s a good sign I think. Common sense is also a workaround when a policy cannot explain what to do, perhaps.

Comments are closed.