Slashdot Mirror


GUI Design Book Recommendations?

jetpack writes "I've always hated writing user interfaces, and graphical user interfaces in particular. However, I suspect that is largely because I have no clue how to write a good one. I don't mean the technical aspects, like using the APIs and so on. I mean what are the issues in designing an interface that is clean, easy to understand, and easy to use? What are things to be considered? What are things to be avoided? What are good over-all philosophies of UI design? To this end, I'd like to pick up a book or two (or three) and get my learn on. I'd appreciate some book suggestions from the UI experts in the Slashdot crowd."

5 of 338 comments (clear)

  1. The basics: by localroger · · Score: 4, Insightful
    1. Make the most common operations the easiest to get to, and hide things that aren't done very often behind menus and secondary forms.
    2. Use it yourself, and rearrange the controls to get rid of any apparent awkwardness.
    3. Give it to the actual end users, and be prepared to rearrange the controls again when you notice all the unexpected things they do to it.
    4. Don't get cute. Use standard controls that people recognize.
    5. Pay attention to keyboard shortcuts and tab order. Don't make the user use a pointing device.

    By far the biggest thing is the willingness to refactor. You won't get it right the first time; that's almost impossible, and nothing is worse than a UI that is written to spec and then slavishly nailed to that spec even when the users complain about it. You'll probably find something that you thought would be a common operation is hardly ever done; get the annoying button out of their faces. And something else you thought would happen once a month happens every hour; bring the control out front for them.

    --
    Brackets contain world's first nanosig, highly magnified:[.]
  2. GUI design tips by Tsu+Dho+Nimh · · Score: 4, Insightful

    Tips are all over the internet. I'd start with the Alertbox by Jakob Nielson (ex-Sun employee, now a usability consultant) and anything his group has published on user interfaces. http://www.useit.com/alertbox/

    My pet peeves in GUIs ... the designers ignore that people actually have to read the GUI, and treat it like it's supposed to be admired for artistic. For a GUI, bland and boring is good, functional is the goal.

    • Gaudy color schemes: High-contrast is good, but that means high tonal contrast, not screaming red on puke green. Dark text on a pale background is the best for most users, and the colorblind. To test your design, print it out on a black and white printer. If you can't read it, you have the wrong colors
    • Too-subtle color schemes: Pale shades of blue with gentle grey text, unreadably misty and soothing.
    • Reversed tones: pale shades on dark, for optical reasons need special spacing if you don't want the verticals to blur together.
    • Bizarre fonts and font sizes. I remember one supposedly great CD player software that had a jagged "lightning bolt" font for its control labels ... couldn't read them at all, so I deleted it.
    • Odd names for things that have well-known common names. Don't call the mute button the "audio whiffer", even if the developers call it that.
    • Multiple names for the same control, on different menus. Pick a name and use it all over the GUI.
  3. Macintosh Human Interface Guidelines by amper · · Score: 5, Insightful

    Start with the original Macintosh Human Interface Guidelines. Apple Computer put forth an extremely strong effort in researching basic human interaction with graphical user interfaces during the development of their products in the 1980's, and this book is still the gold standard, even if Apple themselves disregard much of its advice nowadays (mainly because Apple was taken over by the team from NeXT). Remember that when Apple was developing the Lisa and Macintosh interfaces, the general populace had never yet been exposed to this type of interaction with technology, and quite a lot of emphasis was placed on making available powerful features to expert users that were easily accessible, yet unobtrusive to novices.

    Along the same lines, I would recommend the original interface guidelines manuals for many of the early graphical operating systems, especially those for early PDA's, like GO's PenPoint, Apple's Newton OS, and the manual for General Magic's Magic Cap.

    All of the aforementioned books are out of print, but any serious student of interfaced design should own all of these.

  4. Re:Depends by sm62704 · · Score: 5, Insightful

    It should combine form and functionality

    Wrong. "Form follows function" is one of the main tenants of good design. Make your toaster as pretty as you like, but don't forget that its function is to make toast, with the least amount of effort for the toaster user as possible.

    If you make your toaster so that it looks like a pig, fine, but if you use the pig's snout as a lever to make the bread go down, you have a shitty design. It should be obvious to the user HOW to make the bread go down.

    If your user needs to RTFM, you have failed in your attempt to design well.

    -mcgrew

    --
    mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
  5. Re:User interfaces by Khelder · · Score: 4, Insightful
    I agree with all your numbered items. However, you said these were "crap":

    1) Human-computer interaction is a discipline and you should read this HCI book or that HCI book. (Alan Cooper's About Face comes to mind).
    I'm surprised you said that, considering your advice sounds a lot like what this sort of book recommends.

    If someone doesn't know anything about HCI and wants to make good UIs, I think it would be really helpful to do some reading. If I had to choose just one, it would definitely be Norman's Design of Everyday Things (which I saw others recommend, too).

    One thing that HCI books do is not just recommend what to do, but give guidelines how to do it. For example, a good way to get early feedback on a UI is with prototypes. There are lots of different kinds of prototypes you might build, and each have pros and cons. A good book could help you decide which kind of prototype to use when.

    Another example: you'd like to evaluate your UI somehow, to see what's good, what's bad, etc., right? But how? User studies are one that lots of people know about, and they have definite advantages, but they're really hard to do right, and they're really labor-entensive. The right HCI book will tell you about cheap evaluation methods, too, what the pros and cons are of the various methods, and help you decide which one(s) are right for your project.

    2) Some vague advice about making look like the OS you're targetting.
    Sounds to me a lot like your #6.