Slashdot Mirror


User Interface Design for Programmers

ellenf contributes this review of User Interface Design for Programmers. "Aimed at programmers who don't know much about user interface design and think it is something to fear, Joel Spolsky provides a great primer, with some entertaining and informative examples of good and bad design implementations, including some of the thought process behind the decisions. Spolsky feels that programmers fear design because they consider it a creative process rather than a logical one; he shows that the basic principles of good user interface design are logical and not based on some mysterious, indefinable magic." Read on for the rest of ellenf's review. User Interface Design for Programmers author Joel Spolsky pages 144 publisher Apress rating 8 reviewer Ellen ISBN 1893115941 summary Aimed at programmers who don't know much about user interface design and think it is something to fear, Joel provides a great primer, with some entertaining and informative examples of good and bad design implementations, including some of the thought process behind the decisions. He feels that programmers fear design because it is a creative process rather than a logical one and shows that the basic principles of good user interface design are logical and not based on some mysterious indefinable magic.

Spolsky's light writing style makes this book an easy read, and his personal stories and anecdotes help make his thoughts on user interface stick in your mind when you're done reading. He provides programmers with a few simple guidelines to follow, such as "People Can't Read," and "People Can't Control the Mouse."

His focus on the logic of good user interfaces and his push to develop a good user model is bound to resonate and get programmers to think about making their interfaces logical from the user's perspective, rather than the perspective of the inner architecture, which the user could typically care less about.

The reminder to focus on the tasks the user is trying to accomplish rather than the long feature list that usually gets attached to product specifications should be read by product managers as well, of course. In fact, the absence of specific platform details makes the book a good read for anyone involved in software design -- with the caveat that it is not aimed at people with much design experience. This is a great starter book and makes the process understandable, friendly, and fun-sounding. (One of the things I appreciated was how much fun it sounds like Spolsky has when he's working.)

Spolsky encourages showing the in-progress software to users and watching them use it. I think one of his best points about usability testing is that if the programmers and designers cannot bother to watch the users during the testing, they're unlikely to gain much from a thick report by a testing lab. He encourages simple, quick, and casual usability testing, something even the smallest firm could afford and from which they would could draw useful improvements.

If you have much design experience, you'll find this book a bit basic, but even then the examples are worthwhile to read and remind yourself how a good idea can be poorly implemented sometimes -- usually by taking it too far! I was personally hoping for some richer comments about designing web applications, but if more people start paying attention to the basic guidelines he's covered here, web users will benefit.

In summary, the book is aimed at programmers without much design experience and Spolsky does a great job of hitting his mark. I think product managers without much design experience would benefit as well, as it provides a good basis for thinking about user interface design.

You can purchase User Interface Design for Programmers from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

331 comments

  1. Easiest thing is... by SoCalChris · · Score: 1, Funny

    To just put Clippy, or any other Microsoft Agent into your app. And tyo make your app really cool, make sure you can't disable it.

    1. Re:Easiest thing is... by mopslik · · Score: 2, Funny

      make sure you can't disable it

      I think that crosses the line from "UI testing" to "hardware durability" testing.

    2. Re:Easiest thing is... by Overly+Critical+Guy · · Score: 0

      You've been able to disable Clippy from the start. He's not even on by default anymore.

      --
      "Sufferin' succotash."
    3. Re:Easiest thing is... by UnassumingLocalGuy · · Score: 2, Funny

      That brings back bad memories. Last year, during my freshman year of college, I was one of the lucky test subject in a study conducted by one of the CS students. (See http://www.users.muohio.edu/birchmzp/csi/dharna.pd f). It was a poor VB project that had an annoying talking head bouncing around the screen, giving instructions, that I was explicitly told "not to dismiss." And yes, it used Microsoft Agent... I wanted to kill it. Especially when I had to repeat the same action over, and had to listen to the same instructions from it again. On top of that, the VB program's buttons were greyed out until the thing shut up.

      *shudder*

      I went back to my room and stared lovingly into the login prompt on my FreeBSD machine for an hour after that experience.

      --
      "Hu, ho, ho-ah-oh-oh-oh. Hu, ho ho-ah-oh-oh-oh. Mario Paint! Whoaaa!"
    4. Re:Easiest thing is... by darkov · · Score: 4, Funny

      Hi! It looks like you're posting a sarcastic comment to Slashdot! Would you like me to make fun of the humorless and daft who take your posting posting literally?

    5. Re:Easiest thing is... by garysears · · Score: 0

      Oh My God.

      do you WANT people to hunt you down and play loanshark upon your person?

      Ye gods and little kittens.

      Of course, no jury of their peers in the world would ever convict them.

    6. Re:Easiest thing is... by Miguel+de+Icaza · · Score: 2, Interesting

      Wierd. I think the paperclip is a great idea.

      I have even been thinking about how to make a framework for guessing what the user is doing in GNOME.

      --
      Before adopting WHATWG, read the moonlight.NET EULA [http://www.microsoft.com/interop/msnovellcollab/moonlight.mspx]
    7. Re:Easiest thing is... by Pike65 · · Score: 1

      I must protest! I lurve the Agent!

      You can hook it up to mIRC, and hearing Merlin swear in a Stephen Hawking stylee is great entertainment for a few minutes.

      --
      "If being a geek means being passionate about something, then I pity those who aren't geeks." - Pike65
    8. Re:Easiest thing is... by hawkfish · · Score: 1
      the humorless and daft who take your posting posting literally
      As opposed to just your posting?

      (Ducks ;-)
      --
      You will not drink with us, but you would taste our steel? - Walter Matthau, The Pirates
    9. Re:Easiest thing is... by sketerpot · · Score: 1
      I went back to my room and stared lovingly into the login prompt on my FreeBSD machine for an hour after that experience.

      It is beautiful, isn't it. Similarly, notepad makes me look lovingly at nano (or pico, or even emacs; not much experience with vi, but I'm sure I'd think of it lovingly too). Nano can do unix and dos line ending changes automatically; that alone sets it apart from the underfeatured abomination (to people who use \n and \r\n interchangeably) that is notepad. That "image manipulation software" that various printer makers dump on their unfortunate users makes me open the Gimp, as does Microsoft Picture It, which has got to be one of MS's worst blunders yet.

      login:

    10. Re:Easiest thing is... by DrPascal · · Score: 1

      Not to back up Windows or anything (I'm a vim nut), but Wordpad automatically handles \n-\r\n problems. It also replaces text way faster than Notepad... it's good to remember if you need a text editor really quick but are stuck on a Windows box.

      --
      DrPascal: Not the language, the mathematician.
    11. Re:Easiest thing is... by Tukla · · Score: 1

      See? Microsoft is so uncool!

    12. Re:Easiest thing is... by magores · · Score: 1


      Crimson Editor is a great, free editor when sitting at a windows box.

      I don't mean to shill for the guy, but I'm going to anyway cause I really like this program. And, No. I don't work for him or know him or anything.

      From his homepage...

      Crimson Editor is a professional source editor for Windows.

      This program is not only fast in loading time, but also small in size (so small that it can be copied in one floppy disk).

      While it can serve as a good replacement for Notepad, it also offers many powerful features for programming languages such as HTML, C/C++, Perl and Java.

      Syntax Highlighting for HTML, C/C++, Perl, Java, Matlab and LaTeX. Also, it can be extended for other programming languages based on custom syntax files.

      Other features include undo/redo, user tools, macros, spell checker and more.


    13. Re:Easiest thing is... by Grab · · Score: 1

      I used to use Crimson, and it was pretty good, for a month or two. Then it decided it was going to crash every time I opened it, and reinstalling and redownloading the install didn't fix the problem. I gave up. I have MSVC anyway, so there wasn't a big incentive to pursue it further.

      Grab.

    14. Re:Easiest thing is... by sketerpot · · Score: 1

      Yeah, wordpad is nicer---but I hate all the "what format do you want to save as (default is .doc)?" stuff. I want something for plain text only. Oh well.

    15. Re:Easiest thing is... by magores · · Score: 1

      Never crashed on me.

      But, if it doesn't work for you, then go for another option. (As you rightly did.)

      That IS what it's all about, isn't it? Options.

  2. Dunno 'bout everyone else by sielwolf · · Score: 4, Insightful

    they consider it a creative process rather than a logical one;

    Are we supposed to assume that creative and logical are now mutually exclusive? I always thought they were complementary. I sure as heck wouldn't find computers interesting if it was all rote and mechanics.

    --
    What is music when you despise all sound?
    1. Re:Dunno 'bout everyone else by DrWhizBang · · Score: 4, Insightful

      I don't think the intention is for it to be exclusive, but rather that it is not exclusive. The point is that many programmers believe that designing a UI is a creative process, because at some point they designed a UI and they were told it was ugly. This is an unfortunate comment, since the rejection of the UI was more likely on cognitive grounds rather than aesthetic, but the word ugly can apply in either case.

      There are fundamental rules of UI design, and there are UI best practices. When these are adhered to, then the UI will be cognitively appealing to the user. In addition, there are liberties that a UI designer may take, and innovations that can be made (per application) that can add up to a smashing UI. But if you are unaware of the rules and conventions, you will fail to create a good UI, and if you don't even know that the rules exist you may be liable to blame it on a gap in creativity rather than a failure to fulfill a logical design.

      Phew. that was a mouthful ;-)

      --
      Schrodinger's cat is either dead or really pissed off...
    2. Re:Dunno 'bout everyone else by Palarran · · Score: 1

      I don't think they're mutually exclusive. I do think they're orthogonal. Any real task is likely to partake of both to some degree, though perhaps heavily of one and little of the other.

      If most CS people feel their skills are primarily logical, they might shy from a task that required strong creativity.

      Does that remove whatever exclusivity you saw?

    3. Re:Dunno 'bout everyone else by Jack+William+Bell · · Score: 1

      I had the same reaction. Of course I haven't read the book, so I don't know if Spolsky is being reported correctly either.

      Considering that I often do agree with Joel's commentary on aspects of programming and programmer thinking (for example his concept of leaky abstractions) I am wondering if it was something he was saying for effect that got took out of context.

      OTOH Joel is quite aware that not all programmers are equal. So it could be that this new book is aimed at non-creative types who want to make the transition. Something that, I suspect, is a lost cause from the start. This reminds me of the people who say to you "Forget all this theory crap, let's get to the code." -- You just know they will never understand why the theory is important. I expect the same is true of someone who thinks creativity and logic are opposite poles of thought.

      --
      - -
      Are you an SF Fan? Are you a Tru-Fan?
    4. Re:Dunno 'bout everyone else by bug-eyed+monster · · Score: 1

      There is a lot going on in computer programming and user interface design: logic, problem-solving, aesthetics, creativity, etc.

      Problem-solving is a major part of programming, and IMHO what makes programming so much fun. Of course, sometimes one has to get rather creative to solve a problem.

      Logic is a major part of UI design, because one wants the UI to behave in a uniform and familiar way. Aesthetics makes a program easy on the eyes, but doesn't necessarily make it easy to use.

      I believe the point of that sentence was, a lot of programmers think that every good program's UI design must be a creative new way of doing things, whereas it should be the opposite. Most programmers will easily come up with a usable interface if only they read and (logically) follow their target platform's styleguide, combined with some basic UI design rules.

      It is useful and healthy to create new improved ways of interfacing programs, but one doesn't want to attempt that with every single new system. If you try to become creative with every new implementation, you make every one of your programs a UI testbed, which has the potential of making them unusable even if the problems solved by the programs are useful.

      Examples of good use of logic in real world: accelerate/clutch/brake pedals in cars, horizontal door handles to convey "push." Examples of good use of creativity: automatic doors and heads up displays, but only after they've been perfected. Examples of bad use of creativity and aesthetics: different locations of light switch in some cars, vertical handles on both sides of a glass door.

    5. Re:Dunno 'bout everyone else by kisrael · · Score: 4, Interesting

      Heh, reminds me of Donald Norman's book The Design of Everyday Things. He loved picking on things where aesthetics weere given priority over utility, like doorhandles that were the same for push and pull. He dismissed it with a sniff and "probably won an award".

      Of course, his own book suffered from the same problem...it was originalled "The Psychology of Everyday Things", which let the book refer to itself as "POET", kinda nice.

      Of course, bookstores and other catalogers kept putting it under "psychology" rather than "design".

      And indeed, it had won awards. ;-)

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    6. Re:Dunno 'bout everyone else by Anonymous Coward · · Score: 0

      Nice try, byteboyz, but save the CREATIVE razz for a pointy+hair boss. GRIND out your rule_encrusted C--. HAhahahaha. WHY do you think IT's called a "Turing machine"? Can i spell that out for you?? m-a-c-h-i-n-e ... now what don't you understand ???

  3. Re:$9 cheaper by Anonymous Coward · · Score: 0

    Quit posting Amazon referral links you dingbat!

  4. The Main Problem with Design by baldass_newbie · · Score: 3, Funny

    Is that users are fucking idiots.
    Some user just posted an item how she highlighted her work and then hit 'backspace' and deleted everything.
    She wanted to know what we could do for her.
    'Feel bad' was about all we could come up with. 'Laugh' was another, but we didn't think she'd like that.

    --
    The opposite of progress is congress
    1. Re:The Main Problem with Design by infochuck · · Score: 1, Insightful

      Some user just posted an item how she highlighted her work and then hit 'backspace' and deleted everything.
      She wanted to know what we could do for her.
      'Feel bad' was about all we could come up with. 'Laugh' was another, but we didn't think she'd like that.


      Too bad your app was designed by amateurs, and didn't have an "undo" feature, eh?

    2. Re:The Main Problem with Design by CableModemSniper · · Score: 1

      Ctrl+Z?

      --
      Why not fork?
    3. Re:The Main Problem with Design by kisrael · · Score: 1

      Err, did you suggest at least trying Ctrl-Z or right-click "Undo"?

      I'm surprised how many programs that's pretty effective for. I've corrected many the errant "first ctrl-a ... now... whoops" with that.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    4. Re:The Main Problem with Design by Anonymous Coward · · Score: 0

      So your job title/description includes:

      Customer Suppression Level I
      - Actively suppress those who - at that moment - are not able to take your job away from you.

    5. Re:The Main Problem with Design by Anonymous Coward · · Score: 0

      A couple of years ago, the office airhead came running into our room in a total panic, on the verge of tears. She said her computer crashed, so she turned it off and it wasn't doing anything now. We asked her if she turned it back on. She got a momentary look of brilliance on her face, exclaimed "Oh!" and ran back to her cube.

      F'ing idiots is an understatement. I can't complain though, it's job security.

    6. Re:The Main Problem with Design by baldass_newbie · · Score: 0, Flamebait

      It's a Web App. We're constrained by the browser.
      Insightful comment, though.

      --
      The opposite of progress is congress
    7. Re:The Main Problem with Design by Croaker · · Score: 1, Troll
      'Feel bad' was about all we could come up with. 'Laugh' was another, but we didn't think she'd like that.

      The problem with developers are they are all so fucking lazy.



      Don't you have an undo function? Does the undo function not actually undo what she did? If not, why not?



      I am often amused by developers who spend one half of their time bitching at how users are so fucking stupid, and the other half of the time bitching that Microsoft sucks so bad because their APIs are a mess, their tools often fuck up, and the error messages they generate are useless. I.e. exactly what their own customers are saying about their own products.


    8. Re:The Main Problem with Design by Anonymous Coward · · Score: 2, Funny

      What? Why would you want to suspend the process?

    9. Re:The Main Problem with Design by bizcoach · · Score: 1
      Is that users are fucking idiots.

      That isn't true - at least for most programs it isn't true - most programs are written for people who are tring to have fun, or who are trying to accomplish some task. The assumption "users are idiots" is just as wrong as assuming the user's thought process to be in any way similar to how the programmer thinks.

      The only way to create a program which is suitable for use by others is to watch others try to use the program. That, and nothing else, gives an understanding of how users think.

    10. Re:The Main Problem with Design by infochuck · · Score: 0

      Doh! Stupid web! That's why I don't use it. Ever.

    11. Re:The Main Problem with Design by Anonymous Coward · · Score: 0

      It's a Web App. We're constrained by the browser.
      Insightful comment, though.

    12. Re:The Main Problem with Design by Anonymous Coward · · Score: 0

      It's a Web App. We're constrained by the browser.
      Insightful comment, though.

    13. Re:The Main Problem with Design by DoraLives · · Score: 1
      We're constrained by the browser.

      So ok, enough with the suspense. WHAT browser?

      --
      Is it fascism yet?
    14. Re:The Main Problem with Design by Anonymous Coward · · Score: 0

      Once again, it's a Web App. We're constrained by the browser.
      Insightful comment, though.

    15. Re:The Main Problem with Design by Anonymous Coward · · Score: 0

      Uh, browser text boxes have undo.

    16. Re:The Main Problem with Design by infochuck · · Score: 1

      Hey, yeah! Moz and IE both have undo - though in IE, it doesn't (that I can find) appear in the menus - you just have to trust in Ctrl-Z's mighty kung-fu.

    17. Re:The Main Problem with Design by Anonymous Coward · · Score: 0
      the last time I met a girl that stupid, I told her I was an undercover cop, whipped out my dick and told her it was a breathalyzer test.


      Of course, afterwards, her wig fell off and i realized it was Michael Sims.

    18. Re:The Main Problem with Design by Anonymous Coward · · Score: 0

      I know that and you know that.
      However, the user obviously does not know that.

    19. Re:The Main Problem with Design by fredrik70 · · Score: 1

      um, all browser I know of got undo in their form fields

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    20. Re:The Main Problem with Design by MisanthropicProggram · · Score: 1
      Too bad your app was designed by amateurs, and didn't have an "undo" feature, eh?

      Ya know, some people like to have their software work the way they want it. And somtimes that means that it doesn't work to "industry" standards. Of course, we all know that software design is governed by natural laws and can't be broken. :-)

      --

      There is no spoon or sig.

    21. Re:The Main Problem with Design by hackwrench · · Score: 1

      I typed this in IE, deleted it right clicked, selected undo and it came back. What browser were you using?

    22. Re:The Main Problem with Design by kisrael · · Score: 1

      It's a Web App. We're constrained by the browser.
      Insightful comment, though.


      Ah, yeah. Although one level Ctrl-Z does work in textareas on IE at least, once you've gone past the starting page you're often screwed.

      Actually, I tend to get screwed a lot by stuff like Slashdot's "wait 2 minutes" limiter...I don't mind waiting so much, but I think the submissions page has "No Cache" or something set, so everything I typed has gone away. I've had a similar problem elsewhere; one hacky solution (when I'm thinking there might be a problem) is to hit ctrl-a ctrl-c (select all, copy) in the main textarea before submitting...and I was wishing there was some way that could happen automatically.

      While I'm on the topic of web UIs and usability...another favorite gripe: 9/10 of all "reset form fields" just should NOT exist. Just because it's easy "functionality" to include, some web designers do, so you end up with this little button that looks a LOT like the submit button you mean to press, but it erases everything you typed into the form. Duhhhr! The only time it should be considered is when you're EDITING data, not ENTERING it, and even then some kind of "are you sure" would probably make more sense.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    23. Re:The Main Problem with Design by slamb · · Score: 1
      It's a Web App. We're constrained by the browser.

      This statement is why data entry applications just shouldn't be HTML forms-based. That puts too many constraints on you to design a good user interface. There are alternatives. At work, the HR people in our department use two personnel systems:

      • The organization-wide one, which is a HTML form-based web application. It's awkward to navigate, and our people really hate it.
      • The one we designed for them. [*] It's Oracle Forms-based, which means they navigate to a web page and the Forms Java applet comes up. It has dialog boxes, auto-completion, quick response times, and sorts of other features you just can't put into a HTML form-based application. And it makes the difference; we get compliments on our application.

      In general, I'd say something applet-based is superior for lots of data entry. Sure, it takes longer to start, and you need to make sure they have a decent JVM, but I think in a lot of data entry situations, those problems aren't that big.

      [*] - You're probably asking why we make them use another one. It exists because the organization-wide one doesn't store everything they need and can't be updated as quickly as they need some information, and we can't change that; bureauracy. Unfortunately they still need to have the information in the main system, and it would be prohibitively difficult to have our system function as a complete interface to theirs. So, two systems.

    24. Re:The Main Problem with Design by ichimunki · · Score: 1

      When you get the slowdown note from Slashdot.... leave the page where it is. Wait. Hit reload. Answer "Retry" to "repost form data" or whatever that dialog says.

      --
      I do not have a signature
    25. Re:The Main Problem with Design by kisrael · · Score: 1

      Good idea! But it doesn't work if slashdot (or whatever site this is happenign on) is having a server problem, which actually happens just as often as the slow down cowboy issue. Well, it does happen, but your stuck having to carefully leave that window open, rather than being able to cut and paste your message into like a text document...

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    26. Re:The Main Problem with Design by stonecypher · · Score: 1

      To continue the process of observation by the root of problems, I believe that the real issue is that the customers are so fucking lazy. If they'd spend less time worrying about what it says on the back of the box (gee, the 2k4 edition has 20 new resume templates) and more time worrying about what reviewers say about convenience, interoperability and stability, then the market pressure would no longer be to get new versions with flashy widgets and gouraud-shaded bevels out there, but instead to stabilize and sanitize codebases and finally start behaving like real engineers.

      One of the luxuries of the open source model is that many developers, which are free to do what they want, desire such development, refinement, and refactoring. One of the problems with the current business model is that the managers know damned well that what sells is the "ooh aah" factor, not Good Software (tm).

      As long as you're laying blame, remember that the developers getting these things out the door aren't lazy at all. We're overworked, underfunded, and underscheduled. In more cases than I'm confortable being aware of, it's a herculean effort and a local miracle that half of this software works at all. It's always the guy at the helm that gets the finger pointing, and in a market economy, It's All The Consumer's Fault.

      Now if only a linux distro would get a non-stupid name.

      --
      StoneCypher is Full of BS
    27. Re:The Main Problem with Design by CableModemSniper · · Score: 2, Insightful

      Oh that is genius, I salute you.

      --
      Why not fork?
    28. Re:The Main Problem with Design by pod · · Score: 1

      When you get the 'slow down cowboy...2 minutes' page, you can reload it to post your reply, the whole thing is still there in a hidden form.

      --
      "Hot lesbian witches! It's fucking genius!"
  5. Re:$9 cheaper by Anonymous Coward · · Score: 0

    I'd rather spend the extra $9 than give a scum-sucking troll like you a cut.

  6. In my experience... by kafka93 · · Score: 0, Offtopic

    .. many developers set out quite deliberately to test the theory that the users "could care less".

    English: it's not *that* difficult a language...

    1. Re:In my experience... by proj_2501 · · Score: 1

      could care less = caring more than the minimum possible
      couldn't care less = caring exactly the minimum possible

      so which one do you actually mean?

    2. Re:In my experience... by kafka93 · · Score: 0

      I was alluding to the review. But thanks for making the effort.

    3. Re:In my experience... by fiannaFailMan · · Score: 1

      "Could care less" is the American equivalent of the British "Couldn't care less." I thought it was a typo the first time I saw it too.

      --
      Drill baby drill - on Mars
    4. Re:In my experience... by proj_2501 · · Score: 1

      READ the article? What's that mean?

    5. Re:In my experience... by kafka93 · · Score: 1

      It's only an "American equivalent" for those Americans too lazy to think/speak properly. I know many Americans who are appalled by "could care less" - and rightly so, because it's a stupid thing to say.

    6. Re:In my experience... by IMarvinTPA · · Score: 1

      It is my understanding that "could care less" is said with sarcasm while "couldn't care less" is said with contempt.

      At least, that's how I keep my sanity when people say it without the "not".

    7. Re:In my experience... by Anonymous Coward · · Score: 0

      It's in the vein of "I could care less, but I'd have to be dead." That's how I always rationalized it, anyway.

    8. Re:In my experience... by b!arg · · Score: 1

      Much like seeing people write out something like this (which I see constantly), "I should of taken out the garbage." Damn that one irks me..almost as much as when people spell out "Chow" as their signoff on an email. Of course I'm sure there is some grammar mistake in this posting just by the sheer fact I'm criticizing others' grammar. Sue me!

      Hmmmm...this is off-topic? Pretty UIs = Good. Ugly UIs = Bad

      --

      Everybody dies frustrated and sad and that is beautiful
    9. Re:In my experience... by NickFitz · · Score: 1

      Good work with the apostrophe there.

      I would have liked to have seen a comma after "Damn", and three dots to the ellipsis... but other than that, excellent.

      (Now somebody can tell me I'm wrong to have a space after my ellipsis... sigh :-)

      --
      Using HTML in email is like putting sound effects on your phone calls. Just say <strong>no</strong>.
    10. Re:In my experience... by fenix+down · · Score: 1

      The problem with "could care less" is with the other side being so preemptive.

      "So, what do you think about this idea..."
      "I could care less."
      "Well fuck you then!"

      vs.

      "So, what do you think about this idea..."
      "I could care less."
      "Ok, well, we could take the..."
      "Now I couldn't care less."
      "Aha! Delightful! Our command of the English language is surely impressive, you stupid fucker!"

  7. Re:$9 cheaper by SoCalChris · · Score: 3, Informative

    Bookpool has it $2 cheaper than Amazon, and you're not giving business to someone who is abusing the patent system.

    http://www.bookpool.com/.x/ejmrmq9fa6/sm/189311594 1

  8. programmers think they know UI by kisrael · · Score: 3, Insightful

    Most programmer think they know how to do UI.
    (Frankly, I think many of them do, to a certain extent, if they're reasonably smart and understand ideas like not throwing too many options at the novice user)

    It's visual design where the failing comes in. I think.

    Or maybe I'm just generalizing from me.

    --
    SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    1. Re:programmers think they know UI by iapetus · · Score: 5, Funny

      More annoyingly, most users think they know how to do UI better. :)

      --
      ++ Say to Elrond "Hello.".
      Elrond says "No.". Elrond gives you some lunch.
    2. Re:programmers think they know UI by banky · · Score: 4, Interesting

      Programmers know UI based on what they do as programmers.

      Programmers need the 80-bazillion options Visual Studio requires, because Visual Studio is a tool for making other tools.

      On the other hand, users don't need all those options (at least, for the average user). Users want a hammer, not a combination forge-lathe-grinder with optional fiberglass extruder.

      The argument is constantly made, "What about 'power users' and people who really do need extra functionality?". Fine, OK: put that stuff "under the hood" and document its location and functionality. But don't put in a user config dialog with 27 tab groups, 40 options per tab, with an 'Advanced' button on each one.

      In fairness, there's less and less of this. Windows programmers are starting to understand the value of simplicity, just like Mac programmers are starting to understand the value of "power user" options (the `defaults` command, for example).

      --
      ZOMG I WOULD LOVE TO KNOW ABOUT YOUR FEELINGS ON MACINTOSH VERSUS WINDOWS, VI VERSUS EMACS, AND HOW YOU'RE NOT A DORK
    3. Re:programmers think they know UI by b-baggins · · Score: 2, Funny

      What's most annoying to programmer egos is that the users are right.

      --
      You can tell a great deal about the character of a man by observing those who hate him.
    4. Re:programmers think they know UI by kisrael · · Score: 2, Interesting

      Well, speaking as a programmer who "uses" many other pieces of software...yeah, I think I do have some better ideas for many of the pieces of software I use...

      Of course, many of my potential suggestions have to do with "improvements" made in UIs I know, so I have to sort out "I don't like it because I'm not familiar with it" from "I don't like it for these specific functional reasons" (and that's always with the risk of not seeing why the "improvement" was made...there could be decent reasons for some of them.)

      That said: some of my favorite gripes...
      Windows. Ctrl-F in file explorer ... I really miss the old independent app that would pop up. It was so clear that it was a seperate task. This newish sidebar sucks...I hate how I can't tell at a glance if the right pane is search results, or if maybe I had already hit the "X" button and the window is just displaying an ordinary set of folder contents. Duhhrr.

      Windows. Ctrl-F in IE...considering how many decent ideas they've had w/ autocomplete of previous URLs in the Address bar, I'm impressed that the Ctrl-F box is so bad. Would it be so hard to make a list of my past searches into a dropdown combo box there? Is there a logical UI reason why sucessful in-page searches have a larger chance of showing up when I hit Ctrl-F next time, when usually it's the failed in-page searches that I want to repeat? Most infuriating is when a page hasn't finished loading...ctrl-F pulls up one of those wacky sidebars again "gee, if your page is taking more than a few seconds to load, maybe you actually want to search the entire frickin' internet through your special OEM-branded portal". GAWD, is there a way to turn that off?

      Also recently I upgraded to the latest version of the newsreader Tin (on an old academic user account)...the misfeatures multiply, and only some of them seen configurable, from showing the msg header even after paging down (thus making it 4 times harder to see where one msg stopped and the next began) to color-coding instead of displaying the characters *stuff* _like_ /this/ used for emphasis, to always asking if I want to mark all messages as read when exiting a group without reading all of its messages...

      See, it's not so hard to play armchair UI guru...

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    5. Re:programmers think they know UI by kisrael · · Score: 1

      yeah, I think you nailed re: "power users".

      It's a non-trivial problem:
      * show too much, newbies get scared
      * hide it too well, and medium-experienced folk will never learn about it and even power users might curse you

      And so many "power configurations" are so poorly explained. More than half the time context sensitive help just lists the name of the command, or doesn't give any context as to why you would want to use it.

      I have very mixed opinoins about Window's "make unusued menu options go away" way of coping with this kind of problem. It seems clever and sometimes works alright, but menus that are never the same twice can be annoying.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    6. Re:programmers think they know UI by kisrael · · Score: 3, Insightful

      And, and one other windows annoyance:
      any (non-browser) program that opens a URL thorugh the OS, be it the start menu, should OPEN UP A NEW FRICKIN' BROWSER WINDOW rather than highjacking an existing one. If I have a window open in the background, there are GOOD ODDS I that I *want* the information that's in there to STAY there. Double Duhhr.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    7. Re:programmers think they know UI by david.given · · Score: 4, Insightful
      The argument is constantly made, "What about 'power users' and people who really do need extra functionality?". Fine, OK: put that stuff "under the hood" and document its location and functionality. But don't put in a user config dialog with 27 tab groups, 40 options per tab, with an 'Advanced' button on each one.

      Way back in days of yore, when Microsoft was still working out how to do overlapping windows, there was a company called Geoworks that produced a really nice office suite for the PC.

      I won't go into details about it, but one of the really cool features was that each application had a tunable user interface. For example, you could set the word processor to user level #1 (novice) and it would turn into Windows Write: most of the controls went away, and you ended up with toolbar buttons for italic, bold, underline, etc, plus justification options; you got simple menus that let you pick things like the font and size directly; you got really, really basic page layout features --- I think it let you pick your paper size, and that was it.

      OTOH, turn it up to level #4 (expert) and it turned into Word. There were controls everywhere. Hierarchical editable character and paragraph styles, embedded fields, hyperlinks, a full vector drawing package including rotatable text (also with hierarchical editable styles), a full bitmap drawing package, up to four seperate customisable toolbars, ruler and frame based layout, etc, etc.

      And they used the same files.

      So it was perfectly possible for Precocious Teenager to log in in expert mode, put together some pretty templates, and then Grandma could log in in novice mode and type text into them with simple formatting. Mum and Dad could use levels #2 or #3, which gave you more features without the overwhelming complexity that level #4 gave you.

      It was such a startlingly good idea that I am not at all surprised no-one appears to have done anything similar.

      (Hmm. You might still be able to download an evaluation copy here, but I suspect it's a pig to run on a NT-based Windows. Worth a look, though, if you want to be amazed at what it's possible to do on a 2MB real-mode DOS machine.)

    8. Re:programmers think they know UI by Matey-O · · Score: 1
      On the other hand, users don't need all those options (at least, for the average user). Users want a hammer, not a combination forge-lathe-grinder with optional fiberglass extruder.
      It depends on whether the end user is making Toast, or a grandfather clock. I know _I_ want a forge-lathe-grinder-extruder.
      --
      "Draco dormiens nunquam titillandus."
    9. Re:programmers think they know UI by Sigma+7 · · Score: 5, Informative
      any (non-browser) program that opens a URL thorugh the OS, be it the start menu, should OPEN UP A NEW FRICKIN' BROWSER WINDOW rather than highjacking an existing one.
      Actually, it's the browser that makes that decision. If you find that these third party applications hose whatever background content you were holding regardless of the available, you might want to switch browsers.

      I can tell you how to fix that in IE: Goto Tools -> Internet Options -> Advanced. Look for an item called "Reuse windows for launching shortcuts". Uncheck it.
    10. Re:programmers think they know UI by rowanxmas · · Score: 1

      I think not.
      In my app I display about 1,000 genes. At any given time a user can right-click and open up a corresponding web-page. Does that mean that I want 1,000 windows? No. It means that the user should have the choice of getting 1,000 windows, or keeep using the same one, which you have postioned to be readable next to your app.

    11. Re:programmers think they know UI by kisrael · · Score: 1

      I can tell you how to fix that in IE: Goto Tools -> Internet Options -> Advanced. Look for an item called "Reuse windows for launching shortcuts". Uncheck it.

      Interesting...thanks!
      (It's super dumb that that's a default...in fact, I'd be hard pressed to think of a good scenario for that.)

      I assumed it was an OS thing and not an app thing because my startmenu has two shortcuts... I guess one is just to IE as an app, but because it always opens my local start page first, I think of it as being the same kind of thing as my shortcut to the company's intranet.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    12. Re:programmers think they know UI by kisrael · · Score: 1

      In the case you describe, I'd suggest it should be a configurable option for "new windows" vs "single gene window", or two seperate options in the context menu, just like IE lets you select "open" vs "open in new window".

      There's a chance someone will get upset that they looked at the URL for gene 312, decided to save it for later, opened up gene 741, and then gene 312 is GONE (unless they know to try to use the browser's back button) I've certainly been frustrated by websites that force window reuse on me...sometimes I really do want to multitask/have a window open to come back to.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    13. Re:programmers think they know UI by travisbean · · Score: 1

      I think it's a bit of generalization. It's dangerous to think of the UI design as "just pretty pictures" because that furthers the gap between designers and developers. Take XP, my limited experience with XP suggests the basic day-to-day UI isn't a whole lot different than 2000, but the graphic design of it is (plus some more "agent/wizzard" type of widgets). (good) UI design is more about user flows, task analysis, and understanding the capabilities of the technologies. Some ui designers are just graphic designers who happen to work on spoftware, and give the rest of us a bad name.

    14. Re:programmers think they know UI by kisrael · · Score: 1

      Good point: but on the other hand, engineers tend to downplay the importance of things looking good.

      Case in point: I was giving advice to one guy who was making a windows front end to "Z26", an atari 2600 emulator (interesting, people who say 'engineers make commandline, let the designers do the ui'--well, the integration is a lot looser, and there are fewer chances for interaction between ui and core engine. anyway.) So he had a skins/wallpaper type option. (It was kind of like a tiling webpage background image thing behind the list of ROMs) I suggested he get rid of it: I mean, who cares what a frickin' game launcher looks like, right? But he says far and away that customizability is what he gets the most complements and feedback on...

      Go figure.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    15. Re:programmers think they know UI by FooBarWidget · · Score: 1

      "Well, speaking as a programmer who "uses" many other pieces of software...yeah, I think I do have some better ideas for many of the pieces of software I use..."

      You mean ideas of how the UI can be better for yourself.

      Users suggesting UI improvements are no better than programmers: they are trying to design a GUI that they themselves think is right. Both of them don't really know whether the GUI they have in mind is good for everybody else too.

      I find it rediculous that Slashdotters tend to praise users over developers. Users are not magically better at making GUIs than programmers!

    16. Re:programmers think they know UI by kisrael · · Score: 1

      You mean ideas of how the UI can be better for yourself.

      No, I mean better for a large percentage of the user base. My arguments are not entirely subjective, I try to argue keeping a user's likely mental model in mind...hell, I even admitted "and that's always with the risk of not seeing why the 'improvement' was made...there could be decent reasons for some of them."

      Just like a programmer shouldn't assume he's a UI guru, a non-programmer shouldn't assume that a programmer is a UI-moron, incapable of taking a mental step back away from his or her own "power user" mentality to try and see the larger usability picture.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    17. Re:programmers think they know UI by jsoderba · · Score: 1

      The Xine GUI includes this functionality. There is a dropdown where you can select Beginner, Advanced, Expert and Master which controls the number of options in the Setup window. Of course, xine-ui is otherwise horrible in many, many ways.

    18. Re:programmers think they know UI by IamTheRealMike · · Score: 1
      It was such a startlingly good idea that I am not at all surprised no-one appears to have done anything similar.

      It's not used much because it sucks. Time and time again it was found that users cannot reliably rate their own skill, or they are scared of missing out on features. Typically almost all users chose "Advanced", despite their actual level of proficiency.

      It also tended to be used as a way to cover up the fact that a program had too much stuff crammed into it in a bad way.

    19. Re:programmers think they know UI by terminal.dk · · Score: 1

      Apple has been publishing books on Human Interface Guidelines for years.

      Why not just start following them on other platforms ? The first platform to convince its programmers will get a consistent GUI and win.

      Microsoft is trying to destroy Windows by remapping keys between language versions. Find (which is also a legal danish word) become Ctrl-B in all their danish software (Notepad, Office etc), and Ctrl-F becomes the shortcut for FAT-letters (Bold)

    20. Re:programmers think they know UI by kisrael · · Score: 1

      Apple has been publishing books on Human Interface Guidelines for years.

      Why not just start following them on other platforms ?

      If the following of this strategy gives us software is what gave us the QuickTime player application on Windows--No Thanks.

      There are serious usability issues with that program:
      1. For reasons which may or may not be Apple's fault, double clicking a .mov file won't start up the applicatin, even after I've agreed to its request to reclaim its file associations.
      2. There is no "open movie in this window", there's only open in a new window, unless you dig up the option in preferences
      3. There is no drag and drop a movie onto a window.

      The long and short of those 3 things is, the only way to get to a new movie is hit "open movie", and browse from whatever random directory it opens up in the file dialog to wherever your movie is.

      4. sacrificing usability for prettiness, like with the volume dials and what not. (well, maybe it's returned to a simple volume slider, but it still has that stupid brushed gray look)

      5. The default settings for muting things not in the foreground are pretty annoying as well.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    21. Re:programmers think they know UI by nachoboy · · Score: 4, Interesting
      Microsoft has contemplated this for years as it is a fairly common request. Raymond Chen, whom you might know better as the creator of the wildly popular TweakUI, has been a Windows developer for several years. He has a blog entry describing why they've never done this.
      On a side note, I've come to realize that Microsoft only makes products for 2.1 audiences:
      • 1. Home/Inexperienced/Novice Users. This is your corporate drone, your mother, and the kids at school. They all want to get on the PC, get the email, write some documents, and surf the web. Don't care much for how or why things work, only that they do. This is why we end up with the gaudy Fisher Price interface and wizards and all sorts of unfunctional junk.
      • 2. Systems Administrators. Your friendly neighborhood BOFH. He's just gotta keep the servers going, the desktop machines running, the database functional. Plenty of options, tweaks, dull grey backgrounds, policies, ways to make things work if you're sitting at the server console.
      • 2.1 Developers. Yadda yadda yadda... need apps to sustain a monopoly... the whole bit. They get things their way inside Visual Studio and not very much else.
      What I object to is there's no class for the ever-growing market of Techies. People who understand the desktop machine they use every day. Many of these are programmers or systems administrators so they know what's going on, they know how they want it done, and they know how they want the computer to do it. Unfortunately, theirs is a life of constantly changing unfunctional defaults to more efficient alternatives, which is of course a mind-numbingly difficult task after you've done it more than once. If we can have predefined security templates that apply to a machine to change a slew of default options, why not expert templates?
    22. Re:programmers think they know UI by Fulcrum+of+Evil · · Score: 1

      Does that mean that I want 1,000 windows?

      Maybe you should be doing something more sophisticated than passign URLs to a browser?

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    23. Re:programmers think they know UI by Anonymous Coward · · Score: 0

      >>Users are not magically better at making GUIs than programmers!

      I beg to differ. Just because someone can program code doesn't mean they have the faintest idea about user interface (or even program design).
      Personally, I think software design is mostly _terrible_. Partially in functionality, but largely in the UI area. (Why do we STILL not have good file name-manipulation tools in an OS? Good shell scripting in every OS?)

      Granted, most user-designed UIs would also suck really bad because most humans are just plain stupid (just look at all those media player skins mentioned earlier). But assuming programmers have a clue about UI design is like thinking actors would inherantly be good at editing film.

    24. Re:programmers think they know UI by kumachan · · Score: 1

      Anyone else get flashbacks of a certain dilbert cartoon:

      Dilbert shows UI to Carol:
      Dilbert: "Hey look at this UI I designed"

      Carol gets sick visits docter:
      Docter: "I'm afraid you have user interface poisoning. You have 1 week to live"

    25. Re:programmers think they know UI by Anonymous Coward · · Score: 0

      The reason why that's the default is that many users only use one browser window. It's only experienced users who use multiple windows and switch between them. If the URL is launched in a new browser, for most users, the information in their previous browser is just as gone since they can't see it anymore. Additionally, many users would expect to go back to their previous screen by hitting the back button...something that's unavailable when you pop up a new window.

      It's annoying for "power users", but many users still close one program before opening the next. And out of the two groups of users, who is more likely to find the configuration option hidden deep within the Advanced options? That does bring up the entirely logical question, why is this config option so burried?

    26. Re:programmers think they know UI by tupps · · Score: 1

      There was a program that use to do this on the mac. From memory I think it was an older version of Interarchy (ftp client).

      Basically when you started using the program you were at 'novice' level and only simple things were exposed to you. Then depending on the number of downloads and the amount of data etc more and more options would become available to you. The big advantage of this was that for new users the more powerful features would become available. A dialog would popup on startup and explain what the feature was, and how it could be used. Therefore power user features were introduced one at a time, quite easy for a user to grasp them.

      Thankfully there was also an override so that pro users on a new/different machine could use there features that they wanted.

      --
      Go out and get sailing!
    27. Re:programmers think they know UI by marko123 · · Score: 1

      Also, if you are programming, instead of just "open"ing a url programmatically, get it to call "newwindow" instead.

      --
      http://pcblues.com - Digits and Wood
    28. Re:programmers think they know UI by rowanxmas · · Score: 1

      Like what? Making an embedded browser in my app? That's a good idea and all, but why not use the existing technology?

    29. Re:programmers think they know UI by julesh · · Score: 1

      Microsoft has contemplated this for years as it is a fairly common request. Raymond Chen, whom you might know better as the creator of the wildly popular TweakUI, has been a Windows developer for several years. He has a blog entry describing why they've never done this.

      I think to say they've "never done this" is a bit extreme. Word for Windows v1 had a novice mode that hid about half of the menu options. Obviously its not as good an example as that the parent article posted, but it was certainly a start down the correct route.

      Also note that many modern MS apps hide menu options that you don't use frequently, which is a kind of adaptive way of doing the same thing. It doesn't work, IMHO, but its certainly thinking along the same ideas...

      But yes, I hate the fact that very little software is produced with the idea that people might understand it.

      One thing I've come to hate, actually, is one mantra mentioned in the review above, which is "hide the internal model from the user". Why? If I understand the internal model of the application, I can learn how to use it more effectively. If I understand how it stores its data (for example) I can have a quicker grasp of what consqueneces any change will have.

      How many people do you know who get totally confused by MS Word's weird behaviours, for instance where deleting the end of a paragraph applies the formatting from the following paragraph to the current one. If people just understood that 'word stores paragraph formatting in a marker just after the end of the paragraph', then it would save a huge amount of confusion. You could have little hints like that in an expert user's version of 'tip of the day'. It would help no end!

    30. Re:programmers think they know UI by Fulcrum+of+Evil · · Score: 1

      Like what? Making an embedded browser in my app?

      Well, yeah. IE can be embedded.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    31. Re:programmers think they know UI by gte910h · · Score: 1

      You are a beautiful man. I have lost SO much work due to that option.

      --
      Want to see every step I took to start my company? http://www.rowdylabs.com/blogs/pitchtothegods
  9. save $9 on this book by Anonymous Coward · · Score: 0
    1. Re:save $9 on this book by Anonymous Coward · · Score: 0

      Ha! I beat you to it today, you amazon-id-copycat bastard!
      Let's hear it for the original amazon link troll, me!

  10. Before everyone gets on their high horse by Anonymous Coward · · Score: 2, Insightful

    and say that programmers shouldn't do UI design:

    Programmers shouldn't do UI design.

    I give you one example: the Linux desktop. No offense, but there is no freaking consistency. Ahh, the examples I could mention, but I got a UI to code...

    1. Re:Before everyone gets on their high horse by gl4ss · · Score: 4, Funny

      well.. in linux programmers did the ui.

      in windows the ui designers did the program..

      hmm.

      --
      world was created 5 seconds before this post as it is.
    2. Re:Before everyone gets on their high horse by Contact · · Score: 4, Insightful
      Warning, contains advocacy...

      Windows isn't any better. Sure, CTRL X/C/V are fairly standard, but anything more than that is terrible.

      Want to do a "find"? Well, it's CTRL-F... usually. Unless you're in Outlook, where CTRL-F does forward, and find is (intuitively!) F4. Oh, except for the main message list, where Find doesn't have a shortcut at all, but advanced find is CTRL-SHIFT-F. And don't get me started on third party apps like Textpad (which is a great app, but uses F5 for find and F8 for find/replace).

      Button location is another bugbear. OK and Cancel randomly move around dialog boxes, swapping positions with merry abandon. Always assuming they're present, of course - dialogs are sometimes closed with "Ok", sometimes with "Close", both doing the same thing (often in the same application. Sometimes there's a close box, sometimes not.

      A much more consistent interface is the mac, for historical reasons. Find is always CMD-F in every major application. Closing a window? Always CMD-W. Quit an app with CMD-Q. When it comes to dialog boxes, Apple doesn't just specify the names of buttons - they tell you where they should be placed (to the pixel), how they should work, what types of icon should be shown for each type of alert and so on. Sure, apps don't need to follow the guidelines - but they pretty much all do, simply because anything that doesn't just looks "wrong" to mac users who are used to consistency.

      It always bugs me when I see linux advocates pushing coders to take Windows as an example of a good interface. It's a dreadful interface (admittedly much improved recently), and despite Apple's recent minor UI setbacks in OS X, it's still by far the best designed interface available. Don't just copy the style - if you understand why the mac interface was designed that way it was, you'll be able to produce something nicer than 90% of apps on any other platform.

    3. Re:Before everyone gets on their high horse by Anonymous Coward · · Score: 0

      There's a soviet russia joke in there somewhere...

      Hmm, in Soviet Russia:
      User Interfaces You!
      the UI Programs You!

      Nah

    4. Re:Before everyone gets on their high horse by FooBarWidget · · Score: 1

      What a rediculous and incredibly arrogant statement.
      I am a volunteer amateur programmer! If I don't design the GUI, then who does? Or are you going to help me hire an expen$$ive UI designer for every little app I'm going to make?

    5. Re:Before everyone gets on their high horse by Ilan+Volow · · Score: 1

      On the desktop, there are no volunteers.

      Ergonomica Auctorita

      --
      Ergonomica Auctorita Illico!
    6. Re:Before everyone gets on their high horse by Ilan+Volow · · Score: 1

      It always bugs me when I see linux advocates pushing coders to take Windows as an example of a good interface.

      Imagine the reaction on Slashdot if one day Linus said "hey, we should copy microsoft. They're a big faceless company and must spend hundreds of millions of dollars to make Windows secure".

      It's always fascinated me how linux advocates will gloat about how microsoft spends millions on Windows security and ends up with an incredibly insecure OS, but are totally unwilling to believe microsoft can spend millions on usability research and wind up with a completely unusable interface.

      Ergonomica Auctorita

      --
      Ergonomica Auctorita Illico!
    7. Re:Before everyone gets on their high horse by FooBarWidget · · Score: 1

      And where are your arguments to backup your claim? I contributed an application to the GNOME project. I did it for free. I'm not a professional. If I'm not a volunteer then what am I?

    8. Re:Before everyone gets on their high horse by cygnus · · Score: 1
      in windows the ui designers did the program..
      no no, you have it all wrong. that's the old Mac OS. here are some other ones: Windows: Marketing people told a herd of feral cats how to program it. BeOS: a team of kernel hackers did the featureset ("Q. What work can I do with BeOS?" "A. You can multithread! A lot!"). Mac OS X: Kernel was done as a homework project; GUI was done by a team of NextStep software architects (every application is a subclass of NSText.) :)
      --
      Just raise the taxes on crack.
    9. Re:Before everyone gets on their high horse by Anonymous Coward · · Score: 0

      A saint!

    10. Re:Before everyone gets on their high horse by kubrick · · Score: 2, Insightful

      It's always fascinated me how linux advocates will gloat about how microsoft spends millions on Windows security and ends up with an incredibly insecure OS, but are totally unwilling to believe microsoft can spend millions on usability research and wind up with a completely unusable interface.

      Not to defend that attitude, but for many people 'usable' is defined as 'I learned it this way, so it must be right.' It's an area where the majority can be right (for some value of 'right') simply by weight of numbers. (This is different from security, which has more objectively specified benchmarks.)

      --
      deus does not exist but if he does
    11. Re:Before everyone gets on their high horse by key45 · · Score: 2, Interesting

      Ok, this is mostly off topic, but speaking of Windows and consistency:
      It drives me nuts that Visual Studio .NET does _not_ use F7 as the default for 'build'. Every Windows IDE since the dawn of time (or at least since Turbo Pascal) has used F7 to build. Why the hell did they change it?

      (yes, I know you can change the defaults, but that doesn't help when I'm pair programming at a new hire's terminal and I take control for a second)

    12. Re:Before everyone gets on their high horse by dodobh · · Score: 1

      Whose desktop? Mine? Yours? Someone elses?
      Mine is customized to the way *I* work. Linux/BSD do that for me. What I want is that level of customizability. The computer is there to let me do my work. No, I don't have time to move to the mouse very often, the keyboard is much faster.

      The best thing about my desktop is that even though its looks ugly to everyone else, it has no distractions for me when I am working.

      PS: Desktop doesn't imply a GUI only (I spend most of my time at a console/xterm).

      --
      I can throw myself at the ground, and miss.
    13. Re:Before everyone gets on their high horse by shaneb11716 · · Score: 1

      Gak! Don't get me started on the Mac interface. You think Windows Find functionality is inconsistent?

      How about home and end keys on the Mac! They hardly work anywhere. In Windows, any dialog text area can use the home and end keys. And if someone tells me I can turn that on by going into some options dialog someplace I'll barf. Why isn't it default behavior???

      Same with the Del key. If I select a file or files, why doesn't the Del key delete them? This is basic stuff folks.

      -Shane

      --
      I love teh int4rw3b!!!!!111one1
  11. And programmers aren't creative people? by tjstork · · Score: 1


    What's up with that! Software is the highest form of art. It has everything every other medium has plus, it is interactive. If that's not creative, then what is?

    --
    This is my sig.
  12. Book Missed the Point? by goldspider · · Score: 1
    "Aimed at programmers who don't know much about user interface design and think it is something to fear"

    I don't really think a lot of good programmers fear UI design as much as they find it irrelevant.

    If this book makes a good case as to WHY good UI development skills are important, than I think we'd have a winner.

    --
    "Ask not what your country can do for you." --John F. Kennedy
    1. Re:Book Missed the Point? by Anonymous Coward · · Score: 1, Informative

      The book you're looking for is "The Inmates Are Running The Asylum", by Alan Cooper.

    2. Re:Book Missed the Point? by SoupIsGoodFood_42 · · Score: 1

      I have read this book. It should be compulsary reading for all programmers. Linux should refuse to boot unless you can answer a question from part of the book (kinda like that old form of copy prevention they used to use in games).

  13. Re:My evening by HotNeedleOfInquiry · · Score: 1

    So why not hang out at fuckedcompany.com instead of slashdot? Sounds more like your crowd over there.

    --
    "Eve of Destruction", it's not just for old hippies anymore...
  14. Oh lord, burn this book! by mveloso · · Score: 3, Insightful

    The last thing the world needs is more programmers designing user interfaces. Most programmers know they suck at it, and their results are/tend to be pathetic. Nobody knows how many lives have been lost (measured in hours of frustration) by bad programmer-designed interfaces?

    Let's face it, an interface is too complicated for most programmers to handle. A UI can be seen as a multidimentional problem (dimension in the real sense of identifying property) that can be viewed from multiple points of view, and each point of view filters out various dimensions of the program underneath it. It also requires you to be able to actually view things from those multiple POVs.

    So for those programmers thinking about UI, don't do it! Stick with command-line interfaces, and let other people take your code and wrap it in something like AppleScript studio, or whatever.

    1. Re:Oh lord, burn this book! by Anonymous Coward · · Score: 0

      Too complicated to handle? Are you a moron? How is it possible for the interface to be more complicated to create than the code it accesses. Sure it is reasonable to say that programmers probably are not generally good at creating the UI for their application, but that it is because it is too complicated? I think not. More likely it is because they have a deeper understanding of the code and what is going on inside. Therefore it is more difficult for them to identify with a user who does not have the insight into the code and so the interface does not work as it should.

    2. Re:Oh lord, burn this book! by __aagmrb7289 · · Score: 1

      I really hope you are not a programmer. If you are, please never apply for any job where I have anything to do with the final product. Thanks!

    3. Re:Oh lord, burn this book! by 0x0d0a · · Score: 1

      Nobody knows how many lives have been lost (measured in hours of frustration) by bad programmer-designed interfaces?

      Of course, then people talk about how great MS HCI-designed interfaces are and igore the Start button as a whole, the Office XP uses-different-widgets-from Windows 2000-uses-different-widgets from Windows 95.

      They're just used to it. There are damn few really well done user interfaces, and a huge amount depends on a given user's background and biases. I consider Anarchie to be one of the very best non-Apple examples of correct classic Mac OS user design. Many users would find the program too complicated, and prefer a much simpler interface.

    4. Re:Oh lord, burn this book! by philci52 · · Score: 1

      While I agree that User Interface designers should work *WITH* GUI programmers, Your average manager and especially new programmers have no idea what an HCI expert does or why you would even need one. This book is probably for those people. I'm a GUI programmer and we have almost 0 user interaction (although I beg for it) and No HCI expert on the project. The fact is that people like me are stuck on projects where noone wants to spend the time or the money on an HCI or to spend time with the users. I believe that after reading Jeff Johnson's GUI Bloopers that my GUI's have improved significantly. This is a book that I would def be interested in reading.
      Oh and to this an interface is too complicated for most programmers to handle obviously you've never tried writing embedded software in a critical realtime system.

    5. Re:Oh lord, burn this book! by Anonymous Coward · · Score: 0

      I can kind of sympathize with him, after all I deal daily with programmers who are unable to view their own code from multiple viewpoint. Some of my cow-orkers seem to be completely incapable of grasping the concept of abstract interfaces, that you can view a module/class/subroutine as a black-box implementation of an interface, and that any interaction between the code using the interface and the code implementing the interface should be seen as interacting with the abstract interface, not merely as execution jumping from a source file to another. For example, when I try to explain how I can deduce their latest bug simply by considering the interface contracts, I get blank looks... How are you supposed to deal with such people?

    6. Re:Oh lord, burn this book! by bfields · · Score: 1
      So for those programmers thinking about UI, don't do it! Stick with command-line interfaces

      The commandline is an interface just as a gui is, and it can be done well or badly. I'm sure we've all seen examples of bad commandline interfaces.

      It's a trivial point, but one that tends to be forgotten in the rush to produce an interface that's "pretty" and uses lots of graphics.

      The other common mistake seems to be to separate users into "geeks" and "grandmas" and to assume that user interface design is only a sort of pandering to the superficial aesthetic demands of the latter group.

      User interface design is primarily about things like consistency and organization, not aesthetics, and bad interfaces annoy everyone, experts and beginners alike.

      --Bruce Fields

    7. Re:Oh lord, burn this book! by SoupIsGoodFood_42 · · Score: 1

      User interface design is primarily about the process you have to go though to get something done. And that's why programmers are bad at it. They can't simplify things as much as they could, because they think too logicaly, they find it very hard to think from the users point of view, or atleast, they think they can think from a users POV, but they don't.

  15. Re:My evening by Anonymous Coward · · Score: 0

    You mean they're into the asian nun bondage scene?

  16. Just listen to feedback by eln · · Score: 4, Insightful

    Good UI design just takes a lot of time and a lot of listening. First, you design the interface to do what you want it to do. You try to pretend you know very little about the actual mechanics of what gets done behind the scenes to make whatever it is happen (a difficult proposition, but you should be able to get relatively close). Then, code the interface (just the framework, don't waste a whole lot of time at this point).

    Then, show it to someone representative of the intended audience. If you're coding a general purpose Windows app, show it to your grandmother. See if she can figure out how to work it. Encourage conversation about it. If she can't figure it out, don't get argumentative. Find out what SHE thinks the interface is trying to do, and try to find out what about the interface makes her think that. Then, try to get a few ideas on how to improve it. She won't be able to give you any real specifics, but maybe she can give you a thread you can explore in detail on your own.

    Re-design based on what you learned. Show it to her again. Repeat until she "gets it". Then, go show your new design to someone else in your target group. Make changes by what they say. If what they say contradicts what your grandmother said, do your best to reconcile the differences. Make up any gaps you can't fix with documentation targeted at the bits you can't seem to make any less confusing.

    A lot of engineers fall into the trap of designing interfaces and sticking with them, even if they are deficient. They insist the users are just "too stupid" or just "don't get it" or just "aren't using it right". They fail to realize the whole idea of a good UI is to make sure users CAN'T use it wrong, and to make it as difficult as possible for the user to fail to understand.

    "The customer did something wrong" is NEVER a reasonable excuse for a problem in a UI. If the customer did something wrong, it's YOUR fault for making it possible for the customer to do whatever it was he did wrong.

    1. Re:Just listen to feedback by Frobozz0 · · Score: 1

      "The customer did something wrong" is NEVER a reasonable excuse for a problem in a UI. If the customer did something wrong, it's YOUR fault for making it possible for the customer to do whatever it was he did wrong.

      Oh, I don't know about that kind of extreme. I would say there is a threshold for your audience. You can only hope to get it right for the vast majority of people. Some people are unqualified for tasks. While UI design is certainly about getting it right as much as possible, you're always going to have someone make a mistake that is so asinine that changing it to work for that individual is going to hose the other 99%.

      I'm not talking simplicity, I'm talking about the echelon of people who need "hot" put on a coffe mug, or a label to clearly state that the CD tray is not a cup holder. Those kinds of people.

      --
      "Politicians find new names for institutions which under old names have become odious to the people."
    2. Re:Just listen to feedback by HarmlessScenery · · Score: 1
      They insist the users are just "too stupid" or just "don't get it" or just "aren't using it right". They fail to realize the whole idea of a good UI is to make sure users CAN'T use it wrong, and to make it as difficult as possible for the user to fail to understand.

      "The customer did something wrong" is NEVER a reasonable excuse for a problem in a UI. If the customer did something wrong, it's YOUR fault for making it possible for the customer to do whatever it was he did wrong.
      This is a nice 'ideal' to aim in the general direction of - but in reality it's unattainable.

      If I insist on closing an application without saving any changes and refusing to hit the [save changes before exit] button on the popup warning - I *am* using it wrong.

      The way you have to look at it is the same as for safety critical software. You have to way up the cost of making the system completely bullet-proof against the probability of the event happening and the impact it will have if it does. You *cannot* forsee and prevent all possible failure modes - and some which you can forsee are not worth the effort of preventing them.

      Spending a significant amount of time and effort designing safeguards that will only be triggered by 0.001% of your user base is simply a waste of resources.

      The mechanisms you outlined are all good practice - but you shouldn't take it to extremes.
    3. Re:Just listen to feedback by rmohr02 · · Score: 1
      You try to pretend you know very little about the actual mechanics of what gets done behind the scenes to make whatever it is happen (a difficult proposition, but you should be able to get relatively close).
      Ideally, the backend coder(s) and UI coder(s) would be completely separate. Ideally.
    4. Re:Just listen to feedback by Anonymous Coward · · Score: 0
      Encourage conversation about it. If she can't figure it out, don't get argumentative.

      This point bears repeating. A group where I was working was setting up a informational website in collaboration with a non-profit group. One of the social science guys informally asked me to look at the mockup and tell me what I thought. He sat nearby while I surfed around the mockup and made comments, quips, suggestions. All the while he sat there quitely, writing stuff down and giving subtle encouragement ('Thanks', 'good catch', etc.). I found myself getting excited about things, opening up and giving *tons* of feedback onto what I thought was wrong.

      Shortly thereafter, one of the tech guys wandered over. As I gave my opinion, he started to explain why things were that way. Not in any way belittling me, just telling me why things were back-assward. (Design requiremets from above, technical issues, etc.) The session petered out soon after - I didn't have any desire to continue, and didn't give much more in the way of feedback.

      Looking back, I realized what happened. I no longer felt appreciated, and internally dismissed any suggestion that occured to me as "well, that probably isn't important either." True, most of my suggestions were probably crap and couldn't be used, but when told so, I stopped giving any of the useful suggestions as well.

    5. Re:Just listen to feedback by Anonymous Coward · · Score: 0

      So 0.001% error seems too small to worry about? Let's take 100 air-traffic controllers each making 1000 computer_aided life-threatening decisions per day.
      That's (10^-5) * (10^5) ~ 1 air_crash per day. Now how many people die per crash ??
      Extreme? So maybe .... it's only the difference between a company going broke OR writing Friday paychecks. Who do YOU work for?

  17. try before you buy by Henry_Doors · · Score: 4, Informative

    You can read nine(!) sample chapters on Joels website

    --
    "I deny nothing, but doubt everything." Lord Byron
  18. My experience by worst_name_ever · · Score: 1
    Aimed at programmers who don't know much about user interface design and think it is something to fear

    I've always found it to be somewhat the reverse: many programmers, most particularly those involved in the open source community, seem to view user interface design as something that enables them to fill the user with fear.

    Or at least that's how it seems based on using any number of free apps with terrible GUIs. Maybe there is a UI design guide for sadists too.

    --

    In Soviet Rush, today's Tom Sawyer gets high on you.
  19. Re:$9 cheaper by Anonymous Coward · · Score: 0

    So instead of successful and high-flying Amazon you would rather have the patent granted to some Joe Schmoe company that is about to go bankrupt and brings in lawyers to "capitalize on its intellectual property"?

    The patent would be granted, it's just the matter of who it is granted to, so far there is nothing in Amazon practice to suspect them of abuse.

  20. Re:My evening by Anonymous Coward · · Score: 0

    Dude, you were almost funny. If you had just put in a line at the end, something like "Unemployment is so great" or "Thanks for fucking the economy, Bush!" Then that would have been really funny. As it is, its just sad. Good luck next time (and finding the asian nuns).

  21. Everything I know about UI design, I learned from by crazyphilman · · Score: 5, Funny

    GAMES:

    1. If the user doesn't have to stop what he's doing to solve an inexplicable puzzle every few minutes, he'll be done waaaay too fast.

    2. Obey the principle of most astonishment. Surprise the user as often as possible! Preferably with something terrifying that makes him literally fling himself out of his chair (example: the aliens in Alien Vs. Predator love to sneak up on you along walls and ceilings and suddenly let you have it from three directions -- a guaranteed excuse to press "pause" and go put on a new pair of underwear).

    3. If the user screws something up, HE MUST BE PUNISHED. Usually, this means his onscreen persona (resume, spreadsheet, etc) should die a wretched, gory death, scaring the crap out of the user (see #2) and he should have to start whatever he was doing over from his last save point. This of course encourages saving documents frequently, always a good thing with Microsoft software.

    4. If the software includes networking features, you MUST include a "taunt" feature. Allow preformatted taunts and on-the-fly taunts; both are equally fun for all. "Hey, BILL! Your powerpoint SUCKS!"

    5. And, finally, you have to include a few easter eggs and hidden areas. These should include a "must-have" that isn't granted to ordinary users (like, say, print preview).

    And, people said video gaming wouldn't ever get me anywhere!

    --
    Farewell! It's been a fine buncha years!
  22. Increasingly important subject by fiannaFailMan · · Score: 5, Interesting
    Some of the guys who work at our place are excellent programmers and are extremely knowledgable about the underlying technology that they're using. When it comes to interfacing their software with the user though, they start to get some funny ideas about what the user needs.

    "Yes but that's how I would think it works" they'll say. Says I, "Yes but you're a certain type of guy who knows what's going on underneath it all, from the user's point of view he's looking for something completely different."

    That's why our company has people like me, renaissance people if you will, who can think with both sides of the brain and provide a bridge between the technical people and the creative people who design the user interface.

    It's a good learning process, all this interaction means that they get to learn a bit more about the needs of the user and I get to learn about the underlying technology. Books like this would probably help us all.

    Another book that's doing the rounds at our place is The design of Everyday Things. It covers much more than just computing and gives a good insight into the psychology of the user. Some of the psychoanalysis stuff is a bit deep for my liking, although overall it's quite informative.

    --
    Drill baby drill - on Mars
  23. Logic: Science and Art by handy_vandal · · Score: 1

    ... the basic principles of good user interface design are logical and not based on some mysterious, indefinable magic.

    Logic is an art -- as much an art as a science. The internal structure of logic is the science. Knowing where and how to apply logic, that's art.

    Good interface design requires both: the rigors of logic combined with the humanity of art.

    --
    -kgj
  24. Online version on Joel's site by kulmala · · Score: 2, Informative

    There is a shorter online version (nine chapters) of the book available on Joel's site (excellent stuff, btw.)

    --
    Luke, I am your signature. Search your feelings, you know it to be true...
    1. Re:Online version on Joel's site by WebMasterJoe · · Score: 1

      That was extremely helpful. I zipped through a few of those chapters, and I'll probably make a stop at the bookstore tonight or tomorrow now. So, thanks!

      --
      I really hate signatures, but go to my website.
  25. Re:My evening by Anonymous Coward · · Score: 0

    Well, this is not all bondage but it does have asian nuns in it.

  26. Joel rules by OpieTaylor · · Score: 1

    We use Spolsky's FogBugz product for bug-tracking, and this guy does it right. The interface is clean, simple, and does exactly what you need.

    I've "trained" about a half dozen people on it--the training consisted of "here's the URL, go to it". And they all got it right away.

    If the book is as good as his product, then its a Buy.

    --
    Thanks a lot, big brain. (K. Vonnegut, "Galapagos")
    1. Re:Joel rules by __past__ · · Score: 1

      I had to use VBA in Excel, and I can confirm that not everything he does is that good...

  27. Good UI design is easy by ChaseTec · · Score: 4, Funny

    Just model everything after vi!

    --
    My Hello World is 512 bytes. But it's also a valid Fat12 boot sector, Fat12 file reader, and Pmode routine.
    1. Re:Good UI design is easy by Sunnan · · Score: 1

      Like Kino, a digital video editing program modelled after vi. Good idea, IMHO, at least if the target audience is geeks.

  28. Target Audience by BigDumbAnimal · · Score: 0

    As opposed to UI Design for Plumbers?

  29. Re:$9 cheaper by Anonymous Coward · · Score: 0

    I just don't want to support a company that is so blatently abusing the system. I don't think patent's like Amazon's should even be granted in the first place, but that is a whole different discussion.

    When it comes to buying books online, I'm always going to try to avoid Amazon, and give my business to the company who is at least not being an ass about how they do business.

    On top of that, Bookpool is cheaper than Amazon, and I've always had excellent service from them.

  30. In many cases, it simply doesn't matter. by kafka93 · · Score: 2, Insightful

    For many developers, I don't think that UI considerations are all that important. I've often spent a long time thinking about, and discussing with users, the best means of controlling a particular (web) application. In practice, though, users tend to spend a bit of time figuring out an interface -- however esoteric or poorly designed -- and then use it without complaints. They may not be using it 'optimally', but they're happy enough anyhow.

    I'm playing Devil's Advocate, I know; but still, when cost/benefit analysis comes into play then there are arguably very many cases where it just doesn't matter how much effort goes into user design: even with the simplest, most elegant interface, users will take some time to figure out how to do things - and besides, many users are now trained into using Microsoft-style interfaces, meaning that they _are_ the 'most usable' format to follow irrespective of classical design/HCI principles.

    Finally, I think that there's a marked difference between having something "look nice" and "be usable". And I think that many developers *are* adept at designing systems that are usable; it's the "prettiness factor" which is more elusive - and which most users tend to care and think about.

    1. Re:In many cases, it simply doesn't matter. by elmegil · · Score: 3, Insightful
      I have to say that unless I am using some tool that is mandated by work, if I have to spend more than about 5 to 10 minutes trying to figure out your user interface, I'm going to go find another solution to my problem. Web sites and web tools in particular are subject to this.

      I do some web design for work, for people who *have* to use my tool to accomplish a particular task, and I have spent a lot of time thinking about how to make the tool work best for them, simply out of consideration. I hate it when work tools force me to twist my head around some horribly byzantine interface, and I don't want to do that to anyone else.

      As a side note, _Don't Make Me Think_ by Steve(n?) Krug is one of the best introductions I've seen to the topic, and his coverage is quick and to the point. I'd be curious how the book reviewed here compares to it, as described by someone who's read both.

      --
      7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
    2. Re:In many cases, it simply doesn't matter. by linderdm · · Score: 1

      I disagree 100%. The problem usually is that users DO NOT figure things out. Either they don't have the time, or don't know how to figure out the interface. That is why good interface design is so important. Creating a simple, intuitive interface that takes zero time to figure out is much more beneficial than a complex, technical interface that the users can't figure out or that takes too much time and effort to figure out. In my experience, when an interface requires the users to spend their time figuring out the interface, rather than doing their job, the users tend to reject the application.

    3. Re:In many cases, it simply doesn't matter. by kafka93 · · Score: 1

      I think it depends on the application (in every sense of the word), as well as on a multitude of other factors including vendor lock-in, expectations, etc. But I think that the move towards better user interfaces by users is generally a part of a reactive process: until users are shown a better option, they take what's given to them - or whatever parts of it that they understand. Most people can handle a VCR, but few bother to set the clock. I'm not saying that UI design isn't important - and I think it is beneficial. And of course it depends on the extent to which an application is poorly designed - if it's truly awful then, yes, users may reject it. But if it's merely mediocre, and if users are used to, say, the Microsoft Word brand, then they're unlikely to spend the time looking for an alternative. And in the case of things like web sites, it seems that many users -- particularly non-technical users -- would prefer to look at a pretty screen that they can't quite figure out than an ugly one that they can.

      In fact, I think there's an interesting relationship between technical knowhow and willingness to suffer a poor interface: I suspect that to many truly non-technical users, it's all 'magic' anyhow and they will put up with whatever's offered them because they don't expect anything better - and yet these are the users whom decent GUI design would most benefit. More experienced users, if they're not already inured to the horrors of bad interface design, will be more able and apt to look for alternatives when given a poorly usable design.

      Still, consider that many users - even technical ones - still care more about things like "skinability" (which tends to lead to truly awful usability) than much else.

    4. Re:In many cases, it simply doesn't matter. by Ilan+Volow · · Score: 4, Insightful

      Users rarely complain about badly designed user interfaces. They accept that computers are nasty, evil devices that make their lives hell and prevent them from doing work as much as possible. They say nothing to you, and then they come home to their families and say "I hate computers".

      An end user not complaining about a bad UI is like somone complaining that a torture device like the rack is "uncomfy". It's just accepted that the experience will suck.

      There is so much general computer-phobia in the world because end-users have not yet realized that it's not the computers in general that's the cause of their problems with an application, but rather it's the individual programmers who wrote the application who are the problem.

      Ergonomica Auctorita

      --
      Ergonomica Auctorita Illico!
    5. Re:In many cases, it simply doesn't matter. by slide-rule · · Score: 1
      if I have to spend more than about 5 to 10 minutes trying to figure out your user interface, I'm going to go find another solution to my problem.
      Amen! Professional CAD packages here at work aside (absolutely hellish interface for an absolutely hellish problem), I have to agree. I can even cite a recent personal example that may hit home to people here (or may get me flamed down as a luser; either result will be informative). I found a copy of xine to play video with, as I've heard all about it here on slashdot. After it went in and started up, I just stared at it blankly for about a minute, closed it, removed the program, put my video file on a public samba share, and viewed it in windows using a more-evil-but-more-usable program. *shrug* QED
    6. Re:In many cases, it simply doesn't matter. by Hatta · · Score: 1

      try mplayer, it works brilliantly. Don't even have to move your hands from the keyboard.

      --
      Give me Classic Slashdot or give me death!
    7. Re:In many cases, it simply doesn't matter. by Hatta · · Score: 1

      You'll find that if a UI is designed for efficiency and power, investing a little time in learing how to use it really pays off in the end. Just because you're not using it enough to break even, doesn't mean it's not a good tool. Just the wrong tool for you.

      --
      Give me Classic Slashdot or give me death!
    8. Re:In many cases, it simply doesn't matter. by elmegil · · Score: 1

      I don't mean to imply that a power interfaces is a bad interface, just that a bad interface is a bad interface, regardless of how "powerful" it appears to someone who designed it.

      --
      7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
    9. Re:In many cases, it simply doesn't matter. by slide-rule · · Score: 1

      (not a flame; glad you like mplayer, or whatever else other readers happen to like) ... doesn't it (mplayer) have the same interface as xine? (or did someone just really futz up the package I downloaded?) I don't have a problem using a mouse and/or keyboard (or even a console window, for the right job). I do however have a problem with the interface appearance/layout being so alien (...no title bar? how the F*CK do I make it just go away? click at random? pull up a console to kill -9 it?...) that, what with the bajillion other things I need to do with my time very limited free time at home, I really don't have time or interest to figure out. That's really what I think this thread's author started talking about. So mplayer has nice keyboard controls? great... but I sure don't already know what they are, and having launched the installed trial of that and getting about the same way-out-experiment graphical interface, I quickly removed it also. I'm glad other people like it and find it useful, but I certainly do not. (And we'll probably never see eye-to-eye, and that's okay, but the developers don't have to look far to understand my lack of desire to understand their super-coolio-funky bitmapped interface.) In honesty, I have a similar gripe with winamp/xmms doing something similar, though at least it is somewhat "similar" in layout, if not appearance, to normal (e.g., classical) interface styles, so I tolerate it for playing music.

      The first, usable app I find to play music (as well as xmms does) and/or movies (as well as, well, ?) that uses the native widgets and lets my window manager do my window managing (which I've tweaked to my own needs at great pain) and just does its job with no attempt at self-glamorization will find itself a home on at least a few boxes I use.

    10. Re:In many cases, it simply doesn't matter. by Hatta · · Score: 1

      I use mplayer at the command line. It's great, you tell it what to play and it plays it. There are tons of options, but rather than being tucked into a config dialog somewhere you can / through the man page. You can also feed it playlists through stdin, so you can use find, sort, etc. All this makes it real easy to write useful aliases or wrapper scripts. So you can have it give you different settings for tv rather than movies for instance. Want to watch only files you haven't seen recently? That's an easy script.

      --
      Give me Classic Slashdot or give me death!
    11. Re:In many cases, it simply doesn't matter. by Anonymous Coward · · Score: 0

      MS put a /lot/ of time and effort into human factors.

      As Joel says in his book, it's unlikely you can do it better on your measly budget.

    12. Re:In many cases, it simply doesn't matter. by elmegil · · Score: 1
      That's really what I think this thread's author started talking about.

      Preeecisely. The KISS principle is critical to UI design; Larry Wall's dictum of "make easy things easy, and hard things possible" is also a good one, but you can't let that get in the way of KISS. A power user interface that is intimidating to everyone but the author and those who are masochistic enough to force themselves to think like the author is a bad interface.

      I'm a power user of enough things to agree that there has to be somewhere to tweak all the tiny little knobs, but it shouldn't be the first page you see, and it should be reasonably easy to find nonetheless. From the sound of it, mplayer and xine, by requiring you to read the manual first, are not good UI designs, regardless of how well they're written or how well they meet their functional goals.

      --
      7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
    13. Re:In many cases, it simply doesn't matter. by elmegil · · Score: 1
      I should have written this in the first place, but so I'm following myself up: You don't need a manual to use a hammer. Why should you need one to use a CD player or a video player?

      By "use" I mean "get the basic functionality from". Obviously there will always be additional capabilities that require manual reading to become a serious user of them--even my DVD player required some reading to get to setup details etc. But I was able to use the DVD player to watch a DVD without having to read the manual! It doesn't sound like you can say that for xine/mplayer.

      --
      7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
    14. Re:In many cases, it simply doesn't matter. by Anonymous Coward · · Score: 0

      man, you are EXACTLY RIGHT.

      folks think "that's the way the computer is" and they don't even think twice about it. it's part of the problem with "mass-produced" software that can't be customized.

      when I write custom software for folks I WANT to know what's slowing them down, or what's hard to remember.

      if you sit down with the user and ask them "why didn't you use that button" they will start apologizing and saying "oh I forgot" ... you have to drill it into them that any mistakes in the user interface are YOUR fault (the programmer) and if it's not easy for them to use, you will fix it! if it takes them three clicks to do their daily tasks, get it down to one click (don't tell amazon ;-) .. if they use shortcuts and work-arounds, change the system so they don't need it any more. if buttons on the screen are never used (easy to track with web apps), REMOVE them! put them in an advanced menu or something. SIMPLIFY as much as you can.

      it's tough but possible. you as the programmer have to accept the fact that you probably didn't guess write when you were designing the UI .. let the user help you.

    15. Re:In many cases, it simply doesn't matter. by atlasheavy · · Score: 1

      you have it so right. I am in the process of releasing a beta of my shareware application (see the sig below). In the questionnaire that I had potential applicants for the beta fill out I asked why they liked my app. The top reason in virtually every case was that the application has a simple, easy-to-use, obvious user interface. The average computer user really does like simple (but not stupid. there is a difference there) applications. More developers should keep that in mind when they write software.

      --

      iRooster, the Mac OS X a
    16. Re:In many cases, it simply doesn't matter. by be-fan · · Score: 1

      People still use xine directly? Both major desktops have good multimedia apps now. For KDE there is KMplayer and for GNOME there is Totem. Both are standard, run-of-the-mill apps.

      --
      A deep unwavering belief is a sure sign you're missing something...
    17. Re:In many cases, it simply doesn't matter. by slide-rule · · Score: 1
      and for GNOME there is Totem
      ... well, for gnome2 there is. Personal problem at the moment, granted, but I'm still on gnome1 b/c I'm still on RH7.3 b/c I really have lost favor with the seeming commercial-side leanings of RH's dealings* /and/ don't want to upgrade into RH9. Hence, for me, and others who are still on gnome1, the newer fancier apps aren't available. (And it isn't that I don't lust after some of them either; I'm looking at jumping over to mandrake 9.2, but it is only *just* out just yet, and would take me a couple months tweaking its configs back to my current painstaking setup where three boxes finally, at long last, have achieved unified harmony... well, I can't really play video files, apparently. Knowing gnome2 is all about interface guidelines (for a change), I'll be a much happier camper when I get it running. Until then, I'm 30 tomorrow and grumpy, so I'm gonna piss and moan a bit. ;-)

      * RH has done well by me, and I think RH's commercial-side leanings do have merit in getting Linux adopted by a wider audience, but IMO the distribution is really starting to be less appealing for the home personal user/hobbyist, so it no longer works for me. Even the "demo account" survey I have no problem filling out to get up2date to keep working is so slanted towards commercial use that I end up saying "N/A" everywhere.
    18. Re:In many cases, it simply doesn't matter. by be-fan · · Score: 1

      I'm pretty sure Ximian has RedHat 7.3 binaries. You might be in for a bit of a shock, given that GNOME 2.x has gone all minimalistic, though...

      --
      A deep unwavering belief is a sure sign you're missing something...
  31. three core concepts in ui design by Speare · · Score: 1

    There are three concepts which really need to sink into the head of anyone trying to develop a good user interface on any kind of tool, device or application. * know the users their goals * don't make the user feel stupid * provide rich feedback so the user is confident Any application which merely connects APIs to Widgets will just fail horribly. The GUI isn't intended to expose the implementation to direct, marionette-style control. The GUI is there to understand the user's intentions and then achieve the desired results with the internal tools available.

    --
    [ .sig file not found ]
  32. "Simple, quick and casual" is not always useful by HarmlessScenery · · Score: 1
    He encourages simple, quick, and casual usability testing, something even the smallest firm could afford and from which they would could draw useful improvements.
    If you pick the *wrong* users or watch users that haven't been fully trained on the system, "simple, quick, and casual usability testing" can easily lead to a large number of wasteful, unnecessary changes disguised as "useful improvements".

    If users complain that they can't use the system because some functionality is 'missing' - and it turns out they haven't worked out how to use a scrollbar - do you spend significant time and effort redesigning the interface, or train the users to drive it properly?

    You *need* larger scale, controlled tests to determine if a problem is *significant* before making any changes. Get it so that 90% can use it with no problems and give the rest more training - that's a more sensible approach than trying to make every application useable by the average brain donor.

    The "quick, simple and casual" approach might be a good idea to get a feel as to where to target the main testing - but using it to drive useability requirements is probably not a great move.
    1. Re:"Simple, quick and casual" is not always useful by bizcoach · · Score: 1
      You *need* larger scale, controlled tests to determine if a problem is *significant* before making any changes.

      For many issues you don't need more than a single observation of user frustration - if you can see an obvious improvement, implement it.

      For other issues, you will indeed want to observe multiple users. However, in practice there is rarely any benefit in wanting to observe more than five users concering any particular issue.

    2. Re:"Simple, quick and casual" is not always useful by HarmlessScenery · · Score: 1
      For many issues you don't need more than a single observation of user frustration - if you can see an obvious improvement, implement it.

      For other issues, you will indeed want to observe multiple users. However, in practice there is rarely any benefit in wanting to observe more than five users concering any particular issue.
      If you got as far as testing and still have such obvious problems in the UI then maybe there are issues elsewhere in the development process :)

      As for sample sizes, in my area the users have widely differing levels of PC literacy. I could very easily pick 5 people at random and get all good - or all poor, in the sample set. It depends on what you're doing.

      ... and in many cases, changes in the UI can be traded against providing better training for the users - you still need to do a cost benefit analysis.
    3. Re:"Simple, quick and casual" is not always useful by jjohnson · · Score: 1

      Implicit in the "quick, simple, casual" test is that you are doing it constantly with a wide selection of people. Spolsky actually calls it "hallway testing", meaning you grab whoever is out in the hallway and ask them to do a quick test. That's better random sampling than you'd think.

      You're missing another point, though, with your claim that "a user's mistake may be the lack of training": namely, that all users start out as newbies, and most users never progress beyond that level. If you spot newbie problems, they're real problems because the majority of your users will never be as trained as you think is reasonable.

      I'm constantly harping at my developers to dumb things down far past the point they think is necessary, and luckily for us, we develop in-house applications for a manufacturer, so feedback is immediate. We always, always overestimate our user's ability and the ease and common sense of our UI and workflow. We're always fighting the classic programmer's lack of naive perception that our users have.

      --
      Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
  33. Perspective, please? by 0x0d0a · · Score: 1

    Some user just posted an item how she highlighted her work and then hit 'backspace' and deleted everything.

    First, I assume that this is text that you're talking about. For non-text selections, backspace (on Windows, not Mac OS) should not delete selections. That's what the delete key is for.

    If it *is* a text selection, you should be providing an undo feature.

    The main problem is that a not insignificant number of people in tech support (which is admittedly not a fun job) are jackasses and feel like ridiculing users will somehow socially elevate them. I'd like to see a couple of said jackass tech support people be laughed at by the mechanic when they bring in their car (which they're unable to fix, despite the fix being a quick, five-minute change) or their tax preparer when they bring in their taxes. Or their doctor when they come in with an obviously diagnosable case.

    How would you feel if there was a User Friendly starring doctors? "Doctor, I feel sick and my legs are swollen." "Let's see...you're currently taking hyponeophenothol for depression. Did you take any drugs in the last day?" "Uh, yeah, some muscle relaxants." [Picture of doctor smacking head in frusteration.] "Well, the best thing to do would be to take 300 mG of cyanide. As soon as possible." "Okay. [click]"

    This is pretty much the template of a Greg-user-support cartoon on UF, but with medical workers instead of tech workers. Less funny when you're on the recieving end, portrayed as the "stupid user" who isn't conversant with the specialized field involved, isn't it?

    1. Re:Perspective, please? by Anonymous Coward · · Score: 0

      Yet again, it's a Web App. We're constrained by the browser.
      Insightful comment, though.

    2. Re:Perspective, please? by Anonymous Coward · · Score: 0

      so, why didn't you just implement an undo function?

    3. Re:Perspective, please? by yerricde · · Score: 1

      How would you implement an undo function in a web app that is presented through an HTML form rather than through a Java applet?

      --
      Will I retire or break 10K?
    4. Re:Perspective, please? by stonecypher · · Score: 2, Insightful

      For non-text selections, backspace (on Windows, not Mac OS) should not delete selections. That's what the delete key is for.

      What are you talking about? Can you name one major application which behaves in this fashion?

      Both backspace and delete are removal keys. The difference is solely in the direction in which they remove, and when the block is pre-specified, the difference is moot.

      and feel like ridiculing users will somehow socially elevate them

      Speaking as a former tech support employee, I can firmly say that for me and my coworkers at the time, it was more an issue of catharsis. I've also been a telemarketer, and the flak I recieved as a technical support staffmember was far worse.

      The customer acts as if it's the ISP's fault that the phone company has hosed their phone line again. The customer acts as if it's the ISP's fault that little timmy has fux0red their modem settings again. The customer acts as if it's the ISP's fault that they've forgotten their password again.

      When I was tech support, I was one of two support monkies that I never saw reduced to tears in the course of about two years, and I came damned close more than once. I suspect you've no idea the sort of abuse that irate assholes subject tech support people to. So, when a user is shocked that the same thing that would happen in any application has happened here and can't be bothered to find and hit undo (I don't care what the AC said about it being a web application; undo works just fine in IE 3-6, Netscape 2-4 and Mozilla,) I think that the tech support crew is fully within their rights to be annoyed.

      For the sake of professionalism, this may not be shown to the user, which the poster was careful to be clear that they did not do. Perhaps you've just got a bias towards hating technical support. Of course, if you're an Earthlink customer, I understand wholeheartedly; I'm convinced that they actually go to significant effort to find the bottom of the barrel people available.

      I'd like to see a couple of said jackass tech support people be laughed at by the mechanic

      Not very in touch with pop culture, are we? It is a classic truism that the service industry is mistrusted, shat on, and that the customer defends their actions by presuming that the service industry members all do this, and that they had done it first is somehow implied. You've really never heard a story about getting screwed by a car mechanic? I'd be hard pressed to find a less damning example, except maybe a used car salesman.

      Hint: the services which get it the worst are the ones which people feel tied to without alternatives (utility monopolies especially,) the ones which cost the most (auto mechanics get it doubly because cars with failings often have other failings on the horizon, and the users which allow them to fail don't maintain well, leading to cascade failures which they blame on the mechanics,) and the ones they understand the least (plumbers and computer techs get this one a lot.)

      It's really about insecurity. As you enter a service industry, you find that the more the customer knows about their service (on the average) the less horrible they are to you. If you can explain a delay or a problem to them, they're generally much more tolerant. The people which are the worst are the huge clueless fucks, especially the ones which don't know that they're clueless fucks, doubly especially the ones which think they're something other than a clueless fuck. Do you get shat on by tech support a lot? Could this be a hint?

      (which they're unable to fix, despite the fix being a quick, five-minute change)

      I'm willing to bet you're a moderate quality amateur mechanic, hence the choice of looking down this particular nose. Can you replace your sink? Can you pull up your floorboards? Have you ever installed a ducted air conditioner? Can you plan a seeding cycle? This is the sort of arrogance which nearly every professional

      --
      StoneCypher is Full of BS
    5. Re:Perspective, please? by quacking+duck · · Score: 1

      Omniweb for Mac OS X provides multiple undo and redo for HTML text forms.

    6. Re:Perspective, please? by eatdave13 · · Score: 1

      Javascript.

      --
      "Verbing weirds language." -- Calvin
    7. Re:Perspective, please? by 0x0d0a · · Score: 1

      I'm willing to bet you're a moderate quality amateur mechanic, hence the choice of looking down this particular nose.

      Actually, the opposite. I have essentially no practical mechanical expertise, and a far lower than normal level of automobile knowledge. My level of knowledge *was* why I selected that case, though -- I know that I'd feel unfairly put upon if mechanics were insulting me about my lack of knowledge.

      No. It's no less funny when it's one's self, if one has the understanding that what the support people hate isn't stupidity, or inexperience, but sloth.

      I can't agree. It's true that sloth (true sloth, not sloth defined as the unwillingness to run out and study and become conversant with the subject, which I consider ignorance, not sloth) is the theme of a few UF tech cartoons, but an overwhelming number portray users as simply being inhumanly, incredibly stupid.

      Furthermore, I've never had to work phone tech support (for which I consider myself fortunate -- I know people that *have* done tech support, and it seems to be quite unpleasant), but I have done IT work in the past, some of which involved face-to-face support. Perhaps it's easier because I know, at least vaguely, the people that I'm supporting, but while I certainly saw understandable ignorance, I did not see an unwillingness to do reasonable tasks themselves. There were cases where people did not have enough time -- they do not have the luxury of sitting down and dicking around with computers all day, as I have, because they have some other task assigned them by their manager -- but I don't consider that a reprehensible personal failing in them.

  34. User Interface Design? by hackwrench · · Score: 0

    That's crazy talk. The user interface is what I have once I've gotten the computer to do what I want.

    1. Re:User Interface Design? by Anonymous Coward · · Score: 0

      nonsense. i depends what your BIOS does for you first. anyway no reason to get religious. most companies die after a snob bitch breaks the founders or the CEOs heart. nevermind

    2. Re:User Interface Design? by hackwrench · · Score: 1

      It was a Joke!

  35. Re:My evening by Anonymous Coward · · Score: 0
    Sorry.

    Don't know what happened there.

    This is the real link.

  36. Joyous Joel by An+Anonymous+Hero · · Score: 2, Funny
    (One of the things I appreciated was how much fun it sounds like Spolsky has when he's working.)
    His very name Spells Joy OK!
  37. What you really want... by IceFox · · Score: 2, Interesting
    What you really want it GUI Bloopers. GUI Bloopers take you step by step through the majority of the UI widgets out there and tell you what it is, why it is there, what it should do and what it should not do. This way you have a much better feel for WHY something should be one way over another. I own both the above books, but I tossed out the reviewed book. Way to much theory (some of which I very much disagreed with) and little to no substance at all. Yes every programer should know a little theory about how users interact, but the key words are "a little". What developers really need is what GUI Bloopers provides, an explination of what you should and shouldn't do with widgets.

    Benjamin Meyer

    --
    Do you changes clothes while making the "chee-chee-cha-cha-choh" transformation sound?
    1. Re:What you really want... by Anonymous Coward · · Score: 0
      Way to much theory (some of which I very much disagreed with) and little to no substance at all.

      You couldn't tell that by looking at the author's name? Seriously, while Joel has the occasional good insight, the only notable thing about him seems to be that he is above average in writing both prose and code. He seems entirely too eager to submit single data points as universal truths -- which is certainly popular with those who like their delusions simple, but which makes for bad science.

      The single thing he seems to do best is self-promotion. How many people would, on the front page of their web log, quote a magazine quoting themselves? That makes me wonder: Did somebody secretly clone Dave Winer?

    2. Re:What you really want... by BetterThanCaesar · · Score: 2, Interesting

      The name GUI Bloopers made me think of this.

      Example: "Explain why a Macintosh pull-down menu can be accessed at least five times faster than a typical Windows pull-down menu. For extra credit, suggest at least two reasons why Microsoft made such an apparently stupid decision."

      The questions and answers are quite interesting.

      --
      "Stop failing the Turing test!" -- Dilbert
    3. Re:What you really want... by Anonymous Coward · · Score: 0
  38. creative vs logical by bizcoach · · Score: 1
    Are we supposed to assume that creative and logical are now mutually exclusive?

    The human thought process is normally to some degree creative and to some degree logial.

    For some tasks, too much logical thinking with too little creativity will give bad results.

    The point here is that with UI design, it's different: Any significant amount of creativity in your UI design means that the UI is different from what prople are used to, and that will generally reduce usability. To create a decent UI, you need logical thinking, and lots of it.

    1. Re:creative vs logical by Anonymous Coward · · Score: 0

      Personally, I started out wanting to be a commercial artist. Then I switched to programming. I do well in both areas, so artistic expression is not mutually exclusive with logical thought. Artists sometimes like you to BELIEVE that so they are somehow "special" in comparison to engineers... they aren't. :)

  39. This is retarded. by Anonymous Coward · · Score: 0

    It's people like you what keep computers restricted to losers who have hours of time to figure out how to use their command line interfaces.

  40. Re:This is, actually, my achelles heel by Anonymous Coward · · Score: 0

    I applaud your honesty. Really. (Assuming you're not just bragging about your mad coding skillz.)

  41. Fact. by Anonymous Coward · · Score: 0


    Microsoft's Human Interface Design group settled on blue (out of the limited colors available on the text console) as the color for the infamous "Screen of Death" as it was a more calming than other colors such as red.

    Test subjects were reported to feel angry, agitated and frustrated when red was used.

    It was known that Windows had frequent crashes, the choice of blue was to help prevent "office rage".

  42. Mod up parent by 0x0d0a · · Score: 1

    Wow, someone who does a proper breakdown.

  43. I completely identify... by BurKaZoiD · · Score: 1

    programmers fear design because they consider it a creative process rather than a logical one; he shows that the basic principles of good user interface design are logical and not based on some mysterious, indefinable magic."

    I completely identify with this statement. I loathe user interface design because, quite frankly, I don't think I have an artistic bone in my body. As a consequence, I've always concentrated on component as well as application engine design. If I were an artist AND a programmer, shit, I'd be making video games or something then, instead of writing business apps for a living.

  44. What if grandma isn't the target? by bluGill · · Score: 2, Insightful

    This psyco-babble about grandma being the target annoys me. Sure everyone is a novice at sometime. However most applications are used by experts. (they started at beginers, but have learned it) How do you support those experts who are doing a task everyday? They have different demands, now your easy to learn app needs to be easy to get the common tasks done with. That is a completely differnent level of design.

    Take configuring the network on windows. It is fairly easy, except for two points: the task itself is complex (Assume that dhcp isn't implimented for whatever reason), and getting it wrong can be serious (though microsoft will detect and prevent a lot of getting it wrong problems, good design there) to the rest of the network. Experts only territory, if you don't know what those fields mean, you should be taught by an expert. Because it is experts only territory, seperating things (DNS from ip/netmask) just slows down the expert who wants to type in a bunch of numbers and move on. The beginner should be turned off by the amount of data there, in hopes that they don't screw things up. (in NT based systems the user isn't given access to change this, more good design) Note that I specificly picked something where making it easy for the beginner makes it harder for the expert, and made the argument that the beginner shouldn't be here anyway - this argument doesn't apply to everything, often you need to support both types of users.

    1. Re:What if grandma isn't the target? by nachoboy · · Score: 4, Informative

      It seems as if you are only familiar with the GUI method of setting network properties. While it's easy to make fun of Windows XP for all its gaudiness, Microsoft finally added a whole slew of great command line tools which are often overlooked. netsh for example is a great command line, hierarchical interface to network adapter properties and settings. Spend a little time with it and you'll never go fishing through those silly dialogs again. diskpart is another great addition that should have been there long ago. sc for service configuration and bootcfg for making changes to your boot.ini - the list is pretty extensive. More info in %systemroot%\help\ntcmds.chm.

  45. we don't need no stinking interface by Anonymous Coward · · Score: 0

    what's wrong with $

  46. Re:My evening by Anonymous Coward · · Score: 0

    missa agree!

  47. Contradicting feedback by FooBarWidget · · Score: 3, Insightful

    Then how do you deal with contradicting feedback? What if users are contradicting each other? A very good example would GNOME: half of the users scream "more options! more options!" while the other half screams "less options! less options!" (this is of course a heavily oversimplified view of the situation; but you get the point).
    I's happened more than once that users contradict each other.

    1. Re:Contradicting feedback by eln · · Score: 1

      That's why I said to try your best to reconcile those differences. Try to satisfy both as much as possible, but when push comes to shove, the group representing the most money to be earned (or in the case of free software, the largest or most desired audience) wins.

    2. Re:Contradicting feedback by Morth · · Score: 1

      You do both. Why not group options together as a single one, and then provide a way to get to the specific ones. You could for example have a pop up menu with themes, and at the bottum put "Custom..." which opens a new dialog with all the specific options. And a compatibility level menu, etc.

      I'm definitely in the "less options!" group, and I think one important thing is to consider if everything really has to be an option, or if the program can figure it out itself. Not sure how that applies to something like GNOME, but network applications can for example try the best protocol first then switch to other ones if it can't use it.

    3. Re:Contradicting feedback by bug-eyed+monster · · Score: 1

      Platform style guides to the rescue once again (since they tend to be written by a collection of UI experts): As outlined in Apple's HI Guidelines, implement the options that are useful to 80 percent of the users, present simple configuration dialogs with UI elements that take users to progressively more advanced configurations.

      In a system such as Gnome, one can ship the system with a configuration tailored for the casual user, provide unobtrusive mechanisms to tweek the advanced options (e.g. an "Advanced..." button in the main Preferences dialog, or a user-editable config file), and even furnish pre-defined alternative configurations for advanced users.

    4. Re:Contradicting feedback by Simon · · Score: 4, Insightful
      That is why it is a good idea to watch what users are doing and what their goals are. What users think they need, and what they really need are often not the same thing. Users are users, not usability experts.

      'Options' are good case in point. Often people want extra options to un-break some poorly chosen UI behaviour or functionality. It is beter to find out what is really causing the problem and fix that.

      --
      Simon

    5. Re:Contradicting feedback by slide-rule · · Score: 1
      half of the users scream "more options! more options!" while the other half screams "less options! less options!"
      Well, somewhere in my fairly generic installation of Gnome (courtesy of RH7.3), somewhere in either Gnome or Sawfish is a little drop-down knob that can control *how many options are seen* in the configurator. Mine's on 'expert' while my wife's is [still?] on 'basic'. Having the options isn't the problem, as much as providing users who don't want to be swamped with them the ability to, well, not be swamped with them. (Someone several posts up mentioned an old DOS proggie that did this rather well, so it is hardly a new solution to an old problem.)
    6. Re:Contradicting feedback by FooBarWidget · · Score: 1

      In case of GNOME, there's the GNOME Human Interface Guidelines. Yet there are many, *many* users who absolutely hate and dispise the HIG.

    7. Re:Contradicting feedback by FooBarWidget · · Score: 1

      "Well, somewhere in my fairly generic installation of Gnome (courtesy of RH7.3), somewhere in either Gnome or Sawfish is a little drop-down knob that can control *how many options are seen* in the configurator."

      And this is a bad thing. Nautilus had something similar called "user levels". They eventually removed that because it was a bad idea:
      - Lots of users overestimate themselves and always set the level to Advanced.
      - Support nightmare.
      - Some other stuff I can't remember.

      Giving people the option to choose how many options they will see is a bad idea. It's been proven and dicussed to dead on the GNOME mailing lists.

    8. Re:Contradicting feedback by grumbel · · Score: 1
      At least in theory less Options is good. After all when it works right at Default, why change it to a wrong less good working state?

      The Problem with Gnome2 is that a lot of stuff is wrong at default and while Gnome1.4 provided an option to correct that incorrect default value, Gnome2 simply removed the option instead of fixing the behaviour (panel being above fullscreen windows [mplayer, blender, etc.] for example). Anyway its getting better, but there is still a long way to get back the Gnome1.4 usabilty. After all user testing is an important issue and Gnome2 really doesn't look like they ever tested it much against user, but instead blindly followed the HIG in far too many points.
      Optimizing to much for the newbie is another problem, everybody starts out as a newbie, but after all, I am a newbie just for a few days or a month, but after that I have to live with that app for the rest of my live.

    9. Re:Contradicting feedback by FooBarWidget · · Score: 1

      "Gnome2 simply removed the option instead of fixing the behaviour (panel being above fullscreen windows [mplayer, blender, etc.] for example)."

      No, the reason why they removed those options is because they *did* fix the issues. Your problem shows that you're not using a NETWM-compliant window manager. Switch to Metacity.

  48. Agreed by MisanthropicProggram · · Score: 3, Insightful
    I'm not the smartest developer around, but a lot of users like me because I listen to them and try to implement what they want. Sometimes, that means talking to the smart developers to see how to do something so that the users don't have to talk to them; which, I guess is becoming a useful skill these days. ;-) I like to give credit where credit is due. So, when smart developer helps me, I let everyone know it was the smart developer who helped me. That way eveyone is happy. The users get what they want, the smart developer gets credit for his brains, and I get a job.

    --

    There is no spoon or sig.

  49. Re:$9 cheaper by Anonymous Coward · · Score: 0

    you would rather have the patent granted to some Joe Schmoe company

    What are you blathering on about? What about not having ridiculous patents like "one-click shopping" issued in the first place? By boycotting places that go after these types of patents, you're sending a message that they're bad for business.

    Don't you Amazon employees do anything apart from troll the Slashdot forums all day?

  50. Aim at the wrong target and a hit is useless! by Zero__Kelvin · · Score: 2, Insightful


    "He feels that programmers fear design because it is a creative process rather than a logical one and shows that the basic principles of good user interface design are logical and not based on some mysterious indefinable magic."

    All too often the terms programmer and Software Engineer are used interchangeably. UI design is the domain of Software Engineers. A programmer should design user interfaces as much as a baker should be enlisted to make a gourmet dinner. Combine this with the fact that Software Engineering is both a creative process and a logical one, and we can begin to see why I continue to question Joel's understanding of Software Engineering. I am not saying the book isn't good. It probably is, as long as you keep these caveats in mind.

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    1. Re:Aim at the wrong target and a hit is useless! by Anonymous Coward · · Score: 0

      and you, my friend, you are more interested in pedantry than the point.

    2. Re:Aim at the wrong target and a hit is useless! by Zero__Kelvin · · Score: 1


      " and you, my friend, you are more interested in pedantry than the point"

      A sheldon (2322), by any other name (Anonymous Coward in this case) is still an idiot.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  51. Re:My evening by Anonymous Coward · · Score: 0

    But then it would take on a whiney tone and be truly sad. It's good how he wrote it. It already has a punchline: "wake up refreshed to yet another completely useless day".

  52. So which browser was it? by NickFitz · · Score: 1

    I've just done a quick test: I created a page with a textarea element (multi-line text box), served it up from one of my machines, typed and selected some text and hit backspace, then Ctrl-Z (Windows) / Command-Z (Mac). I got the following results:

    1. Internet Explorer 6/Windows: undid the change
    2. Mozilla Firebird 0.6.1/MacOS X: undid the change
    3. Internet Explorer 5/MacOS X: didn't undo
    4. Safari 1.0(v85.5)/MacOS X: didn't undo
    5. Opera 6.02/MacOS X: didn't undo

    So if your punters are using IE6 on Windows, they can undo that mistake with Ctrl-Z. I would assume that this also applies to Mozilla cross-platform. Don't know if it works in IE 4, 5 or 5.5, but it may well do so.

    --
    Using HTML in email is like putting sound effects on your phone calls. Just say <strong>no</strong>.
    1. Re:So which browser was it? by kmarius · · Score: 1

      It works in IE5 as well, but I remember that it sometimes crashes if you undo and there's nothing left to undo.

    2. Re:So which browser was it? by NickFitz · · Score: 1
      it sometimes crashes if you undo and there's nothing left to undo

      Wonderful. They can't even traverse an empty data stucture successfully, and then they wonder why they get slagged off.

      --
      Using HTML in email is like putting sound effects on your phone calls. Just say <strong>no</strong>.
    3. Re:So which browser was it? by pebs · · Score: 1

      CTRL-Z will undo just about anything anywhere in Windows. CTRL-Y also is very nice.

      --
      #!/
    4. Re:So which browser was it? by rifter · · Score: 1

      So if your punters are using IE6 on Windows, they can undo that mistake with Ctrl-Z. I would assume that this also applies to Mozilla cross-platform. Don't know if it works in IE 4, 5 or 5.5, but it may well do so.

      Yes, ctrl-z is undo in Mozilla on Linux and windows as well. Interesting that IE, Opera and Safari do not on the Mac, though. Perhaps now that the interface is messed up in OSX, Linux is easier to use than the Mac? :)

    5. Re:So which browser was it? by Anonymous Coward · · Score: 0
      Don't know if it works in IE 4, 5 or 5.5, but it may well do so.

      Of course it does. It's standard and expected Windows behaviour. Every Windows app using standard widgets will do this.

  53. Re:My evening by Anonymous Coward · · Score: 0

    Those aren't funny. "I can't believe they pay me to be a /. editor" is. Or "College kicks ass" would be more fitting.

  54. Fear? I think not... by ncc74656 · · Score: 1
    Aimed at programmers who don't know much about user interface design and think it is something to fear

    I don't think people necessarily fear UI design so much as they see it as just so much scut work that needs to be done. It tends to be a pain in the ass to get all of the widgets lined up nicely and controlling the bits of your program that they're supposed to control. A decent IDE helps lessen the pain somewhat, but it's still not as fun as coding the parts of your program that get the real work done.

    --
    20 January 2017: the End of an Error.
  55. Re:$9 cheaper by Anonymous Coward · · Score: 0

    Dude, did you ever actually have any sales off Slashdot to justify such a dedicated referral posting?

  56. The importance of JAD by theonetruekeebler · · Score: 1
    I'll admit I come from the old school of user interface design; e.g. fuck 'em. This is most of the reason I prefer back end development, or development where the target user is another developer.

    Spolsky seems to have a good grasp on the idea of Joint Application Development: you have to sit down with the users and ask them how best to make your software help them do their job. It is much more important to have software whose process model is intuitively obvious to your user than anything about how it looks or feels. The only way you'll ever know what passes for "intuitively obvious" is to sit down with your users and find out from them.

    Unless you have in-person access to a large pool of potential users, this advice doesn't work quite as well for shrinkwrap software. When making something any fool can use, only a fool will use it. And from the old school, fuck 'em.

    --
    This is not my sandwich.
  57. worst interface in games by British · · Score: 1

    Biggest pet peeve is the simple "Yes"/"no" interface seen for a dialog in most games.

    Many developers insist using just 2 different neutral colors for Yes/no, and no real indication of which color means "yes, I choose this one!" compared to "no, I don't choose this one". The result? It's a toss up.

    One nice way of doing it is to darken the option you didn't choose. Don't use red and green(maybe modeled after traffic semaphores) as toggle colors.

  58. UI Design and developers by Orion+Blastar · · Score: 1

    Past few jobs I had as a developer, either management or the other employees did the UI design by drawing it or painting it with a paint program. The design constantly changed on their whims. "It is not intiutive" they would say about some UI they designed a week ago, so they would change it again. Not knowing that each change required a lot of rewriting the code. For example, going from a combo box to a listview to three combo boxes requires rewriting of the code and more work for the developer. I often hoped they would get it right the first time, and then I could code it and lock in the code as golden, but no, they had to keep changing their minds.

    The book at the time everyone else was reading was "Don't make me think" but it was never passed around to me. Wish they would have let me read it, they only bought one copy (Cheapskates) and while my name was on the list, it never got passed to me. Maybe it would have had they not let me go? All the changes they kept making caused delays in releasing the code I was working on, so I got accused of not working fast enough. Which is why I think it is important to nail down the UI the first time, than to keep guessing at it and changing the UI on the fly.

    --
    Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
    1. Re:UI Design and developers by travisbean · · Score: 1

      Man, did they take your Red Stapler away too? ;)

      Allthough, those don't sound like very good UI designers if they are not working hand in hand with you and are not taking any effort to understand what is foing on the code side of things.

    2. Re:UI Design and developers by Orion+Blastar · · Score: 1

      They are still struggling with .Net now. Guy who replaced me lasted about a year, tried to convert everything I wrote to .Net, still haven't had the conversions done. I can see why if they keep futzing with the UI design.

      Which is why sometimes it is better to let the developers handle the UI design instead of the managers and users. They just don't understand what UI changes cause on the code side of thing, and why it delays releasing the code.

      BTW not only did they take my Red Stapler away, I lost everything when I lost my job. Before that I lost control over my projects to managers who turned IT into a Fast Food Service and Developers into Burger Flippers. Quick, Unhealthy, and Sloppy, that is what they wanted, that is what they get, or else we Developers get let go.

      --
      Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
  59. Example of bad UI by lightspawn · · Score: 3, Interesting

    Windows' file dialog - not only does it not remember the scrollbar location or sort order, it doesn't even remember the 'details' view - the thing that makes sorting even possible (why is any other option?), so to open the file you want, you need to:

    * select the "file/open" menu entry
    * move to the view drop-down list, click
    * select the "details" option, click
    * move to the column you want sorted (say "modified"), click
    * scroll down to the desired file
    * move to its name, double click

    How many man-hours are lost worldwide to this UI idiocy alone?

    1. Re:Example of bad UI by Haeleth · · Score: 1

      I find it works pretty well. To open the file I want, I:

      * type Ctrl+O
      * start typing the path to the file I want
      * finish typing very quickly thanks to the auto-complete feature
      * press "enter" to open the file.

      Just because it's possible to use a UI element inefficiently, doesn't mean it's inefficient. A car's not much use if you don't start the engine, now, is it?

    2. Re:Example of bad UI by lightspawn · · Score: 1

      To open the file I want, I:

      * type Ctrl+O
      * start typing the path to the file I want
      * finish typing very quickly thanks to the auto-complete feature
      * press "enter" to open the file.

      Just because it's possible to use a UI element inefficiently, doesn't mean it's inefficient.


      This works for you, since you know exactly which file you want to open. It sounds like you never (say) receive from a customer a directory with several hundred files and have to process each of them (manually) by date.

    3. Re:Example of bad UI by Aidtopia · · Score: 1

      I agree with you in principle, but we may not be the target audience for the design. I'm sure MS considered the alternatives here. And it probably came down to the fact that most users will have a small number of files in the given folder (assuming the app brings up the dialog with an appropriate folder selected). With the two- or three-column format you get instead of the Details view, there's a good chance that all of the user's files will be visible and clickable without scrolling or changing any settings. Thus for most cases, this is a win.

    4. Re:Example of bad UI by lightspawn · · Score: 2, Insightful

      it probably came down to the fact that most users will have a small number of files in the given folder (assuming the app brings up the dialog with an appropriate folder selected). With the two- or three-column format you get instead of the Details view, there's a good chance that all of the user's files will be visible and clickable without scrolling or changing any settings.

      If anything, most novice users will have all their files in very few directories.

      If Microsoft had actually bothered to observe users interact with their software they would have caught and fixed this problem.

    5. Re:Example of bad UI by badmonkey · · Score: 1

      Sounds like something you should probably automate yourself anyways.. hmm but then you'd be out of your job.

    6. Re:Example of bad UI by vrt3 · · Score: 1

      You can configure Explorer so that it always uses the Details view:

      Open Explorer
      Select the Detailed view
      Tools->Folder Options->View->Like Current Folder.

      While you're there, check 'Display the full path in the address bar' and uncheck 'Hide file extensions for known file types'.

      That's what I do on every PC I use for any significant amount of time.

      --
      This sig under construction. Please check back later.
  60. morons re-present user interface for users by Anonymous Coward · · Score: 0

    that right. using the pateNTdead eyecon0meter, it's possible to filter through/out most of the greed/fear based ?pr? ?firm? scriptdead georgewellian fuddite southern baptist freemason corepirate nazi payper liesense hostage ransom MiSinformation, being spewn about, buy felonious stock markup FraUD execrable.

    the kode is available/growing exponentially. you know where to look.

    now, be careful. this program works on several (more than 3) dimensions.

    consult with/trust in yOUR creator regarding decisions of the heart/mind/conscience/wallet. more breathing. seek out/communicate with others of non-aggressive/positive behaviours/intentions. that's the spirit, moving you. it's ALL about yOUR motives.

    for each of the creator's innocents harmed, there is a badtoll that must/will be repaid by you/US. the perpetrators of unprecedented evile will not be available to make reparations.

  61. Re:Everything I know about UI design, I learned fr by haystor · · Score: 1
    Surprise the user as often as possible! Preferably with something terrifying that makes him literally fling himself out of his chair

    Like the system bell in vi.

    --
    t
  62. my own experience by rexguo · · Score: 1

    I'm one of those freelancers who write a lot of code and also do a lot of graphic design work. Writing UIs and using UIs not written by myself have shown me a very simple rule that works in most simple to moderate cases. The keyword here is WORKFLOW. People use UIs to do something, and the process of doing that something is called the Workflow. If you understand the Workflow, you will know how to design the UI. I'm not talking about the fundamental UI things like where to place an OK button, but at a higher-level where you look at the UI as the app. A recent non-trivial project I did involved a distributed system with the UI as an important element. I received a detailed but messy design spec containing mock-up UIs done in MSWord (!!). The designer tried to cram like 2 dozen controls into a single UI screen. Anyway, I took a long time reading the spec and spent even longer thinking while away from the computer. Finally, I saw the Workflow. I simplified it into a linear state machine with a couple of loops. I then wrote the UI and organised it with a horizontal tabbed menu. The user just have to move from the left-most tab to the right-most tab, spending time in the UI screen of each tab. It worked wonderfully, my client understood it immediately when I demo'ed it to them. So, to summarise again: Capture the Workflow!

    --
    www.rexguo.com - Technologist + Designer
  63. Best practice by DNS-and-BIND · · Score: 1
    The best practice is to actually PUT SOME THOUGHT into your interface design, rather than just jumbling everything together so that you can use it and it's easier to program, and heck anyone who has a problem can read the (skimpy) man page. I've used SO many programs where it's obvious the author put zero effort into the interface, or else assumed everyone else thinks like he does.

    The worst crime is to be wierd just for the sake of being wierd. Proximtron and Spybot are offenders here.

    --
    Shutting down free speech with violence isn't fighting fascism. It IS fascism!
    1. Re:Best practice by cant_get_a_good_nick · · Score: 1

      A lot of Kai's stuff (Photoshop plugins) are pretty bad. Different for sake of different.

  64. UI design has the same challenges as programming by Ed+Avis · · Score: 1

    I don't see why programmers should be bad at user interface design. The most important rules of UI design are the same as those for programming:

    - Keep it simple.

    - Don't reinvent the wheel; reuse what has already been done (eg standard dialogue boxes and conventions).

    - Don't create many slightly-different ways to accomplish the same thing; provide a few simple and obvious primitives that are easy to use together.

    Where this may fall down is in not understanding how users think, although many programmers have some idea of how another programmer will think and can take that into account when writing code.

    --
    -- Ed Avis ed@membled.com
  65. Re:Everything I know about UI design, I learned fr by truenoir · · Score: 1

    You worked on Office XP, didn't you?

  66. In-progress testing is too late by Fear+the+Clam · · Score: 1

    Spolsky encourages showing the in-progress software to users and watching them use it.

    If you wait until the software is in progess before you show it to users for testing, you're too late. By the time you have front-end stuff to show people, developers have already invested a lot of time, and any changes will have to fight against the momentum of the project. I know, because I've seen it time and again, at numerous companies. I've seen this happen in small shops doing $10-50K jobs, and I've seen it on $3+ million jobs as well.

    What happens if the users don't "get it?" Is it back to the drawing board? Not if developer time has already been spent, baby. Instead, management will ask the UI folks to slap a bunch of labels on items "explaining" stuff. So we'll write a bunch of labels and add them to the application, delaying the release date a bit more, only to find what we already know, which is that nobody actually reads explainatory text when using an application, so it's been a waste of time. Oh, and the text looks like ass.

    The next thing you know, all of the suggestions for making the application easier to use based on the in-progress application user testing are being set aside for the next revision. During the next revision, though it's unlikely that the changes will be implemented, though, because of (a) the previous investment in legacy code and (b) "users expect it to work certain ways."

    The right thing to do is to test things out with paper prototypes before writing any front-end code. There's nothing magical about paper prototypes, they can be simple sketches with the names of buttons and data examples written out. They're cheap, quick to develop, and if they don't work, you can sketch out/photocopy another. For little investment in time or money, you can get something that you know users understand. Believe me, in the long run, it's worth delaying the development team for a few days to do this.

  67. Design Does Matter, But Designers Should Do It by CowboyRobot · · Score: 2, Insightful

    Many times in my career as Web developer, I've had the responsibility of taking an existing site and growing traffic. In each case, the sites started out as ugly, since the 'design' was just wahtever seemed adequate by whoever coded the initial HTML.
    The first step of improvement was to get a professional designer to come and fix the site - put together a more useful navigation system, adding breadcrumbs, etc.
    The traffic would always double (at least) after the re-launch. Part of the increase has to do with old users having to deal with a new system, and clicking around more than they used to, but the rise in traffic was consistent over time, because more user-friendly interfaces meant more users could find what they were looking for.
    So, design is not just making things pretty, and it's certainly not art, since art is about personal expression - design is making things useful, or optimizing their usefulness.
    And slick design is often appropriate. If you run an e-commerce site that looks like it was put together by a 14-year old kid with a copy of Frontpage, you will scare away business because they think you're some fly-by-night operation.
    So, spend the money, hire a designer. You can get a decent redesign for a few hundred bucks.

    --
    every stain tells a story
  68. Beauty versus utility by 0x0d0a · · Score: 4, Insightful

    Unfortunately, UI can also be an area that should *not* be consumer-driven.

    The recent facination (last five years) with media player authors to make "pretty" interfaces that immediately grab a user's interest is a great example. The UIs are far less usable, are inconsistent, are frequiently slower and buggy...yet authors keep pumping out these damned bitmap interfaces to DVD players, movie file players, audio file players, etc.

    The problem is that every time someone does something with a tiny bit of justification, everyone copies it wrong.

    Bitmapped interfaces have seen two major insurgences that are still present. The first, pointed out earlier, was in media player apps. There are a number of cases, but I think the first instance I know of was WinAmp. WinAmp was trying to fill a hole that had never been filled before. It needed to remain constantly up on a user's desktop to keep title, volume, and position available. However, it needed to save space (see the minimized form) -- I can't think of a good way to provide equivalent functionality using standard widgets. Anyway, a difficult HCI call -- to deviate from the standard OS interface was made. It has definitely had drawbacks, but there's at least a good argument that it was worthwhile.

    Along came a huge number of media player designers, all of whom looked at WinAmp and decided at the bitmapped interface was what made the thing successful. They started churning out all kinds of horiffic unusable media players that *did* catch the eye, and *did* get users to try them out...only to hit irritation with the interfaces. Media players pioneered spikes hanging off of windows.

    The other major example is graphic plugins, dating back to Kai's Power Tools. For those not familiar with the tool, KPT is a set of Photoshop plugins. It was written by Kai Krause, an extremely talented graphics programmer. He felt that using custom bitmapped widgets was a good idea. Again, his decision was somewhat arguable, but it let him showcase some of his software's effects, and more importantly, he did a reasonable job for someone going with an inconsistent interface -- he did a few things that would have been difficult with a conventional widget set. KPT had a tremendous functionality set, and succeeded wildly, allowing the company to grow, change names, and develop and acquire other software products like mad. The company continued to produce other outstanding products, also with bitmapped interfaces (with greater and lesser degrees of justification for their nonstandard interfaces. KPT Bryce is a notable example.

    Naturally, a number of other, less talented, Photoshop plugin development companies that were producing products that were not particularly price-competitive or feature competitive looked at KPT and said "Gee...KPT uses a bitmapped interface and is successful. That must be what we're missing." Over the next few years, a *flood* of inconsistent, bitmap-interfaced Photoshop plugins hit the market. These were, as a rule, less well-done than the original KPT, and were a complete pain in the ass for a set of people that mostly used Macs, and had traditionally had one of the most consistent user interfaces in the history of personal computing.

    Bitmapped, custom interfaces are almost always a bad idea.

    There was also an influx of CD-ROM based titles with bitmapped interfaces starting in the early CD-ROM days. Lots of low-budget titles, educational titles, etc. Macromedia Director played a major role in the proliferation of these. Again, a bitmapped interface added nothing to usability, and frequently exposed bugs. It took a few years, but eventually designers realized that users didn't *like* atrocious bitmapped interfaces, and stopped.

    Today, almost all games have a menu system that uses a nonstandard, bitmapped interface. Part of this is because they often have console ports, where there *is* no standard widget system, and part of it is because there's a perception that the customer *wants* a m

    1. Re:Beauty versus utility by 0x0d0a · · Score: 1

      Argh. The last sentence of the parent should be ..big chunk...by other people".

    2. Re:Beauty versus utility by Anonymous Coward · · Score: 1, Insightful

      You first state that "UI can also be an area that should *not* be consumer-driven"

      But your following supported text basically complains about poor bitmapped menu systems. I think your missing the point. UI is about User Interface-ing with your software. Good UI is about the user being able to use your software effectively. The point of the book was for people developing software to take this into consideration and use some simple User tests of how the User Interfaces with the software. Note where the User is having issues and work on improvements. You can only get to this point by going to the consumer (User). Your UI can be bitmapped and still be highly effecient if you take the right approach at building a great UI. Which involves "consumer driven" Tests. So i think it's unfortunate that you feel you shouldn't go to the consumer to drive the interface. I think this book was meant for you to read, becuase you think you alone - hammering away at the keyboard - understands all the different ways people use software.

      Useable = Cool

    3. Re:Beauty versus utility by Vaughn+Anderson · · Score: 4, Interesting
      Unfortunately, UI can also be an area that should *not* be consumer-driven.

      You are actually sorta wrong here. People don't ask for those ridiculous bubble-alien interfaces, they are often times shoved in their faces by over zealous graphic artists. (read MS media player, ugh I can't stand that thing anymore, I like version 6.4...) Though I do agree with the rest of your comments and think they are right in line with the reality of the end user.

      The absolute worst interfaces I have seen in my life are made by pure artists, and then the poor programmer has to make the thing work.

      I am a designer, artist and programmer. I have found my niche here, I design interfaces for about 1/3 of my job, I get hired just to do that at times. A couple of things I found are that -

      1. I have to force myself to keep things simple.

      2. The graphics have to amplify the use of the tools.

      3. You have to always put yourself in the position of the end user.

      These keys basically make my interfaces look like everyone elses out there except for some basic visual look and feel things. There is only so many places and so many ways you can make a button or a menu and have it be useable. My job ultimately comes down to dealing with custom interfaces for dealing very custom data. (not really like media players which are very common and a VCR style control can only be made so many ways)

      End user's scream for easy to use stuff. Graphic designers are impressed with _cool_ interfaces and tend not to consider useability, but ultimately get the job of UI design regardless of their qualifications for it.

      Programmers tend to not consider useability in the sense of where to put buttons/menus, what context to place them in or what to name them for end users.

      So outside of these two camps is where I have to sit. I have to argue with the management, the other designers and programmers to make it obvious to them that the users' need things these groups don't consider important.

      The values of the graphic designer are they make you feel good when you see and use the application. The value the programmer brings is that the application runs well and the controls work as they should. The value I bring as the UI designer is that I make sure everyone plays nice together to make something that an outside user will want to use, can use and ultimately doesn't have to be taught how to use, as it is intuitive.

      What the basis of inituitive _is_ though is a matter of a different debate.

    4. Re:Beauty versus utility by pixel.jonah · · Score: 1

      "...KPT is a set of Photoshop plugins. It was written by Kai Krause, an extremely talented graphics programmer."

      I'm not going to debate the relative merits of OS Native Widgets vs. Custom Widgets, or why KPT was revolutionary.

      But, To set the record straight, Kai is not a programmer, he is a designer/UI designer and Computer Graphics visionary, but not a coder.

      Yes, he was (at least at first) the inspiration, but others designed most of the pixels, programmed the UI systems, and created the astounding algorithms. Since their company is no longer around, many of those people have spread out and their work can be seen in products like Picasa, Hello, GotoMyPC while others carry the torch still maintaining other (revolutionary) products like Painter and Poser.

    5. Re:Beauty versus utility by rifter · · Score: 1

      You first state that "UI can also be an area that should *not* be consumer-driven"

      But your following supported text basically complains about poor bitmapped menu systems. I think your missing the point. UI is about User Interface-ing with your software. Good UI is about the user being able to use your software effectively. The point of the book was for people developing software to take this into consideration and use some simple User tests of how the User Interfaces with the software. Note where the User is having issues and work on improvements. You can only get to this point by going to the consumer (User). Your UI can be bitmapped and still be highly effecient if you take the right approach at building a great UI. Which involves "consumer driven" Tests. So i think it's unfortunate that you feel you shouldn't go to the consumer to drive the interface. I think this book was meant for you to read, becuase you think you alone - hammering away at the keyboard - understands all the different ways people use software.

      I think that the poster was more concerned about MarketDroids who think that a Good Interface means having lots of Eye Candy to Attract Customers. Maybe it was not properly expressed, but I think the point was that the UI should be usable, rather than being designed for marketing purposes.

    6. Re:Beauty versus utility by bar-agent · · Score: 1

      Today, almost all games have a menu system that uses a nonstandard, bitmapped interface. Part of this is because they often have console ports, where there *is* no standard widget system, and part of it is because there's a perception that the customer *wants* a menu screen with little animated moving things.

      I think it is more than perception. For games, customers do want a UI customized for the game. And they do want a UI with huge-ass buttons center stage. They want music playing in the background. They want animation. They want the experience. This is not true of most other apps, of course, or even of quickie games like Solitaire or Tetris.

      --
      i'd hit it so hard, if you pulled me out you'd be the king of britain [bash.org]
  69. "What's a 'right click'?" by yerricde · · Score: 1

    What browser were you using?

    How about the browser used by a person who either doesn't know what a context menu is or doesn't know that the editing commands are found in textareas' context menu in Mozilla and IE?

    --
    Will I retire or break 10K?
  70. Do you work for Microsoft? by Anonymous Coward · · Score: 0

    Seems that you are as closed minded as some of the Linux folk.

  71. Hmm, I think KDE is pretty good... by aquarian · · Score: 1

    ...a better Windows than Windows, IMO.

  72. User Interfaces : The real issue ... by arashiakari · · Score: 2, Insightful

    It takes a LOT of work to make good user interfaces, and nearly all of that work is repetitive and boring. It is easy to create inconsistencies, too. Programmers who just want to work on core or library-type routines are a dime a dozen because they basically don't have to know much about the end use of the app, just the technical requirements of the toolkit they're writing. Sort these records, rip this data from a file into memory, pack these strings into this byte array, etc. They are generalized functions that get used over and over, so there is some satisfaction in perfecting them and a need for them to be optimized. UI programmers have to know as much as possible about the people using the program, the business model that the end users have (why are they using this feature/function?... what is the ultimate goal?), and the types of environments it gets deployed into. It puts more of a burden on their mind as they work.

    UI design on the other hand requires a TON of manual labor that cannot be done by anyone but a good programmer. You have to account for all the little things that a user just might do to your UI while maintaining the state of the form/program. That means coding responses to any number of potential events that might be fired instead of just letting the OS decide what will happen. UI design is frustrating and boring for most people because of this. If you have a form that has 60 fields on it spread over several tab pages and you have a status bar with an explanation of each field, you instantly have 120 callback functions, an enter and exit to and from each field to update that status line with that field's description and then to clear it. You have to write form field validator routines that check each field's data before packing it back into the database, issuing the right kind of error if the data is unacceptable. Heck, just the task of plugging all the database fields into the form elements can be painstaking for a form of moderate complexity.

    And all the code has to be consistent, clean, etc, so the next guy knows what is going on. To impliment ONE well-designed form can take days of uninterrupted programming time. Forms with many many fields just slow things down even more... halfway through the afternoon your mind is swimming in a sea of callbacks and field names. Debugging a form? Don't go there.

    I think basic "quality application interface programming," not even design, is the most underappriciated aspect of the complete software engineering task. If you had to pick just ONE THING to say, "We're going to make absolutely sure we don't **** this up." ... this would be it after (out of obvious necessity) the data engine and memory model.

    To make an analogy: The UI programming is like the Marine Corps (boring sweaty grunt work) like the "rest of the job" is to being an Air Force fighter pilot.

    1. Re:User Interfaces : The real issue ... by linuxbikr · · Score: 1
      Could agree more. :)

      I do work in the Websphere Portal environment where you have to have a) consistent user interfaces between portlets and b) portlets that are bulletproof. They must fail gracefully when errors occur. If they don't, then all the portlets get taken out.

      Portal is a tough world to play in because it is web-based without the rich toolkit of AWT, Swing, the window libraries, etc but users have a expectation of functionality and capability that is similar. Writing web-apps is hard enough to do right, doing it in portal is a challenge.

      The key to good UI design and management is separation of responsibilities. You better be really good at using the State pattern in building mutli-tab/page UIs. State management is vital in the Portal world. You can't do, you won't be able to write a portlet that can be customized and configured.

      Portal development teaches you about simplicity and good UI design. The small amount of real estate available (which you have no control over how much) and the unknowns in how and where your portlet will be used will force you into good design and development overall.

      I've had to relive my previous life as a UI builder when I moved to Portal except the old stuff was easy by comparison!

  73. No, some just don't pay attention by stwrtpj · · Score: 1
    Is that users are fucking idiots.

    The problem I generally see is that some users don't pay attention or just don't care, or just like to gripe.

    Case and point: I do a lot of web-based tool work at my job. I added a paricular feature recently. I explained this feature at a conference call with the group that was to use the feature. I then explained the feature AGAIN in a summary email about the changes I was going to install the coming week. The form has online help explaining the feature and how to use it step by step, and is easy to find (unless anyone thinks "Click here for help" at the very top of the form is too obscure). So what happens a few days after I install the feature? I get a call from a person complaining "I don't know how to use this feature".

    This person was at the conference call, was on the mailing list that I send my summary to, and, I assume, can read the English language. In talking with her, I confirmed that 1) she doesn't recall me saying anything about the feature at the call, 2) She doesn't remember seeing any email from me, and 3) She didn't see the "click here for help"

    Sigh.

    --
    Karma: Frotzed (mostly due to the Frobozz Magic Karma Company)
    1. Re:No, some just don't pay attention by Anonymous Coward · · Score: 0

      Hmm, maybe she just wanted you to come over and give her a... demonstration. Yeah, that's it, a demonstration.

  74. Re:Easiest thing is... CLIPPY jaws theme music pl by travisbean · · Score: 1

    So they guy who invented Clippy used to be my boss. Yes, he actually tells people this, I know, it's crazy. But he has a pretty good spiel about how Microsoft implemented it wrong, and redid the alogarithms tha tcontrol how and when it shows up. I guess if I was microsoft and I spent a million bucks on a cratonn, I wan't to see that puppy being used, goddamnit!!! I also got to see the original clay model for the "Eirnstein Agent" which was neat. He set it down on the table and the eye popped off. Telling. Sad,

  75. Two ways to deal with /.'s "Slow Down Cowboy!" by yerricde · · Score: 1

    I tend to get screwed a lot by stuff like Slashdot's "wait 2 minutes" limiter

    Refresh the "Slow Down Cowboy!" page after a couple minutes, and the comment will be posted intact. Or use Mozilla instead; because it isn't overly eager to expire Slashdot comment pages, it doesn't eat the contents of a form after you Back up to it.

    --
    Will I retire or break 10K?
  76. Idiots for Dummies by Ilan+Volow · · Score: 1

    If the problem is that users are idiots, wouldn't the obvious solution be to pick up a copy of "Idiots For Dummies?"

    Ergonomica Auctorita

    --
    Ergonomica Auctorita Illico!
    1. Re:Idiots for Dummies by cosmo7 · · Score: 1

      This quotation is at the top of my user bug report page:

      "Just remember: you're not a "dummy," no matter what those computer books claim. The real dummies are the people who, though technically expert, couldn't design hardware and software that's usable by normal consumers if their lives depended upon it."
      - Walter Mossberg

  77. "Programming as if People Mattered" by Khelder · · Score: 1

    I haven't read Spolsky's book, but from the review it sounds similar to a book I really liked, Programming as if People Mattered, by Nathaniel Borenstein. I definitely recommend it if you're interested in UI development.

  78. Re:UI design has the same challenges as programmin by Ilan+Volow · · Score: 1

    Just to add another:

    -Every design has trade-offs. Which design to use depends on the situation.

    Ergonomica Auctorita

    --
    Ergonomica Auctorita Illico!
  79. Creative vs. logical by Mr.+Slippery · · Score: 1
    He feels that programmers fear design because it is a creative process rather than a logical one

    What, and programming isn't?

    Creating a program is not a mechanical, logical process (consult Turing for details).

    Also, a well-crafted computer program is not just a set of instructions for a machine, it is a creative work that documents and explains a process.

    It is as creative as a mathematical proof, or a poem. Duff's device is as creative and as beautiful as Basho's frog haiku. Any of these may be analyzed from a logical perspective, but their creation remains to some degree ineffable.

    --
    Tom Swiss | the infamous tms | my blog
    You cannot wash away blood with blood
  80. Banner blindness by yerricde · · Score: 1

    unless anyone thinks "Click here for help" at the very top of the form is too obscure

    It might have been confused with an advertisement. Please read Google's top results on "banner blindness" and "box blindness."

    --
    Will I retire or break 10K?
  81. User interface design is not GUI design by Animats · · Score: 1
    And no, I'm not talking about "command line" interfaces.

    A key to user interface design is "you should never have to tell the computer something it already knows". That's from the old Mac interface guidelines.

    Never ask the user to find something the program can find. The user should have to input a data item no more than once, ever. And this doesn't mean the user has to "register" to buy from your website, even if the "marketing" people want that.

  82. Re:Everything I know about UI design, I learned fr by crazyphilman · · Score: 1

    Sssh! Quiet! If a rumor like that gets around, I'll never get laid again!

    --
    Farewell! It's been a fine buncha years!
  83. Re:This is, actually, my achelles heel by Anonymous Coward · · Score: 0

    I admonish your spelling skills...it's Achilles

  84. Re:Everything I know about UI design, I learned fr by crazyphilman · · Score: 1

    Not scary enough... I was thinking something more along the lines of the "facehugger pounces on you" effect from Aliens Vs. predator, combined with angry cat noises and a barf sound...

    --
    Farewell! It's been a fine buncha years!
  85. rE41 pr0grammerz by Anonymous Coward · · Score: 0

    do not do interfaces

  86. How to build a good UI by Aidtopia · · Score: 1
    • Identify the task to be performed.
    • Determine how the typical user thinks about the task. Figure out their mental model.
    • Find a mapping between the user's mental model and the programs processing model.
    • (Usability) Test it.
    • Debug (the mapping).
    • Repeat as necessary.

    Nope, programmers aren't good at any of these things. It involves problem solving skills. Programmers don't have any of those. It involves detecting, isolating, and correcting mistakes. Step-wise refinement. Nope, programmers can't do that.

    Sarcasm aside. A lot of programmers do make horrible, unusable UIs. Some, like Alan Cooper and various people on Slashdot, argue that programmers can't learn how to make a good UI. I disagree. A good UI is a solution to a mapping problem.

    The trick is making the UI a priority, properly identifying the problems, and providing for iterative engineering of a solution to the problems. Good user-interface designers are engineers in this sense. It's just that they've specialized in this human-machine domain, so they have a huge head-start on those who would otherwise have to discover everything from scratch. Programmers can learn how "regular users" think about their tasks, even if it's alien to how the programmer would think about it. Cooper says they can't, but I think he's wrong.

    Pairing a programmer with a UI expert can be a fantastic thing. The UI expert can help the programmer understand how the users see the task, and the programmer can come up with innovative ways to map that mental model to the program model.

  87. My experiences by pavon · · Score: 1

    The reminder to focus on the tasks the user is trying to accomplish rather than the long feature list

    This is so important, but often completely missed. I have two things to say about it. First concering getting the information a programmer needs to design an appropriate interface. I have written some apps whose interface was perfectly good for the workflow that I had in my mind. Unfortunately, it turned out that I had misunderstood the user's workflow, and am now in the process of refactoring the entire application to match a more appropriate interface.

    This extends to more than just interfaces, and getting a good understanding of the workflow can be hard. Often the user thinks they have to tell the programmer exactly what they want - practically specifing the interface. This inevitably leads to failure because what the user thinks they want and what they really want are not the same thing. They are not user interface designers, they are just making guesses based on what they have seen other programs do. There is usually a better solution to the problem than the one they thought of, since you have knowledge that they don't. Other times a list of features gets handed to the developer, with little information about how the features will be used. Again, huge possibility for failure because the implicit idea of how the program is going to work in your mind and in the customer's mind may be different. Now you are the one guessing at a solution, lacking knowledge that only the user has.

    The big point is to get a good understanding of the problem, and then you can work together to come up with a solution. The best way I've ever seen of doing this is to tell the user to pretend that you are a new employee or intern and have them walk you through all the processes that your software will influence. Like a new employee would, talk to the old employees to get a better understanding of your (pretend) new job. Spend time watching them and look for areas of inefficiency that they don't realize because they have been doing it that way for so many years. Then you are in a position to start designing, and bouncing those designs off the users.

    The second point. When designing an interface alot of programmers jump strait to the buttons, menus, dialog boxes, etc and such. But these things are the low-level implementation - not the goal itself. UI design should be more appropriately called User Interaction design, and has to do with understanding the workflow of the user, and then choosing the method to implement it.

    Don't actually have anything to say about the book or review - it just got my mind going on this track, and I couldn't prevent my fingers from typing after that :)

  88. People have to participate to make it work by faust2097 · · Score: 1
    Spolsky encourages showing the in-progress software to users and watching them use it. I think one of his best points about usability testing is that if the programmers and designers cannot bother to watch the users during the testing, they're unlikely to gain much from a thick report by a testing lab. He encourages simple, quick, and casual usability testing, something even the smallest firm could afford and from which they would could draw useful improvements.

    This is probably one if the most important things, especially in corporate/commercial software development where you don't have a feedback system to see what users like and don't like. At several places I have worked the engineers would ignore or just give lip service to the results or ignore them completely. Frequently developers get defensive when presented with recommendations or changed requirements because they view them as a subjective attack on their work. It's not. Although really inventive UI design will always require novel thinking it's important to understand that there is a lot of existing best practices and knowledge out there and it will make your products better.

    While I do I make my living at this stuff I'm all for as many people learning the best practices of UI design as possible. It means that my work is less teaching and more designing. I love engineers, without them I'd have to write my own code and nobody wants that [my old Data Structures classmates can attest to that].

    One other important thing mentioned is that despite some astronomically-priced pundits' opinions to the contrary, testing doesn't need to be a monolithic process that costs tens of thousands of dollars.

    For a very casual overview of usability I recommend Steve Krug's "Don't Make Me Think!". It's mostly focused on web usability but it's extremely readable and covers all the basic topics. It's also very short which makes it easier to talk your coworkers into reading.

  89. Programmers aren't always the problem by frufry · · Score: 2, Insightful

    When developers design UIs there's always the problem that they know exactly how the system works and because of that they lose perspective on what makes sense to others. In my experience, though, that's not what most frequently causes bad designs. Our designs usually go astray because we don't choose the right audience. If you're building a web server, for instance, you can safely assume that anyone using the server's UI will have at least a decent mastery of software and how to use it (even if they know anything about web servers). Thus, not everything needs to be all wizarded-out.
    However, if you're building a new instant messaging client, for instance, perhaps you want to make sure the dumbest possible user, who can scarcely use a mouse, can use the software without trouble.
    Generally, the more you build something in the interest of the dumbest users, the more the UI suffers for more savvy users. So, assuming that no one can use a mouse, isn't always a good starting point.
    The key is to figure out who your target audience is, try to design for the vast majority of them (probably leaning a little towards the dumber ones), and perhaps decide on acceptable "casualties" for the few absolute dumbest of that range, in the interest of the rest.

  90. Wussy users! by Gilmoure · · Score: 1

    If they can't figure out an interface, they have no right to use the technology.

    Vi!

    --
    I drank what? -- Socrates
  91. Creativity vs. Logic by hcg50a · · Score: 1
    Spolsky feels that programmers fear design because they consider it a creative process rather than a logical one...

    Wow!

    Whoever wrote that apparently feels that creativity and logic are opposites or contradictory.

    In software engineering, I see logic as the medium for creative expression of ideas. They are two different things and they happily coexist, particularly in programming and mathematics and science and any number of other fields.

    --
    HCG 50a = 2MASX J11170638+5455016
    11h17m06.4s +54d55m02s
  92. UI patterns by butane_bob2003 · · Score: 1

    I guess the target programmer here is one that is just being introduced to UI design. What I would like to see is more UI design patterns and practices in a book like this. It's one thing to design a UI that is nice to users, but to design one that is nice to the developer in the long run is more difficult. (This would apply to application development in general)

    --


    TallGreen CMS hosting
  93. On that note... by Anonymous Coward · · Score: 0

    I loathe user interface design because, quite frankly, I don't think I have an artistic bone in my body.

    Related snappy line:
    She: I don't have an artistic bone in my body...
    He: Would you like one?

  94. Alan Cooper said it best by Simon · · Score: 2, Insightful

    The phrase "computer literate user" really means the person has been hurt so many times that the scar tissue is thick enough so he no longer feels the pain.

    -- Alan Cooper, "The Inmates are Running the Asylum", 1999

    --
    Simon

  95. Rush Limbaugh by Anonymous Coward · · Score: 0

    Rush Limbaugh; as obnoxious and idiotic as I find that fat dummy is. I believe his comment was directed at the liberal media capitalizing on product endorsement and status which the athlete might generate. Black athletes have a strong fan base and the liberals have a sneaky way of getting their dirty little fingers into his/her cash and/or turn profit off of his/her skin color.

    I do not like career liberals.

  96. timely review! by Anonymous Coward · · Score: 0

    i've had this book for almost two years. it's good to see that the slashdot reviewers are reviewing the latest and greatest!

    this is a great book though, highly recommended. easy to read and full of great tips (and ammunition against Flash designs!)

  97. Intuative v.s. User Friendly -- Hammer Analogy by Dr.+Evil · · Score: 1

    Users think they want a hammer, but if they had a hammer, they would have to know how to hold a hammer, how to swing a hammer, how to hold a nail, how to hit the nail... etc. The hammer is a beautiful example of a non-intuitive user friendly design. Most of us know how to use it simply because we've all learned how to use it.

    Just imagine what would happen if you gave your end-users a hammer, a handful of nails and two peices of wood.

    Other strong examples of non-intuitive user friendly design v.s. intuative non-friendly designs would be the qwerty keyboard v.s. alphabetaic keyboards, the mouse v.s. the touchscreen, vi and emacs v.s. notepad, the command line v.s. WIMP environments, etc.

    1. Re:Intuative v.s. User Friendly -- Hammer Analogy by Greedo · · Score: 1

      Reminds me of that saying:

      "If necessity dictates, every tool is a hammer."

      --
      Tuus crepidae innexilis sunt.
  98. Fear? Hardly by Chazmyrr · · Score: 1

    Programmers aren't afraid of creating UIs. They simply recognize that creating a UI is a boring and tedious timesink that they would rather avoid given a choice. Further, in large businesses, functionality often has to take a back seat to form. It doesn't matter how easy to use it is if management doesn't think it's pretty enough.

    I work in small development shop inside a large financial institution. We specialize in smaller projects that IT will never prioritize because it won't bring in at least 100 million dollars of additinal revenue. These projects still have substantial value to the business so we step in and fill the gap. Since we don't have a large number of developers, if it doesn't have to be done yesterday, we usually have one developer per project.

    My current project is a database driven web application. The database and stored procedures were done in less than a week. Wrapping the database calls in server side script took another day or two. The last month has been spent working on the UI. We model the UI on paper, we go through the flows, I code it, the users test it, we redo the models, etc. I would much rather have spent that month working on something challenging. Especially when some of the most time consuming changes have been strictly cosmetic.

  99. Art? by Grendel+Drago · · Score: 1

    Software is, if it doesn't suck ass, functional. Ergo, it ain't high art. And no, what nerds consider to be unspeakably cool does not constitute high art.

    --grendel drago

    --
    Laws do not persuade just because they threaten. --Seneca
  100. User Interface Hall of Shame: QuickTime by SimHacker · · Score: 1
    The following classic article should be required reading for anyone studying user interface design or drug abuse prevention. It documents the effects of cocaine on user interface design. There is no other logical explaination for what happened to QuickTime at Apple. The lesson learned from this fiasco is that Apple's UI designers should put down their crack pipe and step away from the computer.

    http://digilander.libero.it/chiediloapippo/Enginee ring/iarchitect/qtime.htm

    QuickTime is a lost cause. Apple has invested millions of dollars in sabotaging their own product. Use QuickTime at your own peril, only if you're as self destructive as Apple.

    -Don

    --
    Take a look and feel free: http://www.PieMenu.com
  101. US naming conventions by Bikku · · Score: 1

    I always thought that POET was renamed for the USian market, to make it sound less intimidating. Similar to the way Harry Potter's "philosopher's stone" (which actually has historical meaning) was dumbed down to "sourcerer's stone" to sound less intimidating to USian masses.

    1. Re:US naming conventions by kisrael · · Score: 1

      I don't think "Psychology" is that much more intimidating than "Design". And I do remember hearing that anecodete about the renaming, but have no idea where...a quick Google search didn't yield any conclusive evidence.

      Yes, that whole "Sorceror's Stone" bit was quite disgusting and insulting. (Though while I will grant a typical young English reader might be more likely to know the term "philosopher's stone", I doubt that that knowledge is universal there.) I think I've heard they've been doing less UK->USA "translation" in the later books, and getting the "original texts" for the earlier ones is popular here.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    2. Re:US naming conventions by Anonymous Coward · · Score: 0

      I think I've heard they've been doing less UK->USA "translation" in the later books, and getting the "original texts" for the earlier ones is popular here.

      What little I read of Harry Potter was moronic enough -- now you're telling me the USA gets a version even further dumbed down?

      Gods, I weep for the future of the world.

    3. Re:US naming conventions by Phil+Gregory · · Score: 2, Interesting
      And I do remember hearing that anecodete about the renaming, but have no idea where.

      The front of The Design of Everyday Things tells the story of the renaming of the book. I can't find the text of the intro anywhere on the web (via googling for specific phrases) so:

      When Doubleday/Currency approached me about publishing the paperback version of this book, the editors also said, "But of course the title will have to be changed." Title changed? I was horrified. But I decided to follow my own advice and do some research on readers. I discovered that while the academic community liked the title and its cleverness, the business community did not. In fact, businesses often ignored the book because the title sent the wrong message. Bookstores placed the book in their psychology sections (along with books on sex, love, and self-help). The final nail in the title's coffin came when I was asked to talk to a group of senior executives of a leading manufacturing company. The person who introduced me to the audience praised the book, damned the title, and asked his colleagues to read the book despite the title.

      --Phil (If you haven't read this book, you should do so now. It's that good.)
      --
      355/113 -- Not the famous irrational number PI, but an incredible simulation!
  102. Need to pick this up... by 330Pilot · · Score: 1

    looking at some of my latest designs, i think i need to pick this book up ASAP ;)

  103. Another great book: "Don't Make Me Think" by tchapin · · Score: 2, Informative
    It's web-focused, but a lot of the lessons apply to any domain. Check out Steve Krug's website. This book is totally awesome. Short, sweet, yet it packs a mental punch.

    UI design can be really difficult. A lot of the issues are in how the information / features / tools / whatever are organized in the application. Some call that information architecture, but I don't make that distinction. Another issue is that of labels & names.

    I am a professional UI Designer, currently working in telephony-based speech recognition. Very often, the "subject-matter experts" at my clients are too close to the issue and try to force their viewpoint on the application. One of my jobs is to convince them that users won't understand that sort of thing. Another is to try to make sense of the mish-mash of requirements for the application.

    All in all, it's challenging and fun work.

    Todd

    --
    -- !todd erases a red dot! I steal music on the internet.
  104. Re:Everything I know about UI design, I learned fr by stonecypher · · Score: 1

    Sounds like Microsoft is *way* ahead of you. Observe:

    1. If the user doesn't have to stop what he's doing to solve an inexplicable puzzle every few minutes, he'll be done waaaay too fast.

    BSOD. Example: "What the hell? I wasn't doing anything. I was just staring at the screen. Wasn't even scrolling. Why did it crash?"

    2. Obey the principle of most astonishment. Surprise the user as often as possible! Preferably with something terrifying that makes him literally fling himself out of his chair (example: the aliens in Alien Vs. Predator love to sneak up on you along walls and ceilings and suddenly let you have it from three directions -- a guaranteed excuse to press "pause" and go put on a new pair of underwear).

    BSOD. Example: "Wow, these demons are really tough. (kapow, kapow; reload) I'm running out of ammo. Better run back towa-- (fling!) Where the - Fuck, it crashed!"

    3. If the user screws something up, HE MUST BE PUNISHED. Usually, this means his onscreen persona (resume, spreadsheet, etc) should die a wretched, gory death, scaring the crap out of the user (see #2) and he should have to start whatever he was doing over from his last save point. This of course encourages saving documents frequently, always a good thing with Microsoft software.

    BSOD. For example, there are any number of things which the user can do in control panel which will immediately illicit a Very Bad Crash (tm). This causes the user to need to restore from the last save point; however, and not to be rude, I must point out that much like anything else, this does no in fact encourage users to hit control s. Because obviously two keypresses are too much effort to safeguard your last four hours of exploratory work three hours before the paper is due.

    4. If the software includes networking features, you MUST include a "taunt" feature. Allow preformatted taunts and on-the-fly taunts; both are equally fun for all. "Hey, BILL! Your powerpoint SUCKS!"

    BSOD. I mean, honestly, haven't you ever gotten the impression that when one of those happens, the god damned thing is just mocking you?

    5. And, finally, you have to include a few easter eggs and hidden areas. These should include a "must-have" that isn't granted to ordinary users (like, say, print preview).

    This turns out to be a misfeature, though I'm not sure why. Briefly, MS offered a must-have feature in the "anti-BSOD spray" OS, better known as NT 3.5. However, MS retreated from this strategy almost a decade ago. I find your work to be insightful, but I can tell that they've been there first, and discovered it's wrong.

    Now, you just have to figure out why.

    --
    StoneCypher is Full of BS
  105. Targetted audiences versus general audiences by Watts · · Score: 2, Informative

    At a recent project review meeting, developers at my company listed the strengths of our development process. To my surprise, user interface design was mentioned as one of our stronger points. While I haven't been around long enough to see many projects, I definitely didn't believe this was the case.

    I think what has happened is that web applications have expanded the user base of our programs while lowering the training curve. Where we might have built an application for a specific group in the past and conducted training specific to their needs, we're now deploying web apps that are used by a much broader group that gets no specific training.

    You can get away with mediocre user interfaces when you're there to tell a group exactly how it works (and they pass on that information), but if your work needs to be quickly understood by a broad base, then usability is a necessity.

  106. Pocket PC Checkers vs Jackson Pollack? by tjstork · · Score: 1


    I'll take Pocket PC Checkers against Jackson Pollack any day. Or, how about artist that stacks rocks in a circle? What's up with that? :-)

    --
    This is my sig.
  107. as a software developer... by mrsbrisby · · Score: 2, Informative

    it's hideous to keep hearing about how programmers cannot possibly design good, clean, consistant user interfaces. i have a hard time finding a case where it's a non-engineer that has ever in the history of time designed and developed a consistant and usable interface.

    It's safe to say that non-artists have a hard time "drawing" things- but the widgets themselves must be _designed_ by an engineer. usually, the best looking, and best feeling interfaces are those built with constant feedback between artists and engineers.

    So I place the precarious difference in what it means to design, versus what it means to draw.

    I can't draw a straight line with a ruler, but the software I have built has a user-interface that is generally approachable, but always usable.

    Part of the engineers job is to decide where options, already categorized, will go- by deciding what those categories go, and where the user will need to find them. The engineer can usually sit back and "think" as if they have never seen this interface before, and any engineer that will actually say that labelling a button "Func2" just to save space is actually good UI isn't a proper engineer at all.

    But while engineers do like consistancy, and while they can appreciate approachabilitiy (though to reiterate: they may need prodding to get it there) their first goal is to make it usable. That means that after the user _already knows_ where every button can be found and what every function is, they actually feel comfortable using it.

    This is a scary thing; the rest of the world doesn't seem to think "usability" means this at all. And they don't otherwise have a word for "approachability", and still somehow all three are intermingled with consistancy into one umbrella of user friendlyness.

    Many engineers like to solve this problem with configurability- to make it possible to change every behavior of the software (that they think) possible, so that users can find their own usable system.

    The problem is that nobody but an aspiring engineer or better can do that.

    And if nobody but an engineer can actually define (and therefore design) the usability, and if clearly usability is paramount in a programs, well, use, then it should not only be obvious and apparent, but you will grin widely when you notice that not only are engineers the best user-interface designers, they are the only people who can make it work.

    Apple computer is often cited as an example of consistancy (well, except for their cross-platform offerings) but do you honestly think it was the artist that did anything but decide what a slider should _look like_? Not that a slider was the best tool, or that "some kind" of gauge was necessary, but find an artist that does this, and I'll start calling them an engineer.

    Well, not now anyway... Almost everyone has seen a slider, so let's change that above examine to be a quokulfork. Non-engineers, your challenge is to decide what the quokulfork is, and since you can already draw it, do that, and decide how it works, and why it's necessary.

    I mean, the quokulfork: the most needed UI element.

    You can't think we've thought of all of them. After all, how did Macintosh go so long without a slider widget?

  108. Krug's book a MUST READ by iSwitched · · Score: 2, Insightful

    Just a quick note to add that I too have Steve Krug's "Don't make me think" on my top shelf. This book is about sensible web design, but many of it's principles, including the concepts of "Usability Testing on 10 cents a Day" apply to any GUI design project.

    As a side note, my whole career I've pretty much specialized in putting GUIs on things -- I haven't stopped laughing at some of the posts in this thread since I started reading it -- If the sum of slashdot posts is any indication, GUI design is really totally misunderstood by the average developer.

    --
    "That naive cube! How long must I suffer this!" --Sheldon J. Plankton
  109. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  110. Scared of creativity? by Skreems · · Score: 1

    I don't know what field he thinks programers work in, but a lot of my programming experience has been WAY more creativity and design work than actual straight logic. For anything complex, especially gaming/complex systems, you are required to do a lot of creative design.

    --
    Slashdot needs a "-1, Wrong" moderation option.
    The Urban Hippie
  111. Don't design with feedback by SoupIsGoodFood_42 · · Score: 1

    Most of the time, users don't have a clue what makes a good interface, they don't know what they need. Getting feedback is only something that should happen after proper planning has been done. If your idea of UI design is throwing some rough idea out, and refining it with user feedback, you will end up will as poor interface. Hell, this is why most of the poor interfaces exist; they think it works.

  112. UI doesn't matter? by SoupIsGoodFood_42 · · Score: 1
    For many developers, I don't think that UI considerations are all that important.

    How do you explain the sucsess of the iPod? When it first came out, a lot of people on /. said it would never sell very well. But they forgot one thing: It wasn't just first HDD MP3 player that was small and looked nice, it was the first to have a decent interface. Using and updating the iPod is so easy to do. The iPod is now the leading MP3 player, it's Apple's best selling products...all because they made it easy to use.

    And I think that many developers *are* adept at designing systems that are usable

    Unfortuantly most aren't (along with graphics artists to though), that's why there is so many bad UIs out there. Programmers design UIs that are too complex, because that's what they think is best, most of the time it's not.

  113. or just copy apple by Aqua+OS+X · · Score: 2, Funny

    Coping Apple's interface designs seems to work well for folks who are too cheep to hire anyone that knows anything about information architecture or GUI design.

    I advise doing that. :p

    --
    "Things are more moderner than before- bigger, and yet smaller- it's computers-- San Dimas High School football RULES!"
  114. Joel needs to rename his book by Aqua+OS+X · · Score: 1

    This book looks like yet another piece of text that mixes up GUI design and information architecture. They're two very different subjects.

    Just because you understand the fundamentals of information architecture does not mean you know squat about design. A good GUI need to incorporate both design principles and information architecture principles.

    If you only focus on architecture you end up with an ugly UI. This is Why windows looks and feels like a donkey's behind... and OS X doesn't.

    --
    "Things are more moderner than before- bigger, and yet smaller- it's computers-- San Dimas High School football RULES!"
  115. Don't design with feedback-leaky abstractions. by Anonymous Coward · · Score: 0

    Sounds like people need to keep in mind the idea of "leaky abstractions".

  116. Re:Everything I know about UI design, I learned fr by crazyphilman · · Score: 1

    I loved your post, and of course, you're right, but I find the BSOD vaguely unsatisfying. It's just blue. I think they should trick it out a little, you know? Jazz it up. Add some loud noises and maybe a surprising and startling display, like the goatse guy in a flash animation turning himself inside out and disappearing into a singularity.

    That'd be kinda cool, wouldn't it?

    User: "AAAAH! MY EYES! MY EYES!!!"

    --
    Farewell! It's been a fine buncha years!
  117. mobile phone UI by cerebralpc · · Score: 1, Insightful

    I use to have a Nokia 3310 - it had a great UI - only three buttons to navigate - but mostly you just clicked the middle button to get to most stuff. It was a bit of an old clunker (to big) so I got a sexy new Errison T335. Terrible UI - I didn't release how spoilt I was - it was so difficult to navigate. It was so bad I changed back to my old clunker Nokia 3310. Next chance I got I swapped back to a much smaller Nokia 6510 - this one has 5 navigation buttons - not as good a UI as the 3310 but very similiar. Note: I don't work for Nokia - just my experience with mobile phones I've owned.

  118. Norman's book by Latent+Heat · · Score: 1
    Actually, psychology made sense because he was talking about how human prejudices, mental limitations, and tendencies should influence user interface design. When we think psychology we thing Freud or TV's Bob Hartley, but a lot of psychology deals with mid-level mental functions (vision, hearing, airplane cockpit workload) instead of higher-level mental functions (how my mom was too cheap to spring for a Barbie doll for my sister and how that affects my sister in adult life).

    Its too bad if Donald Norman reverted to "Design" because the book goes deeper than just design (traditionally the relationship of function to aesthetics).

  119. User Interface Design for... by Brian+Boitano · · Score: 1

    did anyone else read the title as "User Interface Design for Dummies"?

    --
    What would Brian Boitano do?
  120. Think Like A User by gidds · · Score: 1
    A lot of what people have posted boils simply down to the rule:
    You must think like a user.
    Now, whether you can do this well depends on who your users are. If you're writing a tool for yourself, or for similarly technically-minded people, then congratulations, you're there already!

    But in most cases, you're aiming at folks who aren't as technically-minded as you are. Now, all things are relative; this applies just as much to writers of compilers (whose users generally don't want to know about the details of context-free grammars, stack frames and optimisation, and just want to compile some code) as to writers of email clients or POS systems. But in each case, you must put yourself in your typical user's shoes - or find someone else who can.

    That's not the end of the story, of course - there's still lots of creative work to be done, building abstractions and conceptual models for what your software does and working out how best to display them so the user will understand, working out the simplest way to handle each task the user might want to perform, and so on - but at the core of all of this is being able to see things from the user's PoV. If you can do that, then all the other decisions and choices will tend to go in the right direction.

    In my experience, though, nothing beats actually being a user of your software! Not only do you get real understanding and lots of testing for free, but also a greater sense of achievement, and a real interest in making it the best!

    --

    Ceterum censeo subscriptionem esse delendam.

  121. What's an example of a *good* GUI then? by alien_blueprint · · Score: 1

    So, I've scanned through most of the comments stating the programmers shouldn't be allowed to do GUIs, that this or that GUI sux, etc, etc.

    So, what's an example of a good GUI? I can't think of one off the top of my head. Certainly not any browser (either IE or Mozilla), and they are probably the GUI programs I use the most. Example: trying to enter text into a form like this is one of the most painful computing related experiences ever. And all the browsers do it the same way (almost).

    I've tried Visual Studio. Gave up in frustration. I tried Eclipse. Gave up in a rage. Word makes me want to set the "designer" on fire. I will not touch it again, ever, if I can possibly help it. And let's just not mention Excel, as I may just spontaneously combust.

    So, I use my "windowing" system either on Windows or *nix simply to run multiple shells, Emacs, and some Python interactive sessions. And a browser window or two.

    So, the challenge to all the "HCI experts" scoffing at the programmer's GUI design ability is simply this - where's this great GUI we're all supposed to be imitating, or gazing at in silent awe of the HCI expert's power? Is there even *one*? I'd certainly like to see it.

    I can think of some individual *widgets* that are good in a particular domain, like displaying a file hierarchy as an expandable tree. But is there an entire non-trivial GUI-based tool that could be held up as a shining beacon of excellent design?

    Perhaps the whole idea of trying to model every problem domain in the universe as a collection of scroll bars, radio buttons, check boxes and tabbed dialogs is just fundamentally wrong, and will never work?

  122. Re:$9 cheaper by Anonymous Coward · · Score: 0
  123. multiple entry points? by Anonymous Coward · · Score: 0
    I have heard it said that "providing more than one location for a particular feature or bit of functionality confuses the user" as well as leading them into overload. Sure, I can actually see that myself, yet I can't help but wonder if that confusion and overloading is more to do with an inconsistent and unorganized menu, popup, and/or button set. I also wonder how much this is a rule that is subjective to say, "A Lot" and "Some" choices and thus not falling within the realm of "ONLY ONE PLACE" or "ALL OVER THE PLACE" as many opponents of this method seem to convey.

    Oh, and btw I am not a UI person, GUI or NOT. I am however a life long user of various GUI's from the ASCII sort on through various Window Manager sets and then on to HTML based interfaces. Then of course there are the miriad assortment of custom GUI's done in various programs. So, I know what works and doesn't work for me.

    What I have learned is that there really is no silver bullet of organization and functionality categorization that will actually allow for only one place of access or entry to the particular widgets feature. Not to mention that even when there is a de-facto or even a published standard in place, many use all the bad parts and fill in the rest with chaos. The ol' "File | Edit | View" trick common now is often full of nonsensical subcategories and features that either would have benifitted from having their own parent category or just belonged in another existing one.

    I am therefore looking into a more database centric approach to GUI's. This could lend itself to themes (no, not colors and skins) for the user or administrator to pick ahead of time and then even allow per app customization as needed. This would mean that instead of just having a label of "Call up XYZ Config Program" you also specify meta data that it belongs too. This could be "Configuration" "XYZ" "X Rate with YZ Sampling", etc. The point is that you don't try to hammer the square peg into the round hole, but label it as all it belongs to. This multi-dimensional approach seems to be in need of Bookmarks for browswers as an example of user defined mapping and storage. You may have a section for Development Tools and subsections for C++ and Java. Then you IDE's and Debuggers. Next you have a section on Programming Tips and Algorithms along with your requisite "Code" on various web sites to use as reference or just to use. Then of course you have documentation and references, but then have a separate section for Books. Now just imagine this article here... what does it fall under? What if it was about Eclipse tricks or the Eclipse site as well? It would not be too hard to come up with a system where you checked or otherwise indicated multiple categories but that would really make a hassle out of viewing unless you actually went in and enumerated usage vs. category in some manner and optimized accordingly. (Think a less annoying method that MS uses for only showing things used recently)

    Phew, makes my brain hurt just thinking about it... better enrich my neurons with some thought promoting beer!

  124. I tried posting this to /. once... by juglugs · · Score: 1

    Here is a great site that explains everything there is to know about UI's and gives real world (you use them every day) examples of "how not to"... It's dated, but it's very, very good... I recomend reading the Lotus Notes special page if you've ever used Lotus Notes - It's a Classic!!

    --
    This sig is in Spanish when you're not looking....
    1. Re:I tried posting this to /. once... by juglugs · · Score: 1

      I should mention that the iarchitects.com site is no more (sadly) and that this is a mirror...

      --
      This sig is in Spanish when you're not looking....