Slashdot Mirror


User-centric GUI Design Explained to All

TuringTest writes "The webzine User Instinct carries an article on Usable GUI Design showing that good user interfaces are not beyond the means of free and open software development: 'This article presents five key points of user interface design [...] that any software developer should be able to use.' In related news, The Economist writes against software complexity in an interview to MIT's John Maeda, PhD in interface design. See also OpenUsability, a project for testing user interfaces in a bazaar-like model. The specifics of UI design in Open Source projects has been previously debated on Slashdot."

56 of 355 comments (clear)

  1. I have doubts... by gowen · · Score: 5, Insightful

    ... about User Interface research. My DVD, VCR, TV, CD, CD-writer, portable mindisc player are all laid out completely differently, and -- despite similarities -- behaved subtley differently from one another (If I hit Pause-record, what do I press to recommence recording? Is it Pause or REC?)

    My car has a completely different set of layout for dash controls from my girlfriends. The gears are in different places on the stick, and the feel of the clutch is completely different.

    And yet, after a short period of familarisation, I find I can cope pretty well with all of these things, as can everyone else I know.

    --
    Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
    1. Re:I have doubts... by nomadic · · Score: 5, Funny

      My car has a completely different set of layout for dash controls from my girlfriends.

      Wow, multiple girlfriends? One disqualifies you from slashdot, with more than one you should hand in your UID.

      And yet, after a short period of familarisation, I find I can cope pretty well with all of these things, as can everyone else I know.

      Go try Blender, then come back and tell us that...

    2. Re:I have doubts... by curne · · Score: 2, Insightful

      My car has a completely different set of layout for dash controls from my girlfriends...

      Would you not say, though, that the two cars have equivalent interfaces? What if you had to reach under the passenger seat to push the brakes? Would that not be a difference in design, possibly worse?

      That is what interface design is about, IMO.

      --
      All interpreted languages are abstractions over Lisp
    3. Re:I have doubts... by kaleco · · Score: 2, Interesting
      Actaully, computer GUI design seems to follow conventions a lot better than consumer electronics. With consumer electronics I always have to fall back to RTFM in order to determine what the product is capable of and how to do it. Also, there are a large number of functions which are only available on the remote control only, the actual unit only or the on-screen menu only, which is very frustrating.

      I regularly use KDE, OS X and Windows XP (my ecclectic home network) and find that a brief period of stumbing about is all that is necessary to aquaint the user with basic filesystem functions and get using apps.

      Consistancy is more important than simplicity imo, although simplicity really helps first time users.

      --
      Prosperity is only an instrument to be used, not a deity to be worshipped. Calvin Coolidge
    4. Re:I have doubts... by WebCrapper · · Score: 2, Funny

      Na, my favorite 95 flaw was the ability to close the start button... Toolbar is there, but no start button. It took all kinds of teachers to figure out how it to fix that!

    5. Re:I have doubts... by znu · · Score: 2, Insightful

      You might be able to cope, but how efficient will you be? It drives me nuts when I'm on a Windows machine that, for instance, the usual OS X shortcuts for navigating within a text field don't work. They're totally ingrained in my muscle memory.If I used multiple systems on a daily basis, I rather suspect I'd have trained myself by now to just not use those shortcuts, which wouldn't be a good thing for my productivity.

      Of course, you have to expect some of this going between operating systems. But it definitely should never be true when going between different apps on the same desktop... which is one of the problems with the proliferation of widget toolkits in the open source world.

      --
      This space unintentionally left unblank.
    6. Re:I have doubts... by dacaldar · · Score: 3, Funny
      My car has a completely different set of layout for dash controls from my girlfriends.

      Wow, multiple girlfriends? One disqualifies you from slashdot, with more than one you should hand in your UID.

      I'm just impressed that he's so familiar with the "dash controls" of all his girlfriends. Please post links to any good manuals!

    7. Re:I have doubts... by fireman+sam · · Score: 2, Funny

      "if I have to think about them, even for a second, I'm going to kill someone."

      I feel the same way about end users.

      --
      it is only after a long journey that you know the strength of the horse.
    8. Re:I have doubts... by fireman+sam · · Score: 2, Insightful

      How about this:

      Let's remove the clutch and double the width of the brake.

      Now, put a person who has always driven a manual (US: stick) into an automatic and unless they are concentrating all the time, they will still check to see if the car is in neutral by trying to move the shifter left and right. Another one (my favourite) is when they go to press the clutch to change gears and press the brake.

      For those who only drive automatics: Pressing the clutch is a natural action and that action is to press it quickly and to the floor. What happens when you press the brake quickly and to the floor when you are doing about 30 to 40 Km (~19 to ~15 mph)?

      BTW, I have done both the above.

      --
      it is only after a long journey that you know the strength of the horse.
  2. Jokes aside by Ninjy · · Score: 5, Insightful

    I've said time to time again that a lot of free/open source software suffers from not having an ease to use interface. One can argue that functionality is more important than the presentation/interface layer, but seriously, users are more attracted to pretty pictures.

    But it's not just the subject of pretty pictures. Professional software companies may actually spend several subsequent dollar signs into providing a consistent, easy-to-navigate user interface. The trick isn't to show all functionality. The trick is to present the functionality the user needs, in a logical grouping as the users expect it.

    1. Re:Jokes aside by mydigitalself · · Score: 2, Insightful

      your point on cost is very valid. although it can be done for cheaper, we just spent short of £10, 000 doing an intensive 18-user usability testing study on our software.

      one thing that is important here is that you do need a usnability expert to coduct the review. of course if you can find one that's willing to work for free for the sake of the open source movement, that's just great.

      another thing is that you generally do have to incentivise the candidates with somewhere around £50.

      outside of usability testing we do a lot of goal-orientated design, prototyping (paper -> photoshop -> powerpoint -> code). we have 2 graphic designers that we share with the marketing department who do all of our icon work and rich dialog work and at least two of our developers are very UI-focused. so it's not a light investment that we've made...

      and even then we don't get it 100% perfect (is there a 100% perfect UI? don't say the iPod, it is not). investing in usability is something that we have taken seriously and have seen the positive affects on the sales of our products. it's not just making it look pretty, it's making it NOT look scary, making training costs for your client minimal and making it a pleasure to use for our end-users to use.

      my tip of the day on usability: considering "personas" and always referring back to them when designing your product is a good place to start. think of their goals, not what features they want.

    2. Re:Jokes aside by kfg · · Score: 2, Insightful

      One can argue that functionality is more important than the presentation/interface layer, but seriously, users are more attracted to pretty pictures.

      But it's not just the subject of pretty pictures.


      Because the command line is an interface.

      Ok, this is actually semi-offtopic, given the nature of the story, but I get a bit tired now and again with the word "interface" being used as a synonym for "GUI," and thus all interface usability research and guidelines being GUI centric.

      User interface 'friendliness' should span the spectrum of interface types, including at the command line. This doesn't necessarily mean dumbing down the command line for "granny," because even the uber kernel hacker is a user when he sits down to do some work and wants, what for him/her, is a "smart" interface.

      There are multiple kinds of user, and the 'friendliest' interface is often going to be different for each type. We need to understand usability issues for all of the types, not just the commodity GUI.

      Professional software companies may actually spend several subsequent dollar signs into providing a consistent, easy-to-navigate user interface.

      Like the totally braindead "start" menu instead of drop down menus? Even professional software companies can spend all of that money and research to create a monster.

      Simply having done research doesn't mean that your research was any good, although most companies seem to fall into this fallacy, at least now and again. You have to test your research methods and assumptions as well, and most 'professional' software companies skip that part, since they don't see the application to a real world product.

      The trick isn't to show all functionality. The trick is to present the functionality the user needs, in a logical grouping as the users expect it.

      Here I'll agree with you, with this caveat, sometimes what's needed is to train the user in logic, because their expectations may be damnably illogical.

      Interfaces should adapt to people, but any particular person may still find himself in need of adapting to the interface. The idea that any user should be able to sit down at any particular interface and just start using it without any training is a flawed assumption in the first place. They've got the axioms wrong. This idea ultimately leads to the "here, just suck on this nipple" interface, which we are (sic) assymptotically approaching.

      Now for some users that interface might well be valid (like two year olds), but it will never be terribly friendly (although it might well be fun) to even a casually advanced user. Having to dive through too many layers to find the function you want in the interest of presenting a 'clean' GUI interface isn't any more friendly than having all possible functions presented to you in a mish-mash switch board (the traditional failing of OS GUIs, which is often combined with hiding some key funcitonality someplace where you couldn't possibly ever find it on purpose, or even stumble across it accidentally).

      For every complicated issue there is a simple answer that is wrong. Interfaces are a complicated issue. Searching for the simple answer is inherently the wrong approach. It will always take a combination of simple answers (which will sometimes be at odds with each other) tuned to the function and user at hand to create a great GUI.

      KFG

  3. dead already??? by Anonymous Coward · · Score: 2, Informative

    google's cache right here

  4. iPod and iTunes Complexity by xanderwilson · · Score: 4, Insightful

    This is probably why the iPod has been so successful. It doesn't have all the features you could hope for (FM tuner, voice recorder built in, Ogg Vorbis support, etc), but it does what it does so well that even technophobes can "get it."

    Part of the Audion Story from Panic software details how iTunes didn't have all the features of Audion, but how they (Panic) had a breakthrough realization that they didn't NEED to have all these great features (that only few people would use) to make a great app.

    Alex.

    1. Re:iPod and iTunes Complexity by pandrijeczko · · Score: 5, Insightful

      Why do iPod owners use every Slashdot story then can to let us know they own iPods?

      --
      Gentoo Linux - another day, another USE flag.
  5. Damn you all! by BenjyD · · Score: 5, Informative

    Hi, I'm the guy who wrote the article.

    Yes, it's hosted on my 256k upstream ADSL line, which is why I said "Use the Coral cache" in all the story postings!

    Slashdot would also choose the day when I switch to my back up server (K6-2 233), in order to fix my main server, to post this on the front page. I was wondering why it was making that funny noise when I loaded the Slashdot front page...

    Please use the Coral Cache!

  6. grouping as the users expect... by scotty777 · · Score: 3, Insightful
    The trick isn't to show all functionality. The trick is to present the functionality the user needs, in a logical grouping as the users expect it.

    The trick is to balance a few things: Ease of learning for infrequent users, ease of use for heavy users, easy to customize to meet particular user's needs.

    Predictability is the key.

  7. User feedback by Anonymous Coward · · Score: 2, Interesting

    Part of every software project should be to analyze how the users interact with the software. Using that information, the interface can be tweaked to provide more efficiency and reduce errors. Of course, the customer would have to pay for this but it would probably pay for itself. For example, if a clerk takes two seconds less to input a transaction and there are 100 clerks doing 200 transactions per day, then the company saves 20,000 seconds per day. That's about five hours per day or say $50. That times 200 days per year is about $10,000. So, if the company spends 10k, they get their investment back in a year. That's pretty good roi.

    There should also be a mechanism whereby the end user (clerks in this case) can provide feedback to the developer. I'm sick of hearing: "We can't do that because the computer won't let us." This way, annoyances like that could be flagged as they happen.

  8. False universals & the inevitability of compro by G4from128k · · Score: 5, Insightful

    Some people love GUIs for the same reason (ease & hand-holding) that others hate them. Some people love CLIs for the same reason (succinct power) that others hate them . Although people like to think there are universal design principles, and there are some, most real world designs require compromises based on the needs and proclivities of a diverse user population.

    The challenge for OSS is that its developers tend create the kind of software that they themselves want. It does not have many developers creating software for a non-developing/non-geek user populations. Thus, OSS will invariably create software in its own image. This is not a "bad thing" unless the only true goal is universal adoption of OSS at the expense of OSS geek-usability.

    The point: you can't please all of the people all of the time. And given the model underlying OSS, it is unlikely to focus on pleasing non-programmers.

    --
    Two wrongs don't make a right, but three lefts do.
  9. One Word... by johansalk · · Score: 2, Insightful


    showing that good user interfaces are not beyond the means of free and open software development

    Firefox

    1. Re:One Word... by MyLongNickName · · Score: 3, Insightful

      Actually, if you read the article, he has a few nits to pick with Firefox.

      --
      See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
  10. Mirrors by Card · · Score: 4, Informative

    The Mirrordot version and Google cache are also available.

  11. Re:"providing a consistent" by scotty777 · · Score: 2, Insightful
    exactly right

    If, for example, the window frame doesn't look familiar, and doesn't have Help in the upper right, and File Save is renamed Keep This...

    Then most people will spend some time wondering whether they are about to get unexpected results. The purpose of using the device (hw/sw) is to accomplish some mundane task (99% of the time anyway). Some UI designers can't resist the urge to show the world how clever they are by doing interfaces in an innovative and new way. WAY bad!

  12. User Interface Design for Programmers by Twylite · · Score: 3, Insightful

    An article with noble intentions, but it falls far short.

    To begin with, anyone involved in UI development needs to read Joel Spolsky's User Interface Design for Programmers .

    From Roe's article:

    Professional UI designers tell us that user interfaces should be the first thing designed when we come to develop an application, and that programmers are incapable of doing this kind of design. They say it can only be done by the professional UI experts; OSS projects don't have access to these kind of people, and therefore can never be truly usable.

    This is like saying all developers care only about performance, and all manager care only about impossible schedules. There are a number of books out there that aim to give developers the skills to design usable interfaces -- in fact some are on Roe's reference list!

    Fitt's law is not the "most basic ... of UI design". Fitt's law has become unreasonably important because UI designers stopped giving users visual cues about keyboard shortcuts. Even my Dad uses the backspace key rather than the back button! Its so much easier. Mouse gestures will also dramatically change the effect of Fitt's law.

    In my experience, the weaknesses of open source UI design are also its strengths: (1) the ability to experiment with new interface metaphores; and (2) the flexibility of the software.

    The more you conform to established metaphores, the more easily you can make your product usable. Creating new metaphores is difficult, and getting them accepted is even more difficult.

    Flexible software typically has a lot of functions and options. The capacity of short term memory is important here: a person at random can remember or concentrate on 7 +/- 2 items at once. At no point should a person be presented with more than 9 items in a selection when one has to be chosen. So there should be at most 9 menus, 9 items per menu, etc. Any more than that and people are operating at less than peak efficiency in order to find the functionality they want.

    --
    i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
    1. Re:User Interface Design for Programmers by Jameth · · Score: 2, Informative
      Fitt's law is not the "most basic ... of UI design". Fitt's law has become unreasonably important because UI designers stopped giving users visual cues about keyboard shortcuts. Even my Dad uses the backspace key rather than the back button! Its so much easier. Mouse gestures will also dramatically change the effect of Fitt's law.
      Exactly. Of course, KDE Usability had a big argument about doing exactly that so that people wouldn't have to try so hard to learn short-cut keys.

      What was the proposed solution? Place Shortcuts in Tooltips.

      So, when you hover over the refresh button, it doesn't say ' Refresh ' it says ' Refresh (F5) '. Imagine that.

      So, if you're among the camp that feels that the fact that, over a year after the wishlist item was posted, this still is marked as 'New' and nobody has even attempted to impliment it, vote for bug 67178 and try to convince them that such a minor change could make a world of differnce for the K Desktop Environment's usability quotient.

      That's http://bugs.kde.org/show_bug.cgi?id=67178 and click vote and you could help revolutionise the Linux desktop!
  13. Blame the egg heads by Anonymous Coward · · Score: 2, Informative

    "Usable GUI Design showing that good user interfaces are not beyond the means of free and open software development:"

    The problem is that open source is dominated by the uber-geeks, and not enough people who specialize in user experience. So obviously, if more GUI specialists got involved in open source, the better the user experience of open source software. (Need I add a "duh" to this?)

  14. Date with a Macintosh GUI, and simler eXplanations by aLe-ph-1(sh) · · Score: 2, Interesting

    Well, first thing I thought when I saw this was this previous article that was listed on ./. the link is here. It's really a rather good read, especially if your a big fan of Apple like myself. I found a lot of his suggestions to be good guides toward a better GUI, but a few were also a bit flaming. I do like the idea of simplicity, but I also like to be able to delve as deep as possible, when I can, and understand as much as I can shove into this tiny planet-sized brain of mine. I think that after using a lot of different products, and quite a few OS's, well, I can't settle on the perfect list, but this comes close.

    --
    sig!wind down the juuice, let the tubes roar with the glow of alternative powers, not they that be." me, today...
  15. Self-fixing Problem by zx75 · · Score: 4, Insightful

    I wasn't able to get to the GUI Design article, but I read The Economist's one. One telling point I thought was referring to people as Analogues, Digital Immigrants, and Natives. These being people who are unfamiliar with new technology and ignorant of how to use it (note, not 'ignorant' in general, just the classification of the lowest-skill computer user if at all), then those that came to technology and adapted to it, and finally people who grew up in the digital world.

    I think most of this problem is simply the rapid pace of change. We're in the first era that has seen a revolutionary invention go from non-existant to an everyday fact of life in such a short span of time that most people were not only alive when it was something rare and required special talent, but they are still working! The change has simply outpaced a lot of people's ability to adapt to it, so much so that it is shocking to those of us in the 'next' generation that the previous one could be so clueless.

    Its not that they are clueless users, its that they have been thrown head-first into a pond that they vaguely knew existed, let alone how to swim. But the upside is that the problems we agonize over, the clueless user, tech support pains, is for the most part a self-fixing problem. In 30 years the older generation will have retired and moved on, while those of us who will take over for the most part are native users, we grew up immersed in technology and rapid change. Thus in another couple of decades, the problems of technological ignorance and inability to use modern systems will dwindle away. Not that it will ever disappear, there will always be people unable to grasp these things, but the fact that everyone has grown up with this knowledge will all but eliminate a lot of the problems we're dealing with today.

    There will always be bad interfaces, unusable technology, its a given. But if this rate of rapid change continues, in a generation's time everyone will have been born and raised in an environment of rapid change and cutting edge technology. It will be commonplace, and I think that the issue of entire segments of the population being unable to adapt will no longer exist.

    --
    This is not a sig.
  16. Slashdot vs K6-233 by tonywestonuk · · Score: 2, Funny

    IN THE RED CORNER
    we have a trembling k6-233, never done any harm to anyone, never let you down since the day you purchased it, but worked away slowly processing any task thrown at it.

    IN THE BLUE CORNER
    We have the Might of a front page Slashdot Effect

    Secounds out, Round 1. Ding Ding......

    .....

    Will there be a burial at dawn?

    1. Re:Slashdot vs K6-233 by BenjyD · · Score: 2, Interesting
      bdr@trillian:~ $ uptime
      17:47:03 up 5:14, 2 users, load average: 0.07, 0.09, 0.06

      Hah! My feeble pipe means my 233Mhz laughs at the Slashdot effect. I'm going to stop posting now and save some bandwidth for readers.

  17. flying colors by Doc+Ruby · · Score: 2, Insightful

    UI-centric design makes sense for the UI layer. For the logic and data layers, the equivalent design consideration is API design, which is not as compelling as functional design, including maintenance features. Dictating the whole application's design by the UI is like flying not just on one wing, but on no wings, or engine, just the cockpit dashboard. This balance is one reason to have one UI-centric person develop the UI, a data person develop the data layer, and someone with knowledge of the actual business executed by the application designing the logic layer that ties them together. We don't make one engineer design all the devices in a 747 or F16 - they'd crash, even if they looked great going down.

    --

    --
    make install -not war

    1. Re:flying colors by MikeBabcock · · Score: 2, Interesting

      There was a really good (TLC?) episode about designing modern jet fighter aircraft. They spoke of two things: making it fly, and making pilots able to fly it.

      It seemed that with all the control surfaces necessary to make this plane (new F-16?) fly, it would be impossible for the pilot to successfully fly the plane in combat (or at all?).

      Instead, they engineered the plane the way they wanted, essentially ignoring the pilot's limitations and then wrote a software interface between the pilot's usual tools (pedals, joystick, etc.) and the plane's mechanics. They ran top gun pilots through flight simulators while listening to their comments ... "it should have banked harder to the left" or "why did it stall? I increased power ..." After much tweaking, they had a software system that "understood" what the pilot expected to have happen from their control of the plane and the plane could be made to do those things (within its limits) by the software.

      Designing UIs should be similar. Where I work we design database systems that are used, in part, at both POS and for data-entry clerks. The UIs for each are quite different but related. The POS worker shouldn't have to navigate menus, etc. to get a sale completed; the system simply runs through the normal questions one after the next with "ENTER" alone doing the right thing most of the time.

      Data entry clerks are asked for several starting pieces of information (type of customer/transaction, etc.) and then presented with a form that allows them to simply keep typing without moving their hands almost at all.

      In cases where redundancy sets in (entering 50 of something slightly different), filling in the fields automatically is also possible.

      I shouldn't have to navigate a word processor's menus to spell-check my document, or to change the margins, or to move text around, etc. And for the most part, modern word processors are fairly well-designed beasts (being heavily used by many people).

      Good UI design takes a lot of thought, and user testing, and ignoring your "instincts" as a programmer sometimes -- your users probably aren't programmers.

      --
      - Michael T. Babcock (Yes, I blog)
  18. Trival widget issues by bburdette · · Score: 3, Informative

    I think most of the issues the author raises are pretty minor. Saving a mouse click here or there is convenient, yes, but its trivial compared to real usability issues like how do I use this application without reading a manual? Large, well placed, and convenient buttons are useless if the user doesn't know what to do with them. Having a good help system that explains the purpose of the different elements of an app is essential. There's nothing worse that being stuck in a completely opaque application with no clue as to how to proceed, and the help system has no answers. For me this kind of program is CAD or (at first) the GIMP. For some users this opaque program is mozilla or outlook. From what I've seen these programs don't really cater to the beginning user that well, there's nothing to really explain the basics like what is email, the difference bewteen a browser and the internet, what is a scroll bar, etc.

    Which brings me to the topic of widgets. Why can't you help-click on anything in your gui and have it explain itself? One obvious problem with such an elaborate help system like that is that the infrastructure for it is a lot of work to build. Why should I have to explain what a scroll bar is to some noob, I'm trying to write an email client here! That's why the widgets should have help built in to them.

    The other thing is that a lot of the author's issues are with widgets, like scroll bars that don't go to the edge of the screen. Like most developers have control over that! 99% of developers will never bother to develop their own scroll bars to get that extra pixel. And if they did, every application would have different widgets, and that would suck too.

    All that said, I do like the point about only showing the user what is really needed. Lately as the app I've been working on has grown, the menus and toolbars have begun to look more and more intimidating. Its much better to keep what the user can see down to a small set of frequently used items, and tuck the esoterica away. Otherwise they end up having to ask themselves whether they are supposed to know what every obscure menu item does, and its a lot of work to know what is important and what may be safely ignored. And that's what I want to minimize: the amount of knowledge the user needs to know to get the job done.

  19. My pet UI peeve by LarsWestergren · · Score: 2, Insightful

    The UI design failure that annoys me the most is media players that the developers obviously have spent a long time getting the user interface to look like a panel for an expensive car stereo or DVD player.

    Why tiny little buttons jammed close together that are hard to see and click correctly? Sure, in a car dashboard space is expensive, but when you are looking at a film on your computer screen you are going to use fullscreen and have the controls hidden most of the time, so when the users wants to see them, why not make them big with clear lables?

    Especially gratuitous is when a player has new controls that are specific to a DVD player, such as a subtitle/audio selector or a click/draggable progress bar. The developers often don't integrate this with the main controller (cause there is no analogy in a car radio, which appearently makes them confused) but instead the player opens other windows with a totally different look and feel. Or if they DO include it, it is often also tiny, squeezed in between the play button and the usually useless "eject" button for instance. This is especially bad with the progress bar or volume bar where you might want to have fine selection resolution. Why not put these controls along the lower edge of the film screen where they can be stretched out? (I think Quicktime and *yech* Windows Media Player gets this right. Haven't used them in a while though, I might be wrong.)

    Xine, mplayer to mention two have this problem of suffering from the Car Stereo look for controllers. Lots of mp3 players the same. Ok, they can be skinned differently... but why such as bad default, and why do all have to have their own format for skins?

    (On a related topic, while I'm stil whining, I have yet to find a media player under Linux that allows you to select smoothly with a scrollbar where in the film you want to jump down to seconds. Xine for instance jumps 1 minute back or forth when you use the arrow keys to skip. When you drag the scrollbar it doesn't show where in the film you are, and it has a minimum resolution of something like 30 seconds, so it snaps to the closest 30 second segment start when you let go. I think mplayer is similar.)

    Now, all this said, I do appreciate the great work people put in in making open source players that I can enjoy. If you are one of these developers, feel free to flame me for complaining instead of contributing.

    --

    Being bitter is drinking poison and hoping someone else will die

  20. This is what I do by localroger · · Score: 4, Informative
    My job is to write software for industrial controllers. Most of the people who do what I do are not "programmers." We started out as technicians or engineers, and cracked the manual the day a "programmable" device arrived on our bench.

    Poor user interface design is the second biggest failure of this kind of software. (The first is failure to plan for failure, but that's a different problem.) The problem isn't that guys like me don't understand how to design a user interface; it's that we don't even think about it because we tend to be thinking in terms of the process or machine rather than the human user.

    There are no universal guidelines for how to lay out a user interface. The only sure method is to code it, then try using it and see if it feels natural. Often an interface that "follows the rules" will feel clunky in use, and when that happens you should rewrite it and try again until it is intuitive. When you've gotten it to feel right yourself, you should put it in front of the people who will use it all day long and see how they like it. And you should be willing to rearrange it until they find it natural and intuitive.

    One reason those field-programmable controllers have become so popular is that people like me, working in the field, can do this. If a manufacturer builds, say, a batch process controller, it must implement every possible function that any process might ever need. This usually results in a bewildering user interface since most actual processes will only use a fraction of the controller's functions. By writing a custom controller in a programmable device, I can give the user just the controls he needs to do his job.

    It used to be a once a month occurrence for us to get a service call along the lines of "our scale is only weighing about half what we put on it," because a user accidentally switched from pounds to kilograms. Newer devices let us turn off modes the end user will never use, and the result is less friction all around.

    It goes without saying of course that you put the most-used controls where they are easiest to find and most obvious, you only put controls that are used constantly where they are always visible. You always provide keyboard shortcuts for EVERYTHING. Especially in the workplace, day-in day-out users will learn all those shortcuts, but the temp timer needs the GUI. Both are absolutely necessary. Not putting in keyboard shortcuts is the single biggest screw-up in industrial GUI's I have used.

    The art comes in determining what controls are really used most often, and when things like confirmation dialogs shift from being a useful safeguard to an annoyance. I can't begin to count the times when I've installed a relatively simple system only to find that some control I'd buried in a deep menu is used much more often than I'd realized. Usage patterns are often radically different in simulation than they are with a real machine connected to real processes. The job isn't done when you close the build file and put field installation on your calendar; you will almost always have to refactor at least once based on end user feedback. If you don't plan for this and budget for it, it's a big, big mistake.

    --
    Brackets contain world's first nanosig, highly magnified:[.]
  21. Another Tip: Don't Use So Many Toolbar Buttons by smug_lisp_weenie · · Score: 3, Insightful

    Toolbar buttons require a lot of work from the user- You have to memorize them, or take time reading the tooltip to learn what they are for. Usually it is much better to put commands into menus with regular text since you can tell what they do by their text.

    However, sometimes a command is used so frequently that it is worth forcing the user to learn to use a toolbar button, because toolbar buttons have some important advantages:

    1. They take up less space and because of that can be left on the screen all the time
    2. The human eye is great at recognizing toolbar icon once they're meaning has been learned

    But usually, making a toolbar button for a command is a bad idea, unless you know otherwise. Look at Firefox: It only has 5 buttons on its basic toolbar and places everything else into the menus- Great design!

  22. Re:False universals & the inevitability of com by grumbel · · Score: 2, Insightful

    ### Some people love GUIs for the same reason (ease & hand-holding) that others hate them. Some people love CLIs for the same reason (succinct power) that others hate them

    Usability is really NOT about religion, CLI vs GUI or whatever, its about doing things the right way, placing stuff where it makes sense and not wasting the users time. Sure there is not one true right way, so a lot of good interfaces don't necesarily make a consistend one, but for sure there are a lot of things that simple are done really bad in OSS and other software, no matter if you are pro CLI or pro GUI or whatever. If you get useless dialog boxes popping up for no reasons thats simply bad usability, same for colors that make text unreadable and the other points the article mentioned. You are not telling me that OSS people like to not being able to read their text and that they like to click dialogs away, are you?

    The reason that most OSS guis are the way they are is simply because people didn't spend much time at all designing them, they just implemented a feature, quick&dirty punched a UI ontop of it, end of story. The result is not a 'designed for OSS' userinterface, but a 'not designed at all' userinterface, which will be both a pain for OSS users as for the rest of the people and even the programmer itself. The article gives some good points which are pretty general appliable to all kinds of software.

  23. Fitt's law stupidity by jeif1k · · Score: 4, Insightful

    Often, when people talk about good GUI design, Fitt's law gets dragged up. Fitt's law is, at best, a footnote to good GUI design. I think UI designers hold on to it so tightly because it's one of the few scientific-seeming "laws" they have and because the improvement is easy to measure.

    Fitt's law tells you what you need to do so that people can hit your buttons faster with a mouse (well, it's more general than that, but you get the idea). But most of the time, the time users "save" is so slight that it makes no difference to the overall efficiency with which users can use the application. The few areas where it does matter have already been encapsulated (context menus and pie menus are a good thing because of Fitt's law, but your framework already provides them for you).

    People who design GUIs based on Fitt's law may often do the right thing by accident. For example, putting a button with a 1 pixel wide inactive border at the edge of the screen is not a good thing to do. Fitt's law says, in effect, that if the button is not at the edge, you have to slow down and hit it directly, whereas with the button at the edge, you can just slam into the edge with the mouse and hit it. But that's not the main reason it's bad to put buttons one pixel away from the edge; the main reason is that doing so confuses the hell out of users who simply don't see the border and wonder why nothing is happening when they think they "are pushing the button".

    At other times, Fitt's law misleads you. Making the "Back" button bigger on Firefox, as the article suggests, probably doesn't save you any significant amount of time (anybody who really cares is using gestures or pie menues anyway), but it does make the UI look ugly to users and they'll like it less.

    Erase Fitt's law from your mind. To the degree that it matters, it will be obvious to you anyway. And in subtle cases, it's a treacherous guide.

    What you should focus on is making your UIs intuitive, unobtrusive, internally consistent, unsurprising, and pleasant to look at. Fitt's law doesn't help you with any of that.

  24. Your distinction is false by yoz · · Score: 4, Insightful

    It's not about programmers vs non-programmers. It's about the person who created the application vs everyone else. And when it's put like that, there's no choice to make. If software hasn't been designed for other people to use, there's no point releasing it.

    The idea that only non-programmers fall victim to usability problems is wildly wrong. The vast majority of usability problems are not about beginners not having enough general knowledge in the field, they're mostly about non-optimal design. Take the example in the original article (you did read it, didn't you?) about search tools throwing up error dialogs when they fail. A programmer is going to get just as annoyed about that as a non-programmer.

    I'm a coder who administers multiple Windows and Linux machines and codes in a variety of different languages. Usability problems piss me off more than most users, because I realise they're the fault of a programmer who just said, "It's good enough for me!"

    The distinction you make - that usability comes down to a choice between two groups of people who fundamentally differ in technical ability - is not only very wrong, it's actively harmful, and the reason why so many OSS interfaces (whether GUI or CLI-based) have such poor usability. The programmer thought he could get away with poor interface design because he was aiming at geeks. What he ends up with is no users.

  25. Good Article and well worth reading by Anonymous Coward · · Score: 2, Insightful

    Unlike most /.ers, this guy did more than just whine, complain and bitch. He took some well known examples and showed us where they fall short. Wether we agree with every single point is irrelevant.

    I found this article to be well written, well laid out, and quite informative. Definitely things to keep in mind.

    And I totally agree with point 0 - the user is not using our application, so it should be as unobtrusive, and helpful as we can make it.

  26. I think the most fundamental point is.. by hyphz · · Score: 2, Interesting

    For your application to be user friendly, it has to actually be friendly to the user.

    This means that:

    - There is no way to create, let's say, a user-friendly interface for product activation because activation is in itself a distrustful, user-hostile goal.

    - If you want to avoid describing to the user what the computer is doing, whether that's because it's something underhand or because you are an insufficiently skilled explainer to be able to describe it in understandable terms, then no matter how many windows and buttons and fancy animations you include it will be obvious that you are treating the user as stupid, which is not friendly.

    - If you cannot give the user useful information because it is not technically possible to do so, then do not think that giving them some information using a component from a user interfacing handbook will make your app friendly. As an example, just because it is not possible for a web-browser to provide a true time-based progress bar (which rises at constant rate and completes immediately when full) does not mean that's OK to slap in a progress bar that displays a relatively meaningless value. (What is the average user supposed to do with the knowledge of how many parts of the network download and typesetting task have been completed, especially when the parts are decided arbitrarily by the system designer and never explained?)

  27. #1 rule of GUI by Anonymous Coward · · Score: 2, Interesting

    GUI's should be extreamly thin clients that wrap other functionality that is also available in another form.

    GUI's should be modeled like opening a book. If you close the book everything that you wrote in that book is still there.

    Decoupling the GUI from the actual application is the mark of an experienced programmer.

    I find that an application should have multiple ways to access it. I like to have things running in the background and have the GUI be spawned later.

    This would be for use with industrial control systems real-time automation.

    If the GUI crashes the application should keep running. IE: the car doesn't crash if the navigation system reboots.

    Also: if a GUI is designed correctly and the app is accessed by it and used by it, then you can run the GUI from pretty much anywhere.

  28. Which button should be bigger? by MagikSlinger · · Score: 4, Insightful

    I like the one point the author brought up: most used buttons should be bigger and easier to find. Good point! "It should be the back button" BAD point!

    I think everyone is different in how they use their applications. E.g., I prefer alt-right to go back or use the drop down list (it's position matters not to me) if I use the button at all. So what might be most common for one user isn't for the other. And having your most used button ("Stop" in my case) smaller than the buttons you don't use is really, really annoying!

    SOLUTION:

    Most used buttons become automagically bigger. So as an application learns how a user works, it will optimize the user interface for them. Most use buttons get shifted to the left (or right) and made larger. Toolbox panels that percolate up most used features to the top so the top half is the most used features in a larger hit box, and the bottom half is the "usual" layout.

    --
    The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
    1. Re:Which button should be bigger? by Anonymous Coward · · Score: 2, Insightful

      PROBLEM:

      UIs that mutate are annoying as hell and harder to learn as things keep changing.

      Windows tries this with its menus hiding uncommon ones, which makes it impossible to find them when you do want them.

  29. Complexity by starfishsystems · · Score: 2, Insightful
    To summarize the piece in the Economist:

    Computers are complex.

    That makes them difficult to use.

    We don't like that.

    Fix it now.

    The underlying theme is very much a mark of our times. There is no doubt that it has genuine resonance for many people as they deal with an overwhelmingly complex world. On the other hand, it is a position fundamentally based on ignorance, and thus there is not much hope of reasoning with it.

    It's not as if the issue of complexity has never been investigated. We knew from the earliest days that simply by being constructed of digital elements, computers would be characteristically different from other human artifacts. David Parnas and Fred Brooks both made early contributions on this subject, and their work is still eminently relevant today.

    Probably the simplest artifact in common use is the knife. Yet given our resources and technology, it's appalling what passes for a knife in most people's kitchens. If the simplest artifacts still have such problems after thousands of years of refinement, what can we reasonably expect from the newest and most complex artifacts ever created? Demands to make them "simpler" can only be met cosmetically, and of course the illusion of simplicity in a complex system is necessarily fragile.

    The fact is that the design problem is very hard in digital systems. The popular mood may be to deny this problem rather than to engage with it, but that doesn't change its nature or its inevitability. If our species survives long enough, I think we'll eventually the maturity and humility to see this.

    --
    Parity: What to do when the weekend comes.
    1. Re:Complexity by Johnathon_Dough · · Score: 2, Insightful
      Probably the simplest artifact in common use is the knife. Yet given our resources and technology, it's appalling what passes for a knife in most people's kitchens.

      More oftne than not though, this is not out of the knife making industry's fault as a whole, it is the knife owners inability to justify spending the money for a "good" knife. The same could be said for a hammer, I had an ex-gf who routinely used a high heel shoe to hammer in nails for picture frames. When asked why she did not just buy a hammer, the response was, "this works why should I spend the money?". I had no response to that, I mean, ti's not like she was building something structural, her only use was hanging up pictures, so she did not need a real hammer (her logic not mine) If the simplest artifacts still have such problems after thousands of years of refinement, what can we reasonably expect from the newest and most complex artifacts ever created?

      I would say that the "simplest artifacts" are about as refined as they are going to get. Hammer, lever (crowbar), wheel, pulley, ramp, etc. What changes in these is usually just materials science. A hammer made out of pig iron will hammer a nail as well, if not better in some ways than some exotic blended iron. However it will not be as light or easy to use as the new one. The task at hand though, placing a nail into wood, is accomplished the same.

      Computers on the other hand are so new as to be laughable from a "devlopment" standpoint. Many people are still trying to figure out WHAT to do with computers, let alone HOW to do it. So, simplicity becomes more important. Which leads back around to good UI. Computers allow you to "do" jusst about anything, as long as that anything is digitaly controlled. ie: I can design a hammer on my computer, but I will need more equipment to get my computer to use the hammer it has designed. For instance, my mom uses her computer for e-mail, the web, writing physical letters, and storing her digital photos. That's it. I set her up with a powerbook, and that is STILL overwhelming to her. I however, do lot's of graphics work, and am constenly looking for ways to automate and tweak the interface to my tastes. Yet we are both using the exact same tool (in this case a mac).

      It is extremely daunting for someone as un-experienced as my mother is to wade through menus and preferences and what-not's just to deal with writing a letter. I don't see a time far off when the same software will come with multiple interfaces. Easy and Experienced. Because if something as simple as iTunes is intimidating to her, then nothing yet has been simple enough for the super newbie to really get.

      --
      If you are one in a million, then there are six thousand people who are just like you.
  30. Re:on the contrary by chrisbtoo · · Score: 4, Informative

    The automatic transmission shifter sequence is Park, Reverse, Neutral, Drive, Low, [Lower, [Lowest]]

    But the parent was talking about a manual gearbox. Maybe the positioning of those is mandated by US law too, but I've certainly driven manual cars where the reverse gear has been in the top-left (left of 1st) and the bottom-right (below 5th, right of 4th) and, I think, bottom-left (left of 2nd). Additionally, sometimes you have to pull/raise some sort of flangey thing and others you push the entire stick downwards in order to change to reverse.

    Plus, there's always the differences between indicators and wipers (sometimes they're switched).

    Without doubt, though, the biggest problem that comes through lack of standardisation is the position of the damned fuel tank filler. If I had a dollar for every time I'd had to get out of a rental car to figure out where the hell it is, I'd have... like... $10.

    --
    Registering accounts later than some other chrisb since 1997
  31. Re:Date with a Macintosh GUI, and simler eXplanati by Bastian · · Score: 4, Insightful

    The funny thing about all this UI talk is that, while Apple is better than most, Apple also breaks a whole lot of UI design guidelines, especially its own.

    For one, the titlebar pills are really quite small, esp. in comparison to the titlebar itself. I remember when I first got OS X I noticed that these buttons were among the smallest ones I've ever seen on a GUI.

    I'm sure a lot of people will hate to hear it, but Expose tends to be another feature that can be annoying, especially to people who aren't familiar with it. In particular, the option to activate it by moving the mouse cursor to one of the screen corners. It's always a bit annoying to overshoot the down arrow on a scrollbar a little bit only to suddenly have your whole world change without any sort of clicking or anything on your part.
    I've escaped this by turning off the ability to activate Expose by moving the mouse to the corner of the screen (keyboard only for me), but I still find it maddening when I'm working on someone else's Mac. And to someone who doesn't know what Expose is, it's even worse because they don't know how to make all their windows go back. In programing, unexpected side-effects in functions is generally considered to be impolite. I think this applies to UI, too.

    I don't think anything I've seen recently really shines on most of the points TFA is talking about. I think that's why HCI people like stuff like Fitt's Law - it means they will always have something to complain about. But it's also a perfect example of worrying about minutia when there are much bigger problems to deal with.

    The big issues that most folks seem to need to get a handle on w/r/t UI is 1)no surprises 2)everything is discoverable 3)don't keep every single thing you own on the floor of your house and 4)it's polite to answer questions when asked.

  32. Hand-holding by phorm · · Score: 2, Interesting

    Mainly the problem is that users don't often want to *learn* a new piece of software, but they do want to use it. They want advanced features, but they don't want to figure them out.

    That being so, in designing your interfaces (and backend) you have to do a lot of hand-holding. You have to make the basic features obvious, and the complex features easy enough to use for the average user. Often this might mean anticipating how the user expects to use a program, or by filling different controls etc etc based on default behaviors.

  33. Yeah UI standards are a waste of time... by WebCowboy · · Score: 2, Funny

    ...because everyone knows that only complete idiots couldn't adapt.

    Take cars for example...I'm sure most people could adapt if you moved the trottle to the left foot. The "bipedal interface" is obsolete anyways. One only needs a single pedal on the floor for the brakes. I say we should try a hand-operated throttle instead.

    And who's idea was it to arrange the gears on an automatic as PRNDL? They might be easier to find if they were sorted alphabetically--DLNPR. And what's with the antiquated idea of a steering wheel? Lets use a joystick and have a trigger for the throttle and a button on top for the horn. I also thing that the gears in a manual transmission should be arranged in a circle instead of "H" or "H with a line in the middle" pattern. Or maybe in all cases we could get high-tech and have gear selection on a pull-down menu in a touch screen on the dash.

    Also, this left and right hand drive thing is dumb. Drivers should always sit in the centre of the vehicle, straddling the console.

    There...much better. I'm sure there would be no confusion or resistance to these changes. Of course we could also make the automotive interface skinnable so each person could play with the positions of all the controls. I know a few people who would really love to drive from the back seat. Then everyone would be happy.

    The drivers license test might be a bit more complex, but I'm sure it wouldn't be any more involved than MCSE certification.

  34. User-interface isn't the real problem by c0d3h4x0r · · Score: 2, Insightful

    The real problem with most FOSS is that it is too complex and inconsistent architecturally. No matter how pretty or usable a GUI you slap on top of it, if the underlying system is too complex and inconsistent, it won't be accessible to normal people.

    Example: someone writes a niffty GUI wizard for Linux for setting up a printer. The wizard itself follows all the usability guidelines and is quite nice. But the problem is that the wizard is just a front-end for CUPS or some other nastily-complicated printer driver system. When the back-end chokes in some unexpected way the front-end isn't expecting, the user has to comletely sidestep the wizard, go the command line, and whip out Linux-fu magic to fix the problem. The problem here isn't the front-end GUI wizard; the problem is that the architecture of the underlying printer driver system is overly complicated and completely blows, and there's no tight integration between the back-end and the front-end so that the user can use the wizard to easily fix any possible problem that may arise.

    You see this over and over again in the Linux/BSD worlds. Slapping a pretty GUI on top of a shit architecture does not make thing easier to use.

    --
    Moderator hint: a comment is neither "Flamebait" nor "Troll" if it is true.
  35. Different UIs for different users by tootlemonde · · Score: 2, Insightful

    The most basic point in all computer UI design is that the user does not want to use your application. They want to get their work done as quickly and easily as possible, and the application is simply a tool aiding that.

    There is also a class of user, more common that one might expect, that does not want to get his work done quickly, although he may say he does. UIs designed for the lowest common denominator are often dedicated to trying to get this user to do something he's not inclined ever to do. As a result they fail to satisfy this user as well as the other type who really does wants to get his job done quickly and easily.

    Among the quickly-and-easily crowd, there are two types of the users: those who use the product a little and those who use it a lot. You can argue about what is most intuitive for the use-it-a-little segment, but keyboard shortcuts are usually what experienced users prefer. If you really want to get your work done quickly and easily, keyboard shortcuts are what you want.

    As a result, for people who use the product the most, an intuitive interface may not be all that important except as a learning tool.

  36. Konqueror, a bad example to pick by advocate_one · · Score: 3, Interesting

    for showing us how badly a browser can be designed... yes... except that Konqueror's primary function is as a filesystem browser, where the UP button makes perfect sense in it's location...

    --
    Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
  37. Re:Date with a Macintosh GUI, and simler eXplanati by grumbel · · Score: 2, Interesting

    Taking about Expose, I consider it something along the best invention I have seen in the GUIs on todays computers in the last years. Yes, it can be a bit annoying if you only have a slugish touchpad at hand and trigger it by excident and it might be confusing to new users, since its not obvious how it got triggered in the first place, but after all its off by default so no evil things happen.

    The good thing of Expose is that it gives you one feature that everybody knows from the real world, but which is extremly seldomly seen in GUIs, I would call the 'step back' feature. With drop-down lists, tasksbars and even with different workspaces is way to easy to lose the overview, Expose gives you the freedoom to virtually step back and see whats on your desktop simply by zooming out and rearanging the windows so that everything gets visible. It makes navigating a whole heapload of windows way easier then anything else. In general the ability to 'step back' when losing the overview is what makes computers so much more inaccessible then a table and some pieces of paper.

  38. It's conceptual people by owlstead · · Score: 2, Interesting

    Lots of mistakes are made in UI design on a conceptual level. The article touches that slightly by explaining the importance of only showing the information/controls important to the user. But it goes much further.

    To show some examples from firefox: there are many settings to control privacy/security. Many users do like these settings, but not for each site. If they trust a site, they don't mind popups, images from other servers etc. But firefox does not place the site central, but the control. That's simply not how a user _thinks_.

    I've got a lot of other grieves, but I'll let that pass for now. Normally I only comment on programs that I find of great use to me, also because I try not to use the others at all. The screen real estate that firefox leaves me is for instance fantastic, and it is very uncluttered.

  39. more reading on usability theory by on+the+8ball · · Score: 2, Informative
    Didn't see these sources mentioned in a quick glance through. I recommend them highly as well:

    Donald Norman's book The Design of Everyday Things

    Jakob Nielsen's articles and newsletters on web design and usability testing:
    Useit.com

    Both are pretty good.

    --
    Do not dwell in the past, do not dream of the future, concentrate the mind on the present moment â" Buddha