Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Books Media

GUI Design Book Recommendations? 338

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."
This discussion has been archived. No new comments can be posted.

GUI Design Book Recommendations?

Comments Filter:
  • User interfaces (Score:5, Informative)

    by MartinG ( 52587 ) on Thursday January 03, 2008 @09:36AM (#21893480) Homepage Journal
    While not specifically relating to user interfaces of computer software, there is an excellent book relating to making things in general easy to use, and most of the ideas translate well to GUIs.

    The book is called "The design of everyday things" by Donald Norman.
  • by PaleoTek ( 174518 ) on Thursday January 03, 2008 @09:39AM (#21893516)
    Alan Cooper's About Face is a good place to start. I read Version 1.0 back in the day, and am reading the 3rd Edition now. Alas, he's gotten a bit more tedious in the interval, but is still smart, funny, and committed to better GUIs.
  • HCI (Score:4, Informative)

    by Pisal ( 746144 ) on Thursday January 03, 2008 @09:39AM (#21893524)
    Regarding the topic, there is an area of study in Computer Science called HCI (Human Computer Interaction). Take a look at this article for a starting point on that issue.

    http://en.wikipedia.org/wiki/Human-computer_interaction [wikipedia.org]
  • by PhrostyMcByte ( 589271 ) <phrosty@gmail.com> on Thursday January 03, 2008 @09:40AM (#21893538) Homepage
    I don't have any book recommendations, but if you're developing for Windows, be sure to read the Windows Vista User Experience Guidelines [microsoft.com]. Even if you're not on Windows it has some design advice applicable anywhere.
  • by jrexilius ( 520067 ) on Thursday January 03, 2008 @09:41AM (#21893550) Homepage
    by chris crawford..

    its great.

    google books
  • I would suggest... (Score:4, Informative)

    by scafuz ( 985517 ) <scafuz@scafuz.com> on Thursday January 03, 2008 @09:44AM (#21893592)
    I would suggest you two books:
    1] GUI Bloopers 2.0: Common User Interface Design Dont's and Dos [Morgan Kaufmann Publishers]
    2] Designing Interfaces [O'Reilly]
    the first to understand what not to do and the other one to get some good ideas to start from.
    I really think any book will do, except any Jacob Nielsen's books about usability... I've read them at the very beginning of my career... I think it was jus a loss of time
  • I'm no UI expert... (Score:3, Informative)

    by Kjella ( 173770 ) on Thursday January 03, 2008 @09:49AM (#21893648) Homepage
    ...but I'd say most designs fail at one of these two things:
    1. Split the elements into three categories:
    a) Must set / vital parameters / things that can't have a default
    b) Has a default, but users should change regularly
    c) Nice to have - every other little setting

    Make it very clear what the minimum effort is.
    Show the second so users know they're there.
    Hide the third behind an expander/button, for those that specificly look.

    2. Group things logically by function

    Those two things can be contradictory enough. I've met many UIs where either a) there's ten pages of configuration with one a-level option per page, or b) the advanced functions aren't logically ttached to the basic functions at all. If you can make an UI that cover those two well, I'd say you do better than 90% of the UIs out there.
  • by stew77 ( 412272 ) on Thursday January 03, 2008 @09:49AM (#21893652)
    Here's a list my former professor compiled:

    1. Alan Dix, Janet Finlay, Gregory D. Abowd, and Russell Beale: Human-Computer Interaction
    2. Ben Shneiderman and Catherine Plaisant: Designing The User Interface
    3. Donald A. Norman, The Design Of Everyday Things
    4. Jenny Preece, Yvonne Rogers, and Helen Sharp: Interaction Design
    5. Jef Raskin, The Humane Interface
    6. Terry Winograd (ed.): Bringing Design to Software
    7. Brenda Laurel (ed.): The Art of Human-Computer Interaction
    8. Apple Computer: The Apple Software Design Guidelines

    http://media.informatik.rwth-aachen.de/HCIBooks [rwth-aachen.de]

    Keep in mind that testing your UI on real users is very important. Just because you think it's a good UI doesn't make it a good UI.
  • by HellYeahAutomaton ( 815542 ) on Thursday January 03, 2008 @09:52AM (#21893680)
    http://www.amazon.com/Programming-as-if-People-Mattered/dp/0691037639 [amazon.com]

    Careful not to go down the road of the artsy fartsy web UI designers, as a lot of the other suggestions are.
  • Bruce Tognazzini (Score:4, Informative)

    by deacent ( 32502 ) on Thursday January 03, 2008 @09:57AM (#21893740)
    My favorite expert on UI is Bruce Tognazzini. His site at http://www.asktog.com/ [asktog.com] has been quite useful to me. I don't agree with everything he says, but it's always gets me thinking, always challenging me to approach development from a human perspective.
  • Some suggestions (Score:3, Informative)

    by Registered Coward v2 ( 447531 ) on Thursday January 03, 2008 @10:02AM (#21893788)
    Donald Norman Design of Everyday Things (ISBN-13: 978-0385267748) He will get you thinking about the implications of your interface design; this classic may be hard to find but he has other books out as well. While his examples focus on mechanical objects the thought process and criticisms provide insights into how to think about the end user in your design and avoid become someone "Who won an award" for their design. Once you read teh book you'll get what I mean. http://www.jnd.org/ [jnd.org]

    Bruce Tognazzini Tog on Interface (ISBN-13: 978-0201608427) A bit dated but the concepts and idaeas are what matters. He has a website as well as other books. http://www.asktog.com/ [asktog.com]

    Finally, there are classics by Edwin Tufte you may want to checkout as well. He focuses on displaying information (mostly quantitative) in a manner to support understanding; and hates PowerPoint type presentations with a passion. Tufte has a website as well. http://www.edwardtufte.com/ [edwardtufte.com] His one day course ie excellant.
  • Spolsky. (Score:3, Informative)

    by MythMoth ( 73648 ) on Thursday January 03, 2008 @10:02AM (#21893802) Homepage

    I particularly User Interface Design for Programmers [joelonsoftware.com] by Joel Spolsky.

    If you're designing web software, then read through the archives of Use It [useit.com] by Don Norman. I don't like his books - Designing Web Usability is the only paperback I've ever bought that had usability issues! But he's mostly on the ball.

  • Re:User interfaces (Score:5, Informative)

    by morgan_greywolf ( 835522 ) on Thursday January 03, 2008 @10:09AM (#21893858) Homepage Journal
    That's a good book and it has plenty of common sense principles.

    Most of the people on here will say something along the lines of one of the two variants:

    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).

    2) Some vague advice about making look like the OS you're targetting.

    It's all crap. Good interfaces are built by following a few principles:

    1) KISS principle -- Keept It Simple, Stupid. You don't need to make every friggin' thing customizable and you don't want to overwhelm your users with a multitude of options.
    2) Make it 'just work'. Automate as much as you can. Try to have configuration options that either will work in the vast majority of cases with the defaults, or have the application automatically try to determine the best settings for the user's environment. The best configuration dialog is one the user never has to see.
    3) Softer software -- make things customizable, but in a way that they don't HAVE to be customized for a good user experience. Most users won't customize their environment very much. Always keep this in mind.
    4) Present as little of the interface as necessary to accomplish the task at hand. Better to have more dialogs or dialog tabs with a few options than one big gargantuan dialog that has everything.
    5) On layouts -- put the most commonly-used controls in a very prominent place and make them big and easy to click on. Things that are less likely to be used should be smaller and out of the way. Buttons are better than menus, but don't end up with so many buttons that the user gets lost -- again, fewer controls on more windows is better than more controls on fewer windows.
    6) Don't use gaudy, distracting color schemes or fonts. Make it fit-in with the user's environment. If possible, on GNOME, you want to follow the GNOME HIG. Ditto for Mac. On Windows, follow the 'User Experience Guidelines.' But this shouldn't be your overriding priority. Don't scrimp on the other principles I've outlined just because you're trying to shoehorn your application into the OS vendor's model of what an application should look like.

  • KISS me (Score:2, Informative)

    by sm62704 ( 957197 ) on Thursday January 03, 2008 @10:24AM (#21893998) Journal
    The old adage called the "KISS" principle applies: Keep It Simple, Stupid. This has fallen out of favor with the younger generation. Today's apps are busy; too busy. Everyone and their dog wants to be Bill Gates so they copy Microsoft.

    However, at the opposite end of the spectrum isn't Apple, but Google. Google does it right. Simple, clean, light, fast. There is little to no trouble finding any of the myriad things Google has to offer these days, yet the interface still isn't cluttered.

    IMO if your interface would fit a Microsoft product, it sucks. Microsoft writes the WORST interfaces. Big, heavy, bloated interfaces (and code to match) that give the impression of having more than it actually does, and offering more than you need.

    Now, I'm a bit biased from my college training, as I was a fine arts major, and the instructors were mostly minimalists. One of my better instructors, when faced with a busy piece, would often say "there's less here than meets the eye". That's Microsoft.

    Is there a patent on the circular menu or something? I have yet to see one an any commercial or OSS application.

    If I weren't so damned lazy (and wasting all my time at slashdot) I'd use the KDE codebase to write a GUI that instead of having the windows-like taskbar at the bottom, would have a command line. You would still have icons, wallpaper, etc, but instead of a "start" button like Windows or KDE you would click on any empty part of the screen to pull up a circular menu. If you just started typing (without clicking anywhere first), what you typed would show up on the command line at the bottom of the screen. I still find it a hell of a lot easier to type "dir" or "ls" than to right-click "start", find "Home" or "Explore" in an old fashioned, should be obsolete straight menu, then click and click and click to get to where you were when you pulled it up. I find it easier to type "del ??task.bat" than to use Windows Explorer, drill to where the files are, hold down "alt" and choose the files I want to delete, then... well, GUI is great but command line interfaces have their strengths, too.

    But to reiterate, what's worse than Microsoft? Any newspaper's web site.

    -mcgrew

    PS- don't go to my site looking for good design, it's cobbled together without much effort or thought. It loads fast though.
  • Re:User interfaces (Score:5, Informative)

    by SQLGuru ( 980662 ) on Thursday January 03, 2008 @10:43AM (#21894196) Homepage Journal
    7) Know your audience.
              -This is related to #5 in that your audience determines what features should be prominent: the person answering the phone needs the "take message" feature to be easiest to reach....the person at the cash register needs the "ring up sale" feature to be easiest.
              -This is related to #6 in that your audience determines what colors are good / bad (think "high contrast" color schemes for visually impaired, cultural implications of color, etc.)
              -This is related to #3 in that if your audience is Slashdot readers, they expect skinning and an options screen with 50,000 selections.....if your audience is the owner of the basement you live it, they expect a single button that is labeled "Do What I Mean"

    I'm sure that principle applies to the others in some way, too, but you get the idea.

    Layne
  • by anomalous cohort ( 704239 ) on Thursday January 03, 2008 @11:59AM (#21895264) Homepage Journal

    Also, consider reading Don't Make Me Think [sensible.com] by Steve Krug.

New York... when civilization falls apart, remember, we were way ahead of you. - David Letterman

Working...