Slashdot Mirror


OpenUsability and KDE: Cooperating on KPDF

sultanoslack writes "More from the world of usability in KDE -- there's an interview up where Albert Astals Cid, the KPDF maintainer, and Florian Grässle, a usability engineer from OpenUsability on working together to make KPDF more usable and some of the challenges in working together in a developer / usability engineer team. We've been seeing more from the OpenUsability folks lately, and they'll also be present doing a talk and staffing a booth this week at LinuxTag, Europe's largest Open Source conference." This interview-with-screenshots provides a neat look at the interaction of usability concerns and software development.

16 of 184 comments (clear)

  1. Nice development by moz25 · · Score: 4, Interesting

    I certainly welcome this development. Usability is not exactly the first thing that comes to mind with a lot of open source software. This is an area that proprietary software companies still have an edge on because they're also in a position to pay for the extra work going into interface design.

    Basically there are several aspects a good interface should fulfill -- like preventing errors before they happen and the user has to deal with them or giving the user control and freedom over the application (and not vice versa), offering an efficient interface and so on.

    I'm not sure how errors can be prevented, assuming that they're not within control of the application. Does he mean design errors? Can someone explain?

    1. Re:Nice development by kebes · · Score: 3, Interesting

      I agree with the "preventing errors before they happen" concept. Basically the application should warn you that a value is erroneous at the first opportunity. You shouldn't have to wait until you're trying to save a document for the error to screw you. You shouldn't even have to wait until clicking "OK" for an error box to show up saying a value is out of bounds... basically helpful tooltips should appear as you are typing, warning you if your input doesn't makes sense or is out of bounds or whatever.

      Applications can also be built to "look" for certain kinds of common problems and take action. For instance, an application can keep watch of memory or disk space, so instead of just getting a "disk full" error or whatever, the user is warned enough ahead of time that he can deal with the problem... rather than losing the work he's done.

    2. Re:Nice development by rg3 · · Score: 3, Insightful

      Eventhough this doesn't relate to GUI applications, just imagine:

      $ rm -fr /
      This will erase the whole tree! Type "Yes, I know" to continue: _

      Even for correct input, an application should prevent you from making dangerous actions and things that, while for a computer are perfectly legal, might be an error from the human point of view.

      The rm example is just an example. You have to take into account the type of users that are using your application, if they're experts or not, etc. Well, sometimes a little bit of error prevention from the application can save your ass :).

    3. Re:Nice development by fermion · · Score: 3, Insightful
      I'm not sure how errors can be prevented, assuming that they're not within control of the application. Does he mean design errors? Can someone explain?

      First, errors typically mean that the user did not experience the expected outcome, and is not typically a judgemental statement. My unmderstanding of this is that a human will expect certain things, and will act based on past experience. For instance, on a web page certain colors have come to mean visited links, while others will attract attention. So, to maximize success, one want to follow existing guidelines and use colors so that the most often used content will be highlighted.

      For the OS, this means that the user is able to do what he or she expects. For instance, if the OS brings an unrequested(by the user) inactive windows into focus or allowing dialog boxes from background processes to the foregroung will often lead to user error. The OS should therefore typically allow the user to work in the foreground application while attracting the user attention in a non-hostile way.

      Other things quickly come to mind. The default box in an exit query should neither be save or discard, but cancel. We figured this out many years ago in vi. Autosave is fine, but it should not save over the actual file. Unlimited undo is a blessing. Having the menus in the same place and in the same order utilizes the human habit of repitition to maximize succes.

      Like in any process much of the success of the human factor comes from the way of the design. All to often the designers will blame the user when it is really the incompentent design. A sucessful design makes the next logical step the path of least resistance. For most tasks, it should not require years of training to utilize the interface.

      --
      "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
  2. Good Thing(TM) by neurokaotix · · Score: 5, Insightful

    The OpenUsability group is exactly what is needed in the Linux/open source community right now. Standards on how software should be layed out and behave is one of the major setbacks in the open source community. It seems as if just about everyone has their own version and great idea on how an application should be layed out. This is one reason (just one) why Windows will continue to have an edge in the desktop market. On Windows you can open just about any application and already know how to use it (at least, at the most basic level). If you've used Microsoft Word then you've got a head start on knowing Internet Explorer, Notepad, and Calc.exe.

    --
    "...if people respected copyright more, like you guys do with the GPL so religiously, [the DMCA] wouldn't be necessary."
    1. Re:Good Thing(TM) by pherthyl · · Score: 3, Insightful

      You're quite wrong in that respect. Just because there are two widget sets with about equal popularity on Linux doesn't mean that applications are not consistent.
      My Linux (KDE) environment is much more consistent than my Windows environment. In windows, a lot of apps roll their own widgets (off the top of my head, MS Office, Visual Studio, Firefox, MSN Messenger, Winamp, Various proprietary apps for hardware devices, Zonealarm firewall, AVG antivirus)
      Hell, every second application I use on Windows has it's own idea of what widgets to use or what keyboard shortcuts to assign.

      In KDE, the only application I run that doesn't use KDE widgets and standard keyboard shortcuts is Firefox. Every other application is very predictable and consistent.

      Also, consistancy goes further than just looks and keyboard shortcuts. In KDE, the advanced text editor widget is the same in every editor, so I get the same syntax highlighting and code folding and whatever if I'm editing C++ in KDevelop or if I'm doing PHP in Quanta or viewing a text file in Kate. In addition, I get the same spell checking whether I'm typing an email in Kontact, typing an instant message in Kopete, or submitting a form in Konqueror. I could go on. Network transparency, password storing, mouse gestures.. All these things are standard across the whole platform.

      Now that is a level of consistency not matched in ANY other platform.

  3. Linux v. OS X by dotslashdot · · Score: 4, Insightful

    What's the difference between Linux & OS X? Usability. And that makes all the difference. HUGE difference. KDE is great, Konqueror is nothing short of amazing in its versatility, but the lack of polish can really hurt Linux distributions. Do you want to spend your days trying to figure out why your scanner suddenly doesn't work well under the new Mandrake/Fedora/SuSe or do you want to use your scanner? Usability is important--even for Geeks--because allows you to accomplish what you need/want to do. If you enjoy trying to fix things, that's great, but most people need their computers for work/play and don't have the time or inclination to troubleshoot their main desktop computer.

    1. Re:Linux v. OS X by LMCBoy · · Score: 4, Insightful

      What's the difference between Linux & OS X? Usability.

      Eh...I'd say KDE usability is actually better than OS X in many respects. What you describe in your post is hardware compatibility, not usability.

      --
      Liberal (adj.): Free from bigotry; open to progress; tolerant of others.
    2. Re:Linux v. OS X by zsau · · Score: 3, Insightful

      Macs aren't the be-all-end-all of usability. The Mac UI has many problems itself: Consider the case of menus for instance. If you click, it closes the menu. That seems to make sense, except when you consider that it closes the menu if you click on a separator (which you probably did because you mis-aimed given that there's no clear separator between the separator and the items above and below ... now you need to open the menu again, re-aim, and perhaps repeat!), and the menu closes if you click an item with a submenu, which you probably did because you want the damn thing to open!

      Not to mention the amount of times I've been confused/lost time (or even slept in!) because some dialog boxes are instant apply, others are apply-when-you-close and others are explicit-apply. Of course you have to guess which is which (even different pages of the same, central System Preferences box behave randomly differently!), whereas in X, the different desktop environments either behave close enough or look radically different.

      I'm not saying that X-based Dekstop Environments have no usability problems, or even necessarily that they have less. I'm saying that we shouldn't glorify OS X, because it's just the same mess we already have, but with the menubar at the top of the screen.

      (Whether your scanner works isn't an issue of usability really (it's an issue of driver support), and in any case it's something that's being worked on. Many distributions allow you to plug in hardware and have it 'just work' nowadays, and just as Mac OS X has drivers for some thingns Linux doesn't, Linux has drivers for some (modern, desktop-oriented) things Mac OS X doesn't. If you want any random piece of hardware working, you use Windows.)

      --
      Look out!
  4. Linux usability definitely needs a lot of work by timecop · · Score: 5, Interesting

    The other day I downloaded Fedora Core 4 DVD to try it out.

    Usability problems already began right at the installer. Below is some things I noticed that should probably have been fixed long time ago:

    1) I noticed the installer was using gnome-themed Yes/No dialog boxes when it wanted to ask questions. The problem is, half of those dialogs used GTK2's Yes/No buttons (red/green circle) and the other half used GNOME's yes/no buttons - green enter symbol and a red X. This is very inconsistent and confusing to the user.
    2) At a number of times, default option in a Yes/No dialog was not the "cancel" one but one which would make irreversible changes. This is not good - what if someone accidentally presses "enter" on a dialog like this?
    3) Keyboard navigation, while present had several bugs. At one point, installer asked for a root password, and when I entered a "weak" password, it popped up a warning dialog about this. The problem is, after I dismissed the dialog (with a esc key), keyboard focus was no longer on the installer! (or anythign else for that matter, no amount of alt-tabbing or pressing tab would get the focus back on the installer. If someone without a mouse was running this, at this point they have no other choice but to abort the install and start from beginning.

    There was some other issues, but these are all I can remember off hand, and remember, this is just in the OS installer (GUI) itself! I can't imagine how much worse it gets once the system is installed and gets used. So, to make a long story short, any kind of cooperation to take usability one step higher is certainly welcome. Unfortunately this is only for a single KDE app, which isnt really unique in its function, but any change is better than nothing.

    1. Re:Linux usability definitely needs a lot of work by bullitB · · Score: 5, Insightful

      The problem is, half of those dialogs used GTK2's Yes/No buttons (red/green circle) and the other half used GNOME's yes/no buttons - green enter symbol and a red X. This is very inconsistent and confusing to the user.

      Not nearly as confusing as why everyone insists on perpetuating the Yes/No/Cancel paradigm. I don't see why no one else is adopting the new Apple-style verb-based dialog buttons. For example, in a Linux install I might see:

      "Your screen's fonts are of a really low resolution. Do you want to install 100 dpi X11 fonts? This will make the fonts look better, but you may want to not install the fonts to save disk space." ...with the buttons "Yes" and "No". This sucks. You basically have to read the entire alert to even know what's being asked, and even then there's some ambiguity. Does "Yes" mean yes, I want to save disk space? Does "No" mean I don't care about my hard drive, and want pretty fonts?

      A vastly more usable dialog would have buttons labeled "Install Fonts" and "Don't Install Fonts." No ambiguity, and the dialog itself is much easier to recognize.

    2. Re:Linux usability definitely needs a lot of work by Brandybuck · · Score: 4, Funny

      You basically have to read the entire alert to even know what's being asked...

      Pardon me for being dense, but what the fsck is wrong with that? Let me guess, the next Apple interface won't even have text, and dialog messages will consist of pantomime quicktime movies...

      --
      Don't blame me, I didn't vote for either of them!
    3. Re:Linux usability definitely needs a lot of work by pyrrhonist · · Score: 3, Insightful
      Pardon me for being dense, but what the fsck is wrong with that?

      What's wrong with it? It violates proper UI design!

      A properly designed dialog box does not force the user to think about what the choices will actually do. Dialog boxes with a long string of ambiguous text and Yes/No buttons violate this concept, because the user has to read the text very carefully before he makes a choice. This forces the user to stop thinking about what he was trying to actually accomplish with the application in the first place and forces him to figure out what the developer actually meant. This leads to both mistakes and a loss in user productivity. If the buttons are clearly labelled with what the choice will actually do, the user is less prone to make a mistake.

      --
      Show me on the doll where his noodly appendage touched you.
    4. Re:Linux usability definitely needs a lot of work by John+Newman · · Score: 3, Insightful
      A properly designed dialog box does not force the user to think about what the choices will actually do.
      I think you were thinking the right way, but you just gave a perfect example of the ambiguity of language that can torpedo the Yes/No/Cancel paradigm.

      It's not that the user shouldn't think about what the choices will do. Of course he should. That's the whole point of the box, to present options. (One of the repliers obviously misinterpeted your post in this way.) But the user shouldn't have to ever think about what the choices are, or have to stop to figure out how to properly interpret the text in the box. It's not about reading comprehension. It's about presenting a choice as clearly as possible. Verb-labeled buttons make the choices as stark as possible, so the user can spend his time weighing which choice is better, instead of working out what the heck the choices actually are.
    5. Re:Linux usability definitely needs a lot of work by pyrrhonist · · Score: 5, Insightful
      Aaargh! We've dumbed down the UI to the level of the flatworm! Why don't we just have a dialog box that has a nice smiley face and single button labeled "okey dokey"?

      It's not "dumbing down the UI", it's making the user's choices explicit to help him avoid mistakes. This should be the goal of all UIs. Think about it. Is it easier and less time consuming to use an unambiguous UI? Sure it is. Wouldn't you much rather use a simple to understand UI? Sure you would.

      The user shouldn't have to figure out what the developer means by "Yes" or "No" in relation to the message in the box. Dialogs with a Yes/No choice are hostile to the user and time consuming for even expert users (i.e. you can't just click a button without checking if it's the correct one first even if you've encountered the dialog before). When the buttons explicitly tell the user what the choice is going to do, it is easy for the user to pick out the correct choice without having to think about whether "Yes" means one thing or another. Furthermore, when the choices are explicit, expert users can move through the dialog much easier.

      Maybe an example would help. Consider if the following horribly screwed up message was displayed by a dialog box:

      Would you prefer to not expurgate another drive instead of drive C?
      First imagine this message with buttons labelled "Yes" and "No", and then imagine it with buttons labelled, "Erase C" and "Don't Erase C".

      Do you see how it's explicitly obvious what is about to happen with the second set of buttons no matter how screwed up the message in the dialog box is? The user does not have to figure out what action the button is going to perform in relation to the message, because it's obvious.

      Do you see that no matter how complicated the choices are, it's always easier for the user if the actions are explicitly labelled?

      --
      Show me on the doll where his noodly appendage touched you.