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.

32 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 N3Roaster · · Score: 2, Insightful

      Safety features on command line tools might be nice, but it would be hard to incorporate that sort of thing in a UNIX environment where the tools are often being called from shell scripts and such. If simple command line utilities are going to try to keep me from shooting myself in the foot, I want a flag for releasing the safety.

      P.S. If '$ rm -fr /' will erase the whole tree, your permissions are seriously messed up.

      --
      Remember RFC 873!
    4. 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
    5. Re:Nice development by HishamMuhammad · · Score: 2, Interesting

      The Z Shell features some heuristics for that. If a command line performs a completion on "*" and the command is "rm", it asks for confirmation, even with -f:

      hisham@brick /Depot/test]rm a*
      hisham@brick /Depot/test]rm *
      zsh: sure you want to delete all the files in /Depot/test [yn]? n
      hisham@brick /Depot/test]rm -f *
      zsh: sure you want to delete all the files in /Depot/test [yn]?


      Obviously, as everything in zsh, this is configurable (setopt -u rm_star_silent to disable it).

  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 Brandybuck · · Score: 2, Insightful

      If you've used Microsoft Word then you've got a head start on knowing Internet Explorer, Notepad, and Calc.exe.

      How is this any different from KDE or GNOME? If I've used KWord, for example, I've got a head start on knowing Konqueror, KWrite and kcalc.

      --
      Don't blame me, I didn't vote for either of them!
    2. Re:Good Thing(TM) by arose · · Score: 2, Informative
      --
      Analogies don't equal equalities, they are merely somewhat analogous.
    3. Re:Good Thing(TM) by nathanh · · Score: 2, Insightful
      On Windows you can open just about any application and already know how to use it (at least, at the most basic level).

      iTunes, Word, Photoshop, Winamp, Autocad, Antispyware...

      Yeah, they all look and work exactly the same. No differences whatsoever. Nosiree. Identical. Windows is a PANACEA for UI consistency, I tells ya.

    4. 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!
    3. Re:Linux v. OS X by LMCBoy · · Score: 2, Informative

      The problem with KDE is, even if its usability is fine, it's all thrown out the window as soon as you open non-KDE apps, because in their infinite wisdom, open source programmers decided to divide programs up into groups, each group having completely different interfaces and settings.

      Yes, this is completely unique to open source. OS X would never craft a commpletely unique interface for, say, Quicktime. Or The Calculator. It's all about the HIG for them, right?

      The larger point here is that opne source developers are not a single entity, so *of course* they don't necessarily coordinate UI decisions. However, this is starting to change.
      And commercial desktops like OS X and Windows don't have this excuse.

      Even simple dialog boxes seem to be over 1200 pixels wide.

      I hate to call you a liar, can you tell us what this "simpe" dialog is?

      --
      Liberal (adj.): Free from bigotry; open to progress; tolerant of others.
  4. Usability is a good thing by mislam · · Score: 2, Interesting

    Glad to see usability of open source software coming to fore front of the development. This is vital in terms of winning the heart and sould (and mind?) of regular everyday Joe users.

  5. 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 John+Newman · · Score: 2, Insightful
      This is a yes or no question. Yes I want to install them. No I don't.
      It takes five seconds of programmer time to substitute "Install fonts" and "Don't install fonts" for "Yes" and "No", and the choices are now absolutely unambiguous. Any programmer with half a brain would realize those five seconds will save his users, not to mention his company's support folks, hours of time in aggregate - re-reading the text, undoing an undesired action, looking for help, etc. It's not a matter of reading the box, it's a matter of understanding what "Yes" and "No" mean beyond a reaonable doubt without feeling like you're taking the SATs again. People are using your program to do something, not for the sake of the pure joy of having figured out what the heck you meant when you wrote that box at 4am.

      Longer explanation of why Yes/No just never works well:
      The box needs to be long enough to explain what it wants to do and why it wants to do it. For example, "Do you want to install 100 dpi X11 fonts?" makes absolutely no sense in isolation. Why is the computer asking me such an arcane question? You have to add the reason, like the GP did: "Your screen's fonts are of a really low resolution." For non-obvious questions like this, you also should explain why you might or might not want to choose either option: "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." Altogether, this makes a well-written and informative box, but it's long. Yes/No doesn't work after a paragraph. What part are you saying "Yes" to, anyway? But with verb-labeled buttons, it's instantly obvious. You can read and understand the text, and then don't need to waste any more time understanding which button does what. It's instantly, idiot-proofily obvious. That's good interface design. Yes/No works, barely, when the entire box is one statement, like "Do you want to save changes before quitting?" But even then, verb boxes are more efficient. With Yes/No, you need to read the whole thing very carefully, as carefully as the font example above, to make sure you aren't screwing yourself by instinctively pressing "Yes". If the buttons were labeled "Save" and "Don't Save", you can safely skim the box, recognize it's the same as always, and know that "Save" will do exactly that. Little things like that separate a good interface from an infuriating pile of slag.
    6. 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.
  6. I want a comment feature! by Cinquero · · Score: 2, Interesting

    And not only for PDF files. Just put a transparent layer on top of every page and let the user write his comments on it, make some sketches etc. and save it along with the commented file to some other person, eg. the author...

  7. kpdf - yeah where is the usability by gullevek · · Score: 2, Insightful

    The first thing and most important thing missing from kpdf is the chapters view. what do i do with some small thumbnails if I want to see the chapters to jump there quickly. yeah and references in the pdf, they should be usable in kpdf, because if you have a 200 page manual and you want to jump from the index to the chapter and it works in all other viewers but not in kpdf, than something is wrong here.

    --
    "Freiheit ist immer auch die Freiheit des Andersdenkenden" - Rosa Luxemburg, 1871 - 1919
    1. Re:kpdf - yeah where is the usability by Uncle_Al · · Score: 2, Informative

      Well in my KPDF (from KDE 3.4.1) there is a "Contents" sidebar where I can see the chapters and all...

      ...so I guess this problem has already been resolved (if it existed in the first place :-)

  8. Figures by Anonymous Coward · · Score: 2, Insightful

    Someone points out a usability problem with something and it gets modded as Troll. No wonder Linux/OSS usability is going nowhere!

  9. Re:My problem with Openusability by VoidWraith · · Score: 2, Insightful

    Reverse chronology is a problem? Would you rather have to scroll through vast amounts of forum topics or emails or what have you to get to the most recent ones? No. I think chronological listing is a far worse option for such a thing.

    Perhaps you should be arguing for a choice, not forcing forward chronology upon others.

    Unless you're talking about within the forum topics themselves, in that case, that's plain strange, and I see where you're coming from!

  10. Re:Now that they're finished w/ gnome... by MemoryDragon · · Score: 2, Interesting

    Actually so far it is not like that, all the usability has been done so far in a sane manner. The insanity of gnome is, that they applied usability for the most idiotic user and thus locking out one good power feature after the other.

    KDE follows currently more the approach, make the common features more visible, change design weaknesses, but dont cut off the power user base (which is the core audience) by crippeling the programs. KPDF is the perfect example, it still has no feature lost, and so far is currently the best PDF reader, no matter which OS, there is currently no better one in existence. That is what I would call applied usability in a sane way.

    Gnome on the other hand, has lost many users, with its we dumb everything down for the idiots approach, because most of its users were not idiots, but they feel sort of locked in and crippled in their usage.

  11. Two words: Windows Mixer by Ricin · · Score: 2, Interesting

    Yes usability is very important and undervalued, but it's quite rediculous to see Windows as the shining light in this respect.

    I always say two words: Windows Mixer. Here's a (I suppose) utility that's meant to be used a lot by any and all users. But since it's birth (win95 or maybe even 3.x) it's been totally incomprehensible and it hasn't changed at all. Ask a random person to turn the microphone playing down but the recording level up (for example to reduce echos while in a conferencing app). They'll get confused and most often are not able to carry out the task. The result is every soundcard maker throwing a mixer app of their own on their driver CD. All have different UIs of course.

    Besides, where KDE/Gnome/OSX strives to have apps that look and act in a uniform way, on Windows I see the opposite trend. Media players having their own wacky UI that's completely out of cue with "normal" apps. TV viewers: Why the heck do their widgets have to be dark blue or something. It's not CDE, it's Windows.

    And here's the twist: many windows users seem to actually LIKE those incompatible and weird GUIs that come with such apps! What a world :)

  12. Re:Now that they're finished w/ gnome... by FooBarWidget · · Score: 2, Insightful

    Except the "usability" rants get modded up to +5 Insightful, while the power user rants either get modded down, or get flamed down by "your attitude is exactly what I'm talking about"-zealots.