Slashdot Mirror


What Makes a Good UI?

OSXCPA asks: "While there are plenty of OS business apps from accounting to ERP, they seem to share a common failing with "commercial" software - the user interface is terrible! Has anyone seen an application that has a UI that made you sit up and stare in amazement at the simplicity and effectiveness of it? For the techno-elite, drooly-gui may not be a priority, but I am working on a project (OS) where I have to show real savings (in task performance time and reduced data entry error) on a specialized accounting system via better UI. Am looking for some inspiration. Any ideas? Projects? Books?"

188 comments

  1. The Humane Interface by orasio · · Score: 3, Informative

    by Jef Raskin

    http://www.jefraskin.com/forjef/jefweb-compiled/hu maneinterface/

    It's a book that can help you look at interfaces in a different way, with some measures you can make, and some guidelines that an be helpful. Maybe going all the way is not feasible immediately, but it can gie some insight on the subject.

    1. Re:The Humane Interface by Jondaley · · Score: 2, Informative

      It is too bad the author's summary is missing from the page. But, google has a cache.

    2. Re:The Humane Interface by loners · · Score: 1

      try http://jef.raskincenter.org/humane_interface/summa ry_of_thi.html

    3. Re:The Humane Interface by Anonymous Coward · · Score: 0

      /. auto inserts spaces, try putting it as a url:
      http://jef.raskincenter.org/humane_interface/summa ry_of_thi.html

    4. Re:The Humane Interface by lphuberdeau · · Score: 1

      I actually finished reading that book two days ago. I found it horrible. Half of the book totally ignores the current state of technology and describe the ideal system. The book is not really aimed towards software developpers willing to improve user interfaces. I just don't want to design hardware to accomodate my software. I don't want to redesign the way operating systems are made.

      I'm still searching for one, but I'm pretty sure there is a better book out there for developpers.

      Anyway, if you still decide to read that book. Do yourself a favor and skip chapter 5 and 6.

      --
      Qui ne va pas à la chasse n'a pas de gibier
      PHP Queb
  2. OS X by bmsleight · · Score: 2, Insightful
    OSXCPA asks: "While ....
    The first three characters
    1. Re:OS X by profet · · Score: 1

      Exactly.

      The question is not "What" but "Who".

      And the answer is Apple.

    2. Re:OS X by gl4ss · · Score: 0, Redundant

      huhhu?

      so if you call your softwa osxircist it'll have automatically good ui?

      or perhaps you mean apples guidelines on building an ui? this doesn't necessarely mean though that the ui is GOOD, it's just how it looks and where certain things are found from - it could still suck major ass.

      a good ui is fast to use - or if it's meant to be used by the user just once in his lifetime then it's easy and handholing..

      --
      world was created 5 seconds before this post as it is.
    3. Re:OS X by Anonymous Coward · · Score: 0

      That, and there's the little feature many seem to forget about the UI: English.

    4. Re:OS X by MrResistor · · Score: 1

      I disagree.

      I've never liked the Mac UI, and OSX has done nothing to fix the things I don't like, and in fact actually added a few more (like the dock).

      I also disagree with some of the assumptions many point to in order to "prove" that the Mac UI is better. Chief among them is the idea that there is any such thing as an intuitive interface. There isn't, Even the nipple is learned (your local maternity ward has a breast feeding expert, feel free to ask them if you don't want to take my word for it).

      --
      Under capitalism man exploits man. Under communism it's the other way around.
    5. Re:OS X by Anonymous Coward · · Score: 0

      I don't believe that. The Mac UI you're dead on about, but the nipple? Dude, that is intuitive, intuitable, and intumymouth.

  3. One Word by brunes69 · · Score: 2, Insightful

    Has anyone seen an application that has a UI that made you sit up and stare in amazement at the simplicity and effectiveness of it?

    Google

    1. Re:One Word by Dr.Opveter · · Score: 1

      Google is quite easy to use indeed, but i was actually kind of disappointed with Gmail when i finally got to use it a bit the other day.

      I was trying to delete the email i had opened and i found the move to trash dropdown list thingie a lot less intuitive than a straightforward delete button (or just a clickable word 'delete').

      --
      Sample this!
    2. Re:One Word by brilinux · · Score: 4, Insightful

      GMail does not like you to delete mail; it wants you to archive it - that is the reason that deletion is not how it "should" be.

      But, as far as UIs go, I believe that all of the flame wars and discussions that happen because of this are for one reason - no UI will appeal to everyone. Some like GNOME because it is simpler and there is less configuration; some like KDE because it is extremely customizable; some like OSX because it is beautiful; some like Windows because it is simple and direct; I like fluxbox because it stays out of the way and does not interfere with what I do. I do not think that any UI will ever become "the best", because no one will ever agree on what is "the best". Use what you like, design things so that the highest fraction of the people who use it like it. But there is no perfect solution.

    3. Re:One Word by 4of12 · · Score: 2, Interesting

      Right on many counts.

      Anyone trying design a user interface will probably come to the conclusion that no interface will suffice and that the fundamental problem is that the users themselves are inconsistent.

      If you start from low expectations on that count, then count as a success anytime you get a user that does not complain about the UI you present to them.

      The ingredients are all easy to say and hard to do. Make the interface intuitive, simple at the beginning, with a smooth monotonic learning curve, with the tasks that need to be done most easy to learn to do and, once learned, easy to do on a routine basis.

      It's funny, though, the "File" "Edit" "View" labels on many applications are little more than abstract place holders for things I know I want to do from previous trial and error. They might as well be labeled "Category 1", "Category 2", etc.

      --
      "Provided by the management for your protection."
    4. Re:One Word by b-baggins · · Score: 2, Insightful
      GMail does not like you to delete mail; it wants you to archive it

      And is therefore bad UI. A UI is not about forcing the users to do what you want, but making it easy for the user to do what they want.

      --
      You can tell a great deal about the character of a man by observing those who hate him.
    5. Re:One Word by alan_dershowitz · · Score: 1

      This is one thing I have really particularly liked about the macintosh. You can put things like "exit" on the menu item that's the name of the application, rather than in the nonsensical typical manner on Windows, putting exit under "file".

    6. Re:One Word by El_Servas · · Score: 1

      That's why is still in beta... :)

      If the application serves a specific purpose, then it should make easy for the user to use for *that* purpose.
      Other 'features' may be available, but not as intuitive or easy to use as the main ones...

    7. Re:One Word by Anonymous Coward · · Score: 0

      Very nice, subtle troll. You blew your cover with that Windows is simple and direct line, though.

    8. Re:One Word by cpt+kangarooski · · Score: 1

      Except that you shouldn't say 'exit,' you should say 'quit.'

      --
      -- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
    9. Re:One Word by SewersOfRivendell · · Score: 1
      some like Windows because it is simple and direct

      My ass. Ever used Windows? Let's not bend over backwards to be nice to someone who isn't nice to us.

    10. Re:One Word by eno2001 · · Score: 1

      But... users never know what's good for them. ;P

      --
      -"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
  4. Flow... by BrookHarty · · Score: 4, Insightful

    The biggest problem I have with programs, is the way they make you hop all over to input data. If you can just go from input box to input box, flowing continously, then its a good UI design.

    Who cares about looks, I care about functionality, well, I guess I do care about looks somewhat, take proxomitron's default colors when it came out, ICK. The user interface is perfect as a program goes.

    But back to flow, nothing bothers me more than something taking away attention when you are working, pop up boxes, something that takes focus away from your work. I think this is why so many people like ratpoison, windowmaker, icewm, you can do your work without the distractions.

    ok, do I really need Internet explorer to pop up and tell me when my download is finished? When I'm in the middle of typing an email? No. Stay out of the way. Stealing focus, or making a user hop around is biggest problem in UI design IMHO.

    1. Re:Flow... by loftwyr · · Score: 1

      Absolutely, yes!

      I worked with systems for accounting, etc. and the best ones had screens that looked just like the forms people used.

      That's why the "best" accounting packages for home all have screens that look like cheques and invoices and whatever. Don't make the person figure out what to do, make it so obvious they can't screw up.

      Do that and make it easy to change fields and you'll have the best designed UI in the field.

    2. Re:Flow... by theblueprint · · Score: 5, Insightful

      I agree wholeheartedly. Another thing to keep in mind is how you require users to enter data. My job has a proprietary database, and I can't select certain fields without clicking them with the mouse. I can't tab over and (arrow+down) through the choices on the lists. It's endlessly irritating to have the ability to type somewhat quickly, and continously have to remove your hands from the keyboard, grab the mouse, point, click down, click down, select. Frankly, it takes me right out of the "groove" I get myself in. So yes, the "flow" of the UI is most important.

      --
      "from the bricks to the booth...I predict the future like Cleo the psychic..."
    3. Re:Flow... by Anonymous Coward · · Score: 0

      > take proxomitron's default colors when it came out, ICK

      They were sort of intended as a joke. It reflected the silly and warped mind of its creator (read some of the docs to get a better idea). Even with the theme off, I certainly wouldn't call its interface perfect, however.

      The interface needs to reflect the user. Cobalt had a really nice admin interface, for example, but I despised it for managing hosts a dozen at a time.

    4. Re:Flow... by TeknoHog · · Score: 1
      But back to flow, nothing bothers me more than something taking away attention when you are working, pop up boxes, something that takes focus away from your work. I think this is why so many people like ratpoison, windowmaker, icewm, you can do your work without the distractions.

      I agree. I find it hilarious when industry experts do a usability study, and they conclude that people's workflow is being interrupted by "You've got mail" and similar annoyances. But it's more or less the same experts who designed the 'features' in the first place.

      --
      Escher was the first MC and Giger invented the HR department.
    5. Re:Flow... by zerblat · · Score: 2, Insightful

      Yes, in many cases it does make sense to mimic real-world interfaces, since they're familiar to the user and because they fit in naturally with the way users work. However, in many cases the real-world interfaces are the way they are because of constraints that don't exist in a GUI. E.g. forms are often crammed with boxes and text in order to fit everything on one piece of paper, but this layout might not be ideal for a computer program. There are a lot more things you can do with a GUI than what you can do with a static piece of paper and a pen.

      --
      Please alter my pants as fashion dictates.
    6. Re:Flow... by Ender_Stonebender · · Score: 0

      Damn right!!!

      I usually avoid this, but: MOD PARENT UP!

      --
      Loose things are easy to lose. You're getting your hair cut. They're going there to see their aunt.
    7. Re:Flow... by peragrin · · Score: 1

      Then you would love the POS software we use. It's all Dos based. Remember DosShell, no mouse is nessacary.

      You have specific fields to fill out in order.

      Customer name
      Item, quanity, price is done with item,based on a matrix that relates to Customer.

      press F2 to bill, select method of payment and your done. Hands never leave the keyboard and I have only found two not really nessacary key strokes overall.

      Sometimes the best interface is the simplist one.

      --
      i thought once I was found, but it was only a dream.
    8. Re:Flow... by swg101 · · Score: 1

      I tend to agree with you. Often, just copying a paper form means that you are not taking advantage of the computer.

      As an example, I was using some software to fill out an application, and after starting with the basic information (Name, address, birthdate, gender, etc.) I was surprised when a little later it asked "Are you a male born after 1954?" (or something like that). The program should already have all the information needed to answer that question, don't make me answer it again!

      So, yes, do look at paper forms for guide, but remember that the computer is a different tool, and take advantage of it.

      --
      Like pi? Try 10,000 digits.
    9. Re:Flow... by jgrahn · · Score: 1

      The biggest problem I have with programs, is the way they make you hop all over to input data. If you can just go from input box to input box, flowing continously, then its a good UI design.
      The biggest problem I have with data entry programs is that they force me to use them. The biggest usability gain I ever got was when I threw out a form-based GUI and let the application accept (after syntax checking) text files. Text files; these I can create by filling in templates in my favorite text editor, generate from scripts, or whatever.
      Your mileage may vary, of course.

    10. Re:Flow... by ottothecow · · Score: 1
      Then you would love the POS software we use.

      acronym has always bothered me. I wonder if a company has ever tried to change it so that they could markit as "You want an XYX not a POS"

      --
      Bottles.
    11. Re:Flow... by Anonymous Coward · · Score: 0

      I can agree with this. About a year ago my wife asked me with a straight face "What is a POS?" - I just about fell off my chair thinking "Piece of shit" but she told me the context of it. Now, every time I see "POS" - thats exactly what I think and I'll read it outloud just like that.

  5. vim by dasunt · · Score: 4, Insightful

    Vim.

    No, don't laugh.

    Its base set of commands is simple enough, and its effective.

    For example, take 'd'. 'd' is for delete. 'dw' deletes a word, 'dd' deletes a line, 'd$' deletes until the end of a line.

    'y' is copy. 'yw' copies a word, 'yy' copies a line, and 'y$' copies until the end of the line.

    'c' is to change. Guess what 'cc', 'c$' and 'cw' does.

    Moreso, 2dw deletes two words, as 2yw copies two words, etc.

    Once you learn how one set of commands works, and you know another command, you probably know how that command works and how to use that command to extend the commands you currently know.

    For example, /string searches for the next occurence of 'string'. Guess what d/string and y/string does.

    Sure, vim might not be the easiest UI to learn, but I seperate 'ease of learning' from 'ease of use'.

    Just my $.02

    PS: This post composed in vim. (Its my default editor for w3m)

    1. Re:vim by webhat · · Score: 1


      I didn't laugh, I actually thought of vim too.

      I also think that any UIs which implement the default windows keyboard shortcuts are good, obviously where they aren't already implemented by the OS.

      -N for new, and -Y or -Z for error correction are really handy. They just need to catch me pushing and :wq - and ignore it - then I'd be completely happy.

      --
      'I am become Shiva, destroyer of worlds'
    2. Re:vim by webhat · · Score: 1

      That should have been and ...

      should have used preview

      grmbl

      --
      'I am become Shiva, destroyer of worlds'
    3. Re:vim by orasio · · Score: 1

      Well, vim is modal. That means it's a pain to learn to use effectively. If that modality accomplished anything useful, it would be ok, but I don't think it does.
      It's ok as a lightweight editor, but not ok for the eighties or later, from a usability point of view.
      Pico, nano, wordstar, joe, all of them are much easier to use, arrows to move, Delete to delete.
      Plus, they work similarly to the command line.
      Direct manipulation is the way to go. Command based editing was cool, and is nice for some tasks, but it's not a good interface.

    4. Re:vim by b-baggins · · Score: 1

      Non-intuitive. You're just accustomed to it. Here's the intuitive way, the way most people think:

      d - delete
      dw - delete word
      dl - delete line
      c - copy
      cw- copy word ...

      etc.

      etc. If you're going to use abbreviations, follow the conventions and rules for abbreviations as used in English, not some programmer-ese that makes sense to no one in the real world.

      --
      You can tell a great deal about the character of a man by observing those who hate him.
    5. Re:vim by 91degrees · · Score: 1

      Multi function buttons are not intuitive.

      I press d. I expect a d to come up on the screen. I press it again. I expect the same thing to happen. It should not depend on what happened previously. People don't think in terms of branched trees.

    6. Re:vim by Blakey+Rat · · Score: 3, Insightful

      Insightful? What are the moderators smoking today, and where can I get some? Or maybe they've never actually tried to use VI.

      Here's a tip: If, when people accidentally enter your editor, most of them choose to force-close the terminal session because there's no apparent way to exit the program, then your UI is a piece of shit no matter how many bearded Unix geeks rave about it.

      I literally avoid using crontab on the commandline on my Macintosh, because I *know* that VI will come up, and I *know* that there's no way to close it without doing a half-hour of research. My time is more valuable to me than your half-assed "cc$24c" command.

    7. Re:vim by MrResistor · · Score: 1

      Vim uses arrows, delete key, etc.

      If they don't work for you, the fault is with your terminal, not vim. Or, you're not using vim.

      --
      Under capitalism man exploits man. Under communism it's the other way around.
    8. Re:vim by papaver1 · · Score: 1

      OH please, don't whine about not knowing how to use a baddass and very powerful editor. juut because you are a lazy ass and don't want to figure out how to quit. and if it took you that lonf to figure it out you don't seem to bright. it would take less than a minute to google vim for cmd and figure it out. And pls don't compare vim to pico, an absolute piece of shit.

    9. Re:vim by St.+Arbirix · · Score: 1

      I really like vim. You sacrifice a shallow learning curve for some a really efficient UI.

      multiply 10x to get...

      Blender. As far as I can tell the UI uses the same philosophy as vim, but it's a 3D modelling program with several times as many features. Blender scares me.

      --
      Direct away from face when opening.
    10. Re:vim by swdunlop · · Score: 1

      vi users do, and despite hopping rather constantly between vi and modeless editors that follow the de facto screen editor standards used by MacOS and Windows, I find I can manipulate text faster and with more precision using these decision trees than I can using a mouse and the more rudimentary commands provided.

      Does vi have an obnoxious learning curve? Yes. Is vi inefficient, once you have mastered it? No.

    11. Re:vim by 91degrees · · Score: 1

      But that's not intuitive. It may be efficient, but that's another matter entirely.

      To be intuitive, there should be little or no learning curve.

    12. Re:vim by 91degrees · · Score: 1
      Comparing vim with pico:

      Pico offers:
      • immediately obvious basic user interface
      • basic editing
      • Ctrl-key combination for commands
      • A save option on quit
      • On screen help
      vi offers:
      • An allegedly "powerful" editor for people who get off on being able to edit files.
        • If I want to edit source code, I'll use a proper editor which not only has all the flexibility of vi, but has the learning curve of pico. If I want to edit a text file in a terminal environment, I'll use pico. It does what I want.
    13. Re:vim by swdunlop · · Score: 1

      I can infer that, if yl 'yanks' a line, and yw yanks a word, and dl deletes a line, that dw deletes a word. Intuitive enough for me.

    14. Re:vim by lachlan76 · · Score: 1

      So it has a fairly steep learning curve...but once you know it well, it is a *very* good user interface.

      Run 'vimtutor'.

      And you want :q!

    15. Re:vim by lachlan76 · · Score: 1

      It's ok as a lightweight editor, but not ok for the eighties or later, from a usability point of view

      I've always found Vim to be much easier to use than a nano-like test editor. I just wish GTK would make a text-box that uses the vim controls.

    16. Re:vim by uglyduckling · · Score: 1
      To save you time on research, enter

      :q!

      Not obvious, I hate VI, but if you remember that then at least you can quit and find something better.

    17. Re:vim by uglyduckling · · Score: 1
      The problem is: intuitive UIs are quick to learn and get something done, but they don't get much quicker after that. Take a simple example: it's intuitive to click the italic-I button in a wordprocessor to start writing in italic, but if you're writing an essay with lots of latin words it's really not efficient to have to keep clicking that button. Then someone tells you that you can turn on italic with CTRL-I and your typing speeds up dramatically.

      I often end up navigating Word and its clones using menu shortcut keys, learning that ALT-ABC gives me the particular formatting function that I want. It would be much better if the software had sensible shortcuts in the first place, or some sort of mode system that brought common tasks to keyboard shortcuts - just like the function key overlays from the DOS days.

    18. Re:vim by orasio · · Score: 1

      Of course, once you learn to use vim, it's easy. My point was that getting there s too painful.
      I have only driven with a stick, and I don't like automatic cars, but that doesn't make the interface any better, the "stick" interface may be more powerful, but it's too much of a pain to learn, for most people. Of course, once you learn, you probably don't want to drive automatic, because of 1 - the power that the more difficult interface gives you and 2 - the time you invested in it.

    19. Re:vim by lachlan76 · · Score: 1

      It takes roughly 30 minutes to learn the basics, so it in't that hard to learn.

    20. Re:vim by matthewp · · Score: 1

      Blakey Rat wrote: I literally avoid using crontab on the commandline on my Macintosh, because I *know* that VI will come up, and I *know* that there's no way to close it without doing a half-hour of research. My time is more valuable to me than your half-assed "cc$24c" command.

      Then set EDITOR to something you like. :)

      However, there's a distinction between interfaces that are easy to *learn* and those that make for efficient work once learned. For something you only do once in a blue moon you want the former, but an everyday tool is worth some investment of time if it saves you in the long run.

      If you're venturing into the Terminal, chances are you use an editor for more than just crontab. In that case, half an hour learning the basics of vi won't hurt, even if you end up deciding you don't like it.

    21. Re:vim by orasio · · Score: 1

      Well, I like talking about interfaces.....

      1 - 30 minutes is a lot of time for a text editor, now, in 2005, when people already know how to use lots of other editors that work the same among them.

      2 - It takes 30 minutes to learn how you are supposed to use it. It takes much longer to stop making mode errors, and understanding the "command based" interface. It's very easy for people that know the commands, but are not accustomed to vim, to insert text when trying to insert commands, or the other way around.
      Of course, I learned to do it, I only use it in an old AIX system, and I use "less", that shares the navigation system, but I make that kind of errors, even though I catch them right away. I don't make that kind of errors in MSWin Notepad, or Wordpad, that I use even less often than vim.
      I understand you _can_ be an efective and happy vim user, but I still think that it would take a lot of work, and that it's pointless.

    22. Re:vim by lachlan76 · · Score: 1
      It depends...I'm 15, I've been using it for a few years. Maybe if you get into it earlier it is easier...

      I understand you _can_ be an efective and happy vim user, but I still think that it would take a lot of work, and that it's pointless.

      It depends...I use Vim every day, and it saves me huge amounts of time, even if just because the commands are second nature.

      I've used notepad, vi, vim, nano, and emacs, and I find vim to be the easiest. Once you've learned the basic commands, it all seems to fit together.

      Move right: right
      Move right two places: two right
      Delete a character to the left: d left
      Change 3 characters to the left: 3c left
      What's important isn't the learning curve, it's that once you know it, it is an easy and consistant interface.
    23. Re:vim by orasio · · Score: 1

      Well, I use to think like you, when I was 15 myself ;)
      I liked Edlin at that time.
      I used the Turbo Pascal 4 editor, and it has the same interface that wordstar has, and the same that joe (the editor I use now) has now. I had to use lots of editors, because not all my work has been unix-based. I can use vim, effectively, but my performance with vim does not compare with my performance with joe, or with any editor I use, for example, the textbox where I am editing this right now. The idea of a modeless editor, like emacs, or joe, or Gedit, or oowriter, or this textbox, is a natural one. Command based editing might seem 133t, but direct manipulation is everywhere, and you need to use it everywhere.
      In any case, there is a world outside of vim, and it's modeless.
      Vim editing is hard, because you need to use different skills that the ones needed outside of vim. For example, when typing something in a newsgroup, looking for help, or helping someone, you need to edit your post in your news program with some set of skills, while browsing and/or editing your config files in vim with a different set of skills. That _is_ hard. Of course, you can do it effectively, but that's just wasted time. Vim doesn't give you anything that for example joe or jpico doesn't give you, and joe lets you use the text editing skills you need everywhere.
      You are not faster with vim than with joe, because text editing speed is not bound by the interface overhead, at least with joe.
      Of course, vim is good because it is everywhere, and that's why it's necessary to know how to use it, but it's just self-inflicted pain, that you don't need to suffer.Take that as an advice from a former happy edlin user.

    24. Re:vim by lachlan76 · · Score: 1

      Actually, interface overhead can be an important factor, at least when writing code. Vim lets me delete a line, delete a word, delete two lines, change a word, etc. etc. without needing to click a menu, or use some weird key combination, or start X. It may not make things faster by a huge amount, but to me it's enough to matter. When I was setting up Gentoo for someone else, i was stuck with nano. It just didn't seem to work for me...I needed to do everythin manually.

      It's fairly instinctive, to the point that when I open up notpad at school I have to edit out all the commands that I've typed in by mistake.

  6. Good Gui? by Chapium · · Score: 2, Insightful

    Simple, but not restricting. Allow me to pull out the complexity if i need to. However, dont bog me down with 100 steps. (

  7. Intuitive Interface by dmayle · · Score: 4, Informative

    Whatever you end up reading, I suggest you get some real users to sit down in front of it and test it. You need to be sure that the end user understands what you mean by what you say.

    For instance, in this posting, your use of OS for Open Source instead of OSS for Open Source Software was mildly confusing because in the specialized world that is IT, OS, by convention, usually refers to Operating System. If you'd sat down and tested with a focus group, you might not have made this error ;)

    Seriously, though, you'll get the best UI you can design if you just sit down with the end users and let them show you what makes sense for them...

    1. Re:Intuitive Interface by Blakey+Rat · · Score: 2, Informative

      Great example about the OS thing. Seriously!

      What a lot of people miss is that usability is a constant process, from the smallest thing (do I use OS or OSS in the manual?) to the most wide-ranging decisions (do I make the program document-based, or database-based?)

      In any case, you probably already learned the process to create a good GUI in college and have either forgotten it, or simply don't want to do the work. It's like this:

      1) Identify your users. Your program might be for CPAs, or it might be for Homer Simpson. Find a few people to represent your group of users. (This doesn't have to be formal. It could be people who work in the same office as you, for instance, or close relatives... as long as they fit in the group, they're fine.)

      2) Prototype your application on paper, cardboard, or something else cheap and easy. (Overhead slides, perhaps.) Show this to the user, ask them what they think of it.

      3) Prototype your application on something interactive. (Cheap GUI-builder software like RealBasic, Hypercard, Macromedia Director/Flash, maybe even Powerpoint or Access... almost anything that allows you to create a basic GUI will work.) In this prototype, include sample data with simplified rules so that the user can experiment with it for awhile. It doesn't need to be fully functioning in any way. Ask them what they think of it.

      4) Begin on your final application, implementing the GUI that is the result of the studies in steps 2 and 3. If you make any major changes to the GUI in the process of coding it, run that by your users in the same ways you did before.

      5) After release, have a very open feedback mechanism so that your end-users can report what they like, and what they hate, to you. This can be a bugtracker (please make it more friendly than OpenOffice or Firefox's!), a web forum, or just an email address. Put a link to it in the Help menu.

      I'm missing a step zero here, *read the GUI guidelines for the platform you are targetting*. If you're making a MacOS application, read Apple's GUI guidelines (yes, even the ones that contradict the other ones ;) If you're making a Windows application, read Microsoft's GUI guidelines. If you're making a Linux application-- well, Linux doesn't have any, which is why most Linux applications suck ass, but try using the ones that the Gnome of KDE window managers use.

      Good luck.

  8. Two great resources by nicke999 · · Score: 4, Informative
    Joel Spolsky's "User Interface Design for Programmers" is a great resource. Recommended highly.

    Also try usability guru Jakob Nielsen's site Useit. Although mostly focused on web design it s a good read for anyone designing interfaces.

    --
    Thanks for browsing at -1
    Please vistit my blog: www.framtiden.nu
    1. Re:Two great resources by Ryosen · · Score: 1

      Jakob Nielsen's site was wonderful back in 1994 when it was relevant. Looking at it now makes my eyes water. Any website that makes me push my chair back four feet from my desk just so I can get a single sentence into my visual frame at once is not to be considered an authority in my book. It's very difficult to follow the design advice of someone who doesn't follow it themself. It's time that Nielsen learned a few things about layout, color scheme's, and presentation. Like most critics, he (self-admittedly) lacks the talent to create, so he complains instead.

      I'm sure you're a wonderful person, nicke999, but in my personal experience, anyone that I have ever met that recommended Nielsen's site was either inexperienced or trying to be elitest.

      --

      Ryosen
      One man's "Troll, +1" is another man's "Insightful, +1".
    2. Re:Two great resources by tigersha · · Score: 1

      This book is great. And it greatest thing is that it tell you how the users are and that you bloody better deal with it. According to Spolsky they are simple:

      a) They don't read. Anything
      b) The don't know how to use a mouse.
      c) You better deal with it

      And he is right.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  9. intuitionalism and functionality by dimsm · · Score: 2, Interesting

    Make a program that even one dummy could use and only dummies will use it!
    It is not easy to create a software that is fully functional and intuitive at the same time. If you are searching for ERP, my bet is Navision. [currently Microsoft Business Solutions - Navision]

    1. Re:intuitionalism and functionality by llefler · · Score: 1

      Oh yea, Axapta (Navision) is a joy of usability. If you strive for mediocrity.

      Besides, he doesn't appear to be looking for software, he's looking for GUI design best practices.

      And while Axapta may make "you sit up and stare in amazement", it will morely that likely be from the shear stupidity of the interface.

      --
      It is amazing what you can accomplish if you do not care who gets the credit. -- Harry Truman
  10. Eclipe IDE by pmuellr · · Score: 1

    'nuff said

    1. Re:Eclipe IDE by EnglishTim · · Score: 2, Funny

      You have to be fucking kidding me.

      It's a file editor. With no 'open file' menu option !

    2. Re:Eclipe IDE by nb+caffeine · · Score: 1

      That has always driven me nuts. Im no fan of java, and the community isnt winning me over with eclipse. Instead, i use jCreator for my java needs. You can compile a java file without having a project. Geinus! That, and the UI isnt molassas like eclipse is on my machine (which is 2+ ghz and 512 mb of ram...) fewer button to accidentally click and fast respose. I love it

      --

      "Something's wrong with you...and I hope we never do meet again." - Deftones When Girls Telephone Boys
    3. Re:Eclipe IDE by kimanaw · · Score: 2, Interesting
      Not

      I may be particularly dense, but I've concluded that Eclipse isn't the answer (otherwise, why was Penumbra developed ? (careful, thats pdf)

      • It takes way too long to start itself up
      • Add just an extra plugin or 2 and see how quickly you get lost
      • try writing a non-trivial plugin (hope you don't have carpal tunnel, you'll be typing a lot of java and xml)
      • stick it in front of a non-tech user (as the parent was developing for), and you'll get looks of amazement all right...followed by looks of anger, confusion, and anxiety

      While I appreciate IBM's contribution to FOSS, and its an OK Java IDE, morphing it into a general purpose UI for general users is probably expecting too much.

      I'd start with a set of simple web pages, and maybe upgrade to either VB, python/tkinter, or Perl/Tk (maybe wxPython if you must have that fancy chrome) only if you can't convey the functionality in some simple HTML + CSS + JavaScript.

      --
      007: "Who are you?"
      Pussy: "My name is Pussy Galore."
      007: "I must be dreaming..."
    4. Re:Eclipe IDE by Undertaker43017 · · Score: 1

      While as a developer I like Eclipse's UI, I don't think it would work well for general purpose business apps.

      IMO the best feature of Eclipse is the prespectives. From a purely development standpoint I like having all the tools I need in one tool. The fact that only UI components that are useful to the current perspective are visable is great, no "greyed out" components, that shouldn't even be there.

      Business app users typically like to compartmentalize, and while prespectives are a type of compartmentalizing, to a normal user it's still one app. The Eclipse UI would only confuse normal users, and they would never be able to find the "app" they need.

      As an example, I have users that have trouble with the "worksheet" concept in Excel, which is slightly similar to perspectives. I can't imagine these users with an app where whole sets of functionality "disappear".

      On the speed issue... I used to hear friends talk about how slow Eclipse was, which I never saw, but I never used Eclipse on Windows, always Linux or OS X. Unfortunately I am now forced to use Windows and find Eclipse to be considerably slower, than Linux or OS X, with better HW. It would seem that either the Windows VM or Windows itself is causing this slowness, very disappointing, can't wait to finish this contract. ;)

    5. Re:Eclipe IDE by tigersha · · Score: 1

      > 007: "Who are you?"
      > Pussy: "My name is Pussy Galore."
      > 007: "I must be dreaming..."

      The original script read like this:

      007: "Who are you?"
      Pussy: "Pussy"
      007: "I know, but what's your name?"

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  11. Good. by sethadam1 · · Score: 1

    Good interface: Microsoft's Anti-spyware. My mom gets it.
    Bad: Sybot Search & Destroy. I still think it's strange.

    Good interface: SmartFTP. Makes perfect sense.
    Bad interface: Filezilla. Different from the UI of every other (successful) FTP client out there.

    Good UI: Google. So good that all other search engines basically adopted their interface.

    A good UI can contain a ton of options, but doesn't crowd or confuse the user. Only the common options are immediately available. The mouse OR keys can accomplish most tasks alone. The menus are logical. The widgets are where they are supposed to be. The fonts fit the system. The images aren't crappy and dithered. The interface doesn't behave in unexpected ways (sudden resizing, etc). Users don't get frustrated (meaning, it doesn't steal control of your session.

    Most importantly, don't underestimate the power of simplicity.

    1. Re:Good. by dtfinch · · Score: 1

      Filezilla is my favorite.

    2. Re:Good. by Noksagt · · Score: 1
      Good interface: Microsoft's Anti-spyware. My mom gets it.
      Bad: Sybot Search & Destroy. I still think it's strange.
      This is a very interesting contrast: MS/GIANT makes it easy to get basic & most used tasks done, but it is a bit more difficult finding less-used features. Spybot makes basic tasks just as difficult as other tasks, but it is well-organized & you can just as easily find the less-used features.
      Good interface: SmartFTP. Makes perfect sense.
      Bad interface: Filezilla. Different from the UI of every other (successful) FTP client out there.
      OK--this one's puzzling to me. I like Filezilla a lot & suggest it to people who do need a basic interface. What makes sense about SmartFTP, with the myriad of settings? Filezilla follows basic design concepts of any FTP client: Have a boomarks/site manager, but also allow people to quickly connect to a server by having an address bar at top. Indeed, in some ways it seems stripped down & more basic than the SmartFTP interface, which I thought you were implying was a Good Thing.
    3. Re:Good. by HarpyG · · Score: 1

      KISS is all i have to say

  12. Lotus Improv by joejor · · Score: 2, Interesting
    It blew my mind.
    • Ability to manipulate data by dragging the category tiles around
    • Formulae written in a reasonable facsimile of English
    • Automatic identification of cell data collision
    • Pretty simple scripting language
    From 1992-1996, it was the only "spreadsheet" I would use. Too bad it could not migrate past Windows 3.1.
    1. Re:Lotus Improv by Blakey+Rat · · Score: 2, Informative

      Yes, but Lotus is the same company that produces Notes, about the worst GUI in existence. So don't think, "hmm, Improv is good, let's see what other Lotus programs are out there to learn from..."

    2. Re:Lotus Improv by tigersha · · Score: 1

      Improv is dealy cool, yes, but read Spolsky's book about why it failed. Its a revelation. Spolsky used to be on the Excel Team, btw. And his book is readable on his website. Go and read it.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  13. First Joel! by IdleMindUI · · Score: 2, Informative

    You should really check out Joel On Software . His articles on user interface design are right on the mark. Specifically, you might want to read his User Interface Design for Programmers book (available mostly online, free).

  14. Ableton Live by torpor · · Score: 1
    --
    ; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
  15. About Face: The Essentials of Interaction Design by Simon · · Score: 1
    About Face 2.0: The Essentials of Interaction Design is the best and most practical book I know of. Every developer can learn a lot from this book. It a lot more practical than "The Humane Interface" IMHO.

    -- Simon

  16. Some Suggestions by Omega1045 · · Score: 1
    For web design, I try to pick up ideas from sites that really know what they are doing like Amazon. Don't copy, but let their features inspire you. For an actual book on the subjust I would recommend Jakob Nielsen's Designing Web Usability. It might be a little dated but has some great design principles.

    For desktop UI, I actually open up a few MS apps and just look around for ideas. Say what you will about MS (this is /., so I am going to get nailed for this), but they usually do a pretty good job with a standardized layout. Lately I have also been inspired with Firefox and Thunderbird and have incorporated a couple of inspirations from those apps into a project I am currently working on.

    --

    Great ideas often receive violent opposition from mediocre minds. - Albert Einstein

    1. Re:Some Suggestions by LuserOnFire · · Score: 2, Interesting
      Whoa! Hold the phone on that one!
      • Go to MS Word(just about any version)
      • choose Format->Font menu
      • On the font tab, click the checkbox for "All Caps"
      • Now, click on the checkbox "Small Caps"
      Did you notice what happened? The "All Caps" checkbox disappeared! Why? Because "All Caps" and "Small Caps" are mutually exclusive! That means you should have them as radio buttons, not checkboxes! Checkboxes are for when you can have multiple options at once!

      That is poor UI design! Very inconsistant with the rest of the world.
    2. Re:Some Suggestions by snorklewacker · · Score: 1

      > Because "All Caps" and "Small Caps" are mutually exclusive! That means you should have them as radio buttons, not checkboxes!

      Radio buttons are for when you MUST select one of the options. If they were radio buttons, you would have to have a third that deselected all of them, or some kind of hierarchy with a checkbox of "use caps" and a radio button of "all caps" and "small caps". It's even more ridiculous and cumbersome than the checkbox trick. Word is chock full of UI disasters in all its dialogs. This is not one of them.

      --
      I am no longer wasting my time with slashdot
    3. Re:Some Suggestions by pretentiousPPC · · Score: 1
      Amazon is good UI??

      I always felt that Amazon was a spectacularly crowded UI, with product pages that try to put everything and including the kitchen sink in there.

      Just look at the iPod page, I believe it's still their most popular product.

      It's no less than 11 pages long, and with that Amazon doesn't even tell you what the price is if you were to buy it from them! But damn if they were able to tell you other people's prices if you were to buy it from them. Then you have to go through several layers of what other products that is like the current product your looking at or what might go well with the product, all before you get to actual description of the product your looking at, it takes me no less than three 'Page Downs' before I even get to the product description. Then you have all your user reviews, lists, 'So you would like too...'s, widgets, rating the item, recently viewed items then some advertisements, and even a suggestion box?!?. And why do I need redundant and international store links at the bottom every single page? Never the less the fact that I am logged in with a cookie with an US address.

      All this adds up to one hell of a crowded web page, where the product that you would like to look at and maybe buy gets nearly lost in. Awful, awful UI.

      --
      Artist will always make art.
    4. Re:Some Suggestions by Omega1045 · · Score: 1

      You confuse good design and good programming.

      --

      Great ideas often receive violent opposition from mediocre minds. - Albert Einstein

    5. Re:Some Suggestions by Storlek · · Score: 1

      Nonsense. There are three mutually exclusive options: small caps, all caps, and neither. Cramming these into two checkboxes is illogical.

      True, it's certainly not the worst problem MS Word has, but adding one more widget would not be cumbersome or ridiculous at all.

      --
      Bears don't normally eat things that talk and move backwards.
  17. Me too! by Twylite · · Score: 1

    I second the suggestion of "User Interface Design for Programmers". It is a brilliant book that covers most of the suggestions already made here. The book is short and very readable, and succinctly gets across the good and bad of UIs, plus how to go about testing usability effectively.

    --
    i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
  18. What makes a good UI? by hey! · · Score: 1

    Testing + observation + refinement + more testing.

    Not that I've ever had the budget to do something like that. ;-( As a result, probably most of the UI's I've designed are mediocre -- not bad, not wonderful either. With one or two exceptions maybe.

    With respect to "sitting up and taking notice"; I've been experimenting with gnutella clients as part of my quest to locate a copy of the original Hitchhiker's radio series. If you look at Sharezaa, they have a skinnable user interface with a default skin that is graphically elegant. It has nifty effects like alpha blending on dialogs that are definitely "sit up and take notice" features. However, I ended up settling on Gnucleus for my task because it was easier to use, even if it was graphically cruder. It doesn't matter because I intended to run the thing minimized anyway.

    The point is not to start a religious war between Sharezaa and Gnucleus users -- whatever works for you, works for you. Nor is it to start another rant about excessive use of chrome -- I've used up my lifetime allotment of rant time on that already. The point is "sitting up and taking notice" might not be the right metric for a good user interface.

    A good UI (like anything else that is hard to acheive) embodies tradeoffs between somewhat conflicting priorities. People who don't understand this get hung up on one property, like "it has to be intuitive". However, they really mean two things by this: it has to (a) be easy to locate functionality and figure out how to use it and (b) it has to be easy and efficient to use. These are really in essence two different requirements; the only time they are the same is when a user is just familiarizing themselves with the application. While both these priorities can be accomodated in a UI to some degree, eventually you reach a point where you have to trade one off against another.

    The same goes with innovation. We have reached the point in UI design where people come to our applications with the baggage of years of past experience. Therefore, while we could think of a better way to do things, we have to take into account the existing knowledge and skills of the user base. Again we have two conflicting requirements: to create a user interface specially suited to the tasks supported, but to exploit the existing knowledge and skills of the users. The best innovations then tend to be simple, and give users the ability to do more with their existing skills. In time, these become part of the baggage they take to future applications. Examples I've seen over the years: tabs on web pages; the three pane design for email browsing.

    There are countless other examples of conflicts: a user interface needs to be pleasing to look at, but not distracting for example.

    It doesn't help that people paying for systems usually don't have much design savvy. They tend to think of these things as ends that can be pursued independently. Managers tend to think you can strive for ultimate excellence in each area. The fact is that excellence comes from striking an exquisite balance between opposing needs.

    One of my junior kung fu brothers once asked: what makes a kung fu master? The way I would answer this is this: a master is somebody who does nothing by accident and does everything with a good purpose. If he kicks you in the leg, he wasn't aiming for your solar plexus. If he steps to 30 degrees, he wasn't reaching for 45. If there is some kind of funky nuance to the way he does a certain move, it is not an accident.

    The same can be said for masterful UI designs. If there are quirks in the design, they represent a deliberate choice that serves a real purpose.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    1. Re:What makes a good UI? by llefler · · Score: 1

      Testing + observation + refinement + more testing.

      Not that I've ever had the budget to do something like that. ;-( As a result, probably most of the UI's I've designed are mediocre -- not bad, not wonderful either. With one or two exceptions maybe.


      You might consider a different development process. If you are working with internal customers an incremental release approach works good. The sooner in the development process you can get your UI into the users' hands, the better it will be. The trick is finding users that will play with it and aren't afraid to tell you what it needs, shouldn't have, or doesn't work as expected.

      --
      It is amazing what you can accomplish if you do not care who gets the credit. -- Harry Truman
    2. Re:What makes a good UI? by hey! · · Score: 1

      Well, we shoudl just file this complaint under: "There's always time for stuff that matters."

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  19. Re:I do! by Anonymous Coward · · Score: 0

    I don't know about you making a good UI.

    I can tell you suck at programming though. =)

  20. apple by Anonymous Coward · · Score: 0
    have produced:
    • OSX
    • iTunes or even just i{AppName}
    • iPod

    but you're probably a winxp kinda guy...
  21. Get clipboard. Stand over shoulder. Watch. by dmorin · · Score: 4, Insightful
    The concept of maximizing user performance by observing how people do their job is hardly new to the computer world. Watch what people do, look for the redundant or time consuming bits, and fix those. Also watch for places where errors most commonly occur, as much time is spent in fixing errors.

    Common places to look:

    • Anywhere involving the mouse. Operations like selecting or cutting and pasting are very time consuming, and open to a huge degree of errors.
    • Anywhere involving manual communication between programs. "The cron job emails this file to me as an attachment, then I save it and import it into Excel to run this macro."
    • Anywhere that the human is acting as calculator. "I click in this field and then I type today's date."
    • Anywhere there's a handoff between humans. "I start the server, email Jim to tell him its up, and then wait for him to tell me whether there are bugs he wants fixed."
    • Manual touch points that don't need to be there at all. "I generate the newsletters, which takes like 10-20 minutes, and then when that's done I upload them to the test server."
    In short, if you are trying to improve efficiency, then your human is your weakest link and your job is to minimize your human's input into the system. Whittle down their input to the bare minimum that cannot be accomplished by the computer itself, and then do the rest for them.

    Note very importantly that this implies there is one major audience that uses your product for one primary thing. We're not talking about something like a Microsoft Word that is used generically by a universe of different people. You said you have to optimize productivity, which implies that you have some control over hacking away at features that do not impact productivity.

  22. For weird genius by MrHanky · · Score: 1

    I nominate LyX. It's not that different from the WYSIWYTYMG interface of Word, WP, OO Writer etc., but the differences stand out and makes you notice them and learn why they are there. And the main difference is forced consistency, normally a good thing when writing documents.

    It does need to upgrade its look, though.

  23. Check out "GUI Bloopers" by t482 · · Score: 2, Funny

    Quite a good book on what not to do. Kind of like a checklist of mistakes to avoid.

    Gui Bloopers. Also I dislike Swing - but the Java Look and feel design guidelines are ok. Apple, and gnome have similar documents.

  24. As expected by Johnny+Mnemonic · · Score: 1


    A good interface is one that works as you expect it to: it defaults to things that you wish it defaulted to; it suggests you're making an error only when you're actually making one; and it keeps the easy things simple while also scaling gracefully for more complexity.

    Unfortunately, the first line is key: it must work as expected. What you expect of it as a developer is different than what you users will expect of it; and even different users will expect different behavior depending on their own computing background, and how they relate computer use in general to the physical world. Don't laugh: everyone, even experienced users, think of their data as discrete files with words, not as 1s and 0s that are scattered throughout a few platters of HD. That is, we all operate the computer depending on some abstraction from it's electrical reality.

    Your goal, then, would be to survey your users--not hypothetical ones, but real users that this app will be designed for--to learn how most of them expect certain behaviors to behave. IE: when you close the window, does the quit the application? does tab or return change fields?

    I offer that doing this correctly is hard: most users don't think about their computer use any more than they think about the act of typing. But you have an advantage in that you'll be developing an application for a closed market, so you can identify the expectations of the users, rather than trying to anticipate the expectations of the world wide market of anonymous consumers.

    --

    --
    $tar -xvf .sig.tar
  25. Thats easy by T-Ranger · · Score: 2, Funny

    Something that doesnt have animated paperclips or dogs.

    1. Re:Thats easy by fred+fleenblat · · Score: 1
      But a dogcow is okay!

      Moof!

  26. Developers Are Not Good Judges of Their Own UI's by MarkedMan · · Score: 4, Insightful

    ... This is not meant as a slight to developers. Those who are intimately aware of how every detail of the program works cannot shift perspective and see it from the point of view of someone who neither knows nor cares about the inner workings. I've spent 15 years designing systems to be used in a manufacturing environment. Saying that any problems are due to lack of user training is a cop-out, one that will kill follow-on business. Industry has the operators they have and are not going to start hiring special people and paying them more to run my systems. It's just reality.

    I'll give what I think are the biggest UI traps:

    1) UI's that expose all the capabilities of a system. This is not good UI design, in fact it is lazy UI design. What you need to do is understand how your users are going to do with your system, and present them with as few choices as possible. Example: If you have a screen for looking up Customer records, and further allow it to be customized to show various fields, and further allow it to check or uncheck any field, you can end up with a screen that does not show the Customer ID (because it was accidently turned off). From the developers point of view you are adding functionality. From a user's point of view there is now a way to accidently render the screen useless, or at least annoying.

    2. Beware of allowing users to customize (Wow - there goes my Karma...) Customization is fine for stuff you play with, but in a professional environment it is much more important to have consistency. It is important that people can walk away from something for a week or a month, and come back and get to work right away. It is important that telephone support can make assumptions about what the user is seeing. Floating toolbars, menu items that come and go with frequency of use, frames that can be moved from top to bottom, all of these make it difficult both for telephone support and for people who are "backups" i.e. they were trained once and only use the system every so often.

    3. Don't be afraid of busy screens (Damn - there goes the rest of my Karma) Professionals get used to the layout and appreciate having all the information right at hand. (This makes number 2 - consistency - especially important). So err on the side of putting as much useful information as will fit. And prune mercilously anything that isn't useful or required. Don't you hate it when you go to a bank or an airline check-in counter and see the attendent typing endlessly, screen flipping, all at the speed of light, but... why exactly do they need all that commotion?

    4. Keyboard shortcuts, labeled and encouraged. The mouse is great for a lot of things, but speed is not one of them.

    5. Remember your audience. Are they people who sit in front of the screen all day, using your application as their primary function, or are they several times a day users who simply need it to perform a vital function but just want it to work and go away? Even if it is the former, what about their backup's or the third shift people? In any case, present what they need immediately and clearly and leave off the fluff and BS.

    6. Most important. Remember that your application is not what the people do. It is a tool that helps (or hinders) them in doing what they do. A tool should not be their primary focus. The task is their primary focus. Whether a carpenter or developer, any time spent fiddling with a tool simply means less time to spend actually doing the task.

  27. You wouldn't notice... by ebbe11 · · Score: 3, Insightful
    Has anyone seen an application that has a UI that made you sit up and stare in amazement at the simplicity and effectiveness of it?

    No, and neither will you. The sign of a real good user interface is that you don't notice it, you just use it.

    The problem is that it takes a lot of very hard work to get that far and most application developers (Open source as well as commercial) don't bother and/or lack the skills to do it.

    --

    My opinion? See above.
    1. Re:You wouldn't notice... by Anonymous Coward · · Score: 0

      Actually... I think Wordpad is about as close as you can get to that. It does what you need it to do and nothing more. You can write papers in it. It's about as simple as a pencil really... I think it's about the most perfect program Microsoft has ever written..

  28. By definition: No by bluGill · · Score: 3, Interesting

    A good UI is one that does not cause to you sit up and take notice at all. A good UI is one that lets you sit back and get your work done, without making/allowing mistakes, without making you do anything repetitive, allows fast work, and all this without getting in your way.

    Now creating this interface is often difficult. It is worse because sometimes the best UI for novices is different from the best one for experts. A novice needs a easy to learn interface, while the expert already knows it and just wants something that gets the work done fast.

    Example: An accountant needs more power from from an accounting package than the average Joe. (yet the average Joe needs to send everything to an accountant once in a while!) "Joe" doesn't know how double entry bookkeeping works, and shouldn't have to learn. The accountant needs to know and use it.

    1. Re:By definition: No by jbarr · · Score: 1

      You make an interesting point!

      Way back in the '80's, a company called Berkely Softworks (Later GeoWorks) created a GUI for the Commodore 64 called GEOS (Graphical Environment Operating System) and later, a version for Intel desktop systems, and the long-forgotten Casio "Zoomer" PDA.

      What made GEOS truely novel was that it was scalable with different "user levels" that you could assign. The company all but died, but the concept was quite intriguing. Select the "Basic" level, and everything about the GUI was "dumbed down" or "scaled back" to make the experience inviting for a novice user. Applications were full-screen, single-task, no windows, had large buttons, limited menu selections, etc. For example, launch the "Write" (word processor) app, and you were presented with a friendly, simple environment that was limited yet functional enough for a novice user to be productive.

      Want more features, increase the "level" to "Intermediate", and suddenly you had task switching, additional buttons, added menu functions, etc.

      Change to "Advanced" and you had full multi-tasking, Motif-style GUI with resizable windows, toolbars, extended functions, etc.

      It was pretty slick, and way ahead of its time.

      The only major problem with this model was that it was up to the developer to decide on what functionality was included in each "level", so we're right back to the design issues. It would have been great if there was some sort of "admin policy" that could have been customized to tailor the functionality from level to level. Also, if I recall correctly, I think the "level" was selected on a system-wide basis, not app-to-app.

      An environment like this would certainly appease your Accounting example.

      Oh, and I think they may have patented the idea...

      --
      My mom always said, "Jim, you're 1 in a million." Given the current population, there are 7000 of me. God help us all!
  29. Another article you might find helpful by kallisti777 · · Score: 1

    I had to write a report on this topic for a programming class last semester. This article was quite helpful... if you haven't heard the microwave analogy, then you're still thinking inside the box.

    http://www.asktog.com/basics/firstPrinciples.htm l

    --
    Vanya's Law: "In any culture without irony, fart jokes will be the highest form of humor."
    1. Re:Another article you might find helpful by sootman · · Score: 2, Interesting

      From Jef: "For example, which of the following takes less time? Heating water in a microwave for one minute and ten seconds or heating it for one minute and eleven seconds?

      "From the standpoint of the microwave, one minute and ten seconds is the obviously correct answer. From the standpoint of the user of the microwave, one minute and eleven seconds is faster. Why? Because in the first case, the user must press the one key twice, then visually locate the zero key, move the finger into place over it, and press it once. In the second case, the user just presses the same key-the one key-three times. It typically takes more than one second to acquire the zero key. Hence, the water is heated faster when it is "cooked" longer."

      I read this a few years ago and I've always disagreed with this for a couple reasons. First and foremost, I can punch in '1-1-0-start' just about as fast as I can punch in '1-1-1-start.' It certainly doesn't take one whole second longer. (Most people can comfortably enter a memorized 7-digit phone number in less than 2 seconds. Try it yourself.) So the argument is wrong to begin with. Furthermore, even if it were right, it would only be right in that one case--at 2:22, or 3:33, or 4:44, even the lamest 1-button-per-second microwave button poker would start to notice a net loss. So when used as a general rule, it fails again.

      Secondly, most people have a natural understanding of 1 minute and ten seconds. It's what they want, so it takes almost no mental effort to plug in '1-1-0' when you're thinking "a minute ten." It would probably take most people longer to think "OK, I want to cook this for a minute and ten seconds, but is there a clever way I can save a bit of finger movement?"* Until you learn the trick and get into the habbit of using it, it won't save you much. I used microwaves for over a decade and always entered the exact time I wanted without much thought.

      My wife got me into the habbit of rounding up to the next closest duplicate number--i.e., 33 seconds instead of 30. I admit I do use it, but mostly for yet another reason--because speed is not important. Rarely do I stand by the door waiting for the instant my food is ready. I press a couple buttons, start getting my milk or whatever else I'm having, hear the food beep, and take it out whenever I get around to it. So, ironically, when I use the Jef method of time-saving, it's when I am not looking to save time.

      Thirdly, if you want to be really clever, a minute and ten seconds could be more simply expressed as 70 seconds. OMFG Jef that's one whole less digit!!!11 (Of course, that only works up to 99 seconds.)

      * and that is, in fact, the whole point of why Jef used this example--to make the computer do the thinking, not the user. His point is good but his example is bad. But overall, there's lots of good info all over his site. His site and Joel's (joelonsoftware.com) are two of the best.

      --
      Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
    2. Re:Another article you might find helpful by belroth · · Score: 1
      And in my case it's definitely quicker to punch in one minute ten seconds than one minute eleven.
      Why? My microwave has seperate buttons for ten minutes, 1 minutes, ten seconds and one seconds. So one-ten is three kepresses where one-eleven would be four (I have to press Start too).
      There's a shortcut too, if I only press Start it cooks on full power for one minute - so the quickest way to get something cooked for one minute ten seconds is to press Start twice and open the door when the clock says 50 seconds remaining.

      What's my point? The analogy (like most) falls over quickly because not every microwave has the same interface. My mother-in-law has a microwave with a rotary digital control. Nielsen summed this up well in his criticism of the Quicktime player with it's pointless mimicking of a physical device.

      --
      I hereby inform you that I have NOT been required to provide any decryption keys.
    3. Re:Another article you might find helpful by Scott7477 · · Score: 1

      Very interesting comments..thanks. A really bad example of UI design IMO is Cisco VOIP phones. At a former job our company switched to these, and it turned out that to perform a speed dial you had to press almost as many buttons as simply dialing the number yourself. I don't know if this was a SNAFU on the part of our IT staff but it seemed to me that this was the out of the box functionality.

      --
      "Lack of technical competence coupled with the arrogance of power, as usual, leads to no good end."
    4. Re:Another article you might find helpful by roju · · Score: 1

      I don't know about that. My microwave has all the normal buttons, as well as an "instant minute" button. Basically I just jam it enough times to cook the food, and if I think it's too long, I stop it early. Much less effort.

    5. Re:Another article you might find helpful by Uncle+Jimmy · · Score: 1

      I do the exact same thing, 33 (instead of 30), 44 (instead of 45) etc. And I specifically made sure the microwave I got had numbers, not those stupid 10 min/1 min/10 sec/1 sec buttons you see on some.

    6. Re:Another article you might find helpful by paulymer5 · · Score: 1

      My microwave, oddly enough, would truncate 70 seconds to one minute.

      Where is my extended input support, Westinghouse?

  30. Intuitive Interfaces by joshf · · Score: 0

    I have heard others say that: The only truely intuitive interface for us humans is the nipple.

  31. Any good book on forms design by davecb · · Score: 1
    There was a ton of work done on the designe of paper UIs in the last century: my local library has three or four.

    Almost everything applies to sceens, too.

    --dave

    --
    davecb@spamcop.net
  32. My 2 cents by RogerWilco · · Score: 1

    In my limited experience userfriendliness is about presenting the UI that the user expects. what this boils down to:
    - Same look-n-feel as the OS.
    - Multiple ways of doing the same thing. (menu, right-click context, shortcut keys, CLI)
    - Lot's of help and documentation, and easy access to it. Pressing F1 should always result in relevant help. But a help button should be there too, hovering should give a short description, and preferably wizards should be available for most tasks.
    - Consistence in and between different parts of your application(s). For example OK/Cancel should be in the same order everywhere. Tab-order of buttons should be logical.
    - Correct analogies to "real world" examples. When creating a tool for electrical-engineers, know what tools they use and how they look.
    - Don't give the user to much choices at the same time, split into multiple windows if choices get above 3-6 works for me.
    - Don't bother users with stuff that can be automated.
    - Minimize the amount of work a user has to do to accomplish something.
    - Allow the user to configure settings, but provide sane defaults.

    In short:
    Just read the different UI guides that are around, and rigoriously adhere to them. Next to that try to use good methaphores and try to make life easy for your user.

    - Next to that I find that pretty pictures can make your application be percieved as "more professional", but "pretty" is somewhat subjective. People think of themselves a professional and want their software to give them that impression.

    --
    RogerWilco the Adventurous Janitor
    1. Re:My 2 cents by ctr2sprt · · Score: 3, Insightful
      Multiple ways of doing the same thing. (menu, right-click context, shortcut keys, CLI)
      But be careful not to overwhelm the user. Basically, make it so that the first thing they try works and then they never even realize there are other options. The worst programs are the ones which sometimes want you to use the menu bar, sometimes use a popup menu, etc.
      Don't give the user to much choices at the same time, split into multiple windows if choices get above 3-6 works for me.
      The key here is prioritization and logical grouping of choices. The most commonly-accessed options should all be in the same place on the first page. But don't just bury less-used options either, or nobody will know where to find them when they're needed. So after the first layer or two of "common options," try to group stuff logically so that someone who knows what he needs can find it in five seconds at most. If you want an example of how not to build a Preferences dialog, check out Newsleecher.

      One related point is how to ask users for data. The wizard approach is good for users who don't always know what they want. It provides a simple way to extract information and make decisions on what to ask next based on previous responses. But it sucks for speed. For a specialized app, like this one, your users probably know exactly what information they need to provide. Let them provide it all at once instead of spread out over 10 dialog pages. Since your users probably won't be entering exactly the same type of data all the time, present them with a simple choice, then give them the huge forms. It's not elegant design (lots of duplicated information) but it's fast as hell. And you can always lay out the forms in the same sort of way, so five tabs takes you to the same field no matter what form you're in, etc.

      I mean, don't you hate those Web forms where you answer one or two questions per page? And the damn thing seems to go on for hours? Just give me a monster page with all the fields, I'm smart enough to know which ones are relevant and need to be filled in.

      Don't bother users with stuff that can be automated.
      But make sure it really can be automated! There's nothing more frustrating than a program which does something you don't want it to with no convenient way to stop it. The key here is to know your audience. A common pitfall for developers is to build the application they want, instead of the application the users want. This plagues the OSS world in particular, for obvious reasons.
      Allow the user to configure settings, but provide sane defaults.
      Excessive configuration is often a crutch for uncertain design principles. If you know what your app needs to do, and you know how people will be using it, then users shouldn't need to configure anything at all. Fine, let them change the sort order of tables or whatever. But if you find your users need to tweak your program extensively before they're happy with it, you've done something wrong.

      This goes back to the "lots of options" point as well. The more options you give your users, the more confused they tend to get and the harder it is for them to find the stuff they need to.

      Also note that allowing for customization adversely affects consistency. Even simple customizations can adversely affect the ability of one person to use another's copy of the application. In a place where there are more people than computers that's a serious problem. It's also a problem if you want to offer technical support, training, etc. In a way, let MacOS be your guide: "I don't care if it's the best way, but it's the way you're going to do it." And if you're designing an app which builds, at least to a certain extent, on other apps, you should probably choose to do things the same way the others do. That will be the way your users are used to doing things, so unless you expect to see some enormous improvement in efficiency or ease-of-use, don't rock the boat.

    2. Re:My 2 cents by llefler · · Score: 1

      - Don't bother users with stuff that can be automated.

      Some expansions:

      Don't require user responses for things that don't matter. For instance, I have an app that pops up a dialog box saying 'file saved' and requires you to hit Ok.

      Another application asks 'are you sure you want to exit', despite the fact that if you accidently exit you lose nothing. The app starts up quickly and you're right back where you were.

      --
      It is amazing what you can accomplish if you do not care who gets the credit. -- Harry Truman
  33. Isn't anyone going to answer the question? by Otter · · Score: 1
    Has anyone seen an application that has a UI that made you sit up and stare in amazement at the simplicity and effectiveness of it?

    iTunes (all of the iLife apps, actually), Excel, Jewish Calendar...

    Actually, if you're a Mac user, you're accustomed to sitting down in front of a new app and instantly grasping it. For whatever reason, the sensibility that that is important has never taken hold in the Windows world, let alone in Linux.

    The gem I encountered recently, though, is Windows/Linux: HelixTree for genetic analysis. Not trivial, but given the complexity of what it does, an incredibly intuitive UI.

    1. Re:Isn't anyone going to answer the question? by MrResistor · · Score: 1

      Similarly, though Windows only, SolidWorks is easily the most intuitive 3D CAD UI I've ever used.

      --
      Under capitalism man exploits man. Under communism it's the other way around.
    2. Re:Isn't anyone going to answer the question? by Ahnteis · · Score: 1

      Funny, every time **I** sit down with an apple product, I think "WHAT THE #@$@# WERE THEY THINKING?!" And I do it several times while using that product.

      (Not saying windows is the answer either and let's not even START on linux UI.)

  34. Experienced vs. New Users by MarkusQ · · Score: 1

    There are two distinct issues to consider, and they are often directly opposed to each other. The sorts of things you want to make it easy for first time users to grok are often the very things you need to get rid of if you want experienced users to be fast & reduce errors.

    Want raw speed and accuracy? Do it in text mode, make everything accessible from the keyboard (or even better, the twenty or so keys of the "ten-key" pad). It will take operators a while to get up to speed, but when they do even the average operators will be two to five times as fast as the very best operators of a mouse and kitchen-sink GUI. And their error rate will be much lower.

    On the other hand, be prepared to fight off attempts (every year or so, in my experience) to replace it with a "modern" interface that looks pretty even as it kills productivity.

    --MarkusQ

  35. Interfaces should be invisible. by seanellis · · Score: 1

    Has anyone seen an application that has a UI that made you sit up and stare in amazement at the simplicity and effectiveness of it?

    But that is most emphatically NOT the point. The interface I like best is the interface I don't notice. Hyperlinks are a good example - you just click on a word and you go. No wizzy effects. No colored buttons.

    If you want an interface that brings real benefits, look what you can remove, not what you can add.

  36. LOL WHAT by Anonymous Coward · · Score: 1, Interesting

    Vim isnt modal. It ahs one mode: command mode. You enter text by postfixing the 'i' command with your text and then ESC to finish the 'i' command. Simpel as tath.

  37. Check out a text book... by davecrist · · Score: 1

    I am taking a class in Software Engineering and Chapter 4.12 (Interface Design Principals) in the book is all about UI, with suggestions on consistency, choice and order of words in menu, icons, etc. It might not be the most comprehensive, but it should give you a great start.

    http://www.amazon.com/exec/obidos/tg/detail/-/0201 74225X/qid=1108739673/sr=8-1/ref=sr_8_xs_ap_i1_xgl 14/002-8239742-6614463?v=glance&s=books&n=507846
    "Project Based Software Engineering: an Object-Oriented Approach"

    General Guildlines Section:
    1. Be Consistent
    2. Provide shortcuts
    3. Offer useful, meaningful feedback
    4. Design a beginning, middle, and end for each sequence of actions
    5. prevent catestrophic mistakes
    6. Verify Deletion tasks
    7. Allow easy reversal of most action
    8. Make user focus on task, not interface
    9. Do not rely on user memory
    10. Display only currently relevant information.


    Realize that this is just how the section starts... there is a lot more in there.... You can probably check it out at a University Library.

    --Dave

  38. Configurability by tsa · · Score: 2

    A good UI should be infinitely configurable. A good example of what I think is a very bad UI is Aqua, the famous OS-X interface. It's even worse than the Windows interface. Look through how much trouble you must go to make a black background! And I'm not even talking about window behaviour etc. The Windows interface is a bit better, but the one I like best is fvwm2. It takes quite some time to figure out how the configuration file but then you can do absolutely everything.

    --

    -- Cheers!

    1. Re:Configurability by FLEB · · Score: 1

      I cite Trillian as a counterpoint, where "skinnability" has gone too far. The XML skinnability allows skin developers to completely change the UI of the program in the skin, moving, adding, and removing elements. Although I've settled on a skin now (AikonLCD), I had trouble looking through different skins, because it involved me re-learning the program after making what should have been only a minor visual change.

      I would also cite something like Winamp3 skins (or other media players, but there isn't as much of a problem with wildly modified UIs there, since the scope of the program basically only consists of "Play", "Pause", "Stop", "FF", and "Rew", and it's difficult to make an unintuitive UI for that.

      --
      Information wants to be free.
      Entertainment wants to be paid.
      You just want to be cheap.
    2. Re:Configurability by tsa · · Score: 1

      Hey, that's cool, if you say Aqua is bad you instantly get modded down 'Troll'. Apple freaks :-)

      --

      -- Cheers!

    3. Re:Configurability by Anonymous Coward · · Score: 0
      Yeah, got to watch out for saying stuff like that. It took me almost a month to get positive karma again after the last time I said anything against Macs.

      But I've decided to reform by getting a free Mac Mini.

  39. Re:Get clipboard. Stand over shoulder. Watch. by marcovje · · Score: 2, Interesting


    Agree very much. Specially point 2.

    Another one is to get rules about data documented, and keep on asking, when they say "and then I know that this record is bogus, so I ignore it"

  40. Re:Get clipboard. Stand over shoulder. Watch. by snorklewacker · · Score: 2, Interesting

    In short, if you are trying to improve efficiency, then your human is your weakest link and your job is to minimize your human's input into the system. Whittle down their input to the bare minimum that cannot be accomplished by the computer itself, and then do the rest for them.

    Spoken like a true non-user. The human is not the weakest link, the human is the one getting the job done. The machine is there to serve the user, not vice versa. If the user's needs are to have two buttons to click repeatedly, George Jetson style, throughout the day then that's the interface you need (I do a lot of manual QA stuff that's exactly like that). If the user needs a thousand knobs and dials, then you need to figure out how to organize those knobs and dials. It's not your job to tell the user to get out of the way and not worry their pretty little head while the computer works its magic.

    I can't even get the engineers here to design a George Jetson interface properly. You'd think the button that everyone pushes literally several hundred times a day would be one they could make a little bigger, right? Nope, the point of the whole app is apparently about precise aim, not productivity.

    --
    I am no longer wasting my time with slashdot
  41. One word: by Anonymous Coward · · Score: 2, Informative

    Text.

    Seriously.

  42. Macintosh Human Interface Guidelines by VolciMaster · · Score: 1
    I realize it's now dated, since it's mostly aimed at System 7 developers, but Macintosh Human Interface Guidelines (Apple Technical Library) is probably one of the best works ever done on interface design. Apple is a company that prides itself onmaking clean UI's. Whether you're a fan of their hardware and software, their interface design group is fantastic.

    I have used it as a reference many times when working on Windows programs.

    1. Re:Macintosh Human Interface Guidelines by geoffspear · · Score: 1

      Umm, yes, a printed book from 1992 is dated. But the version that was last updated 2 and a half months ago is slightly less dated.

      --
      Don't blame me; I'm never given mod points.
  43. Readline by gregRowe · · Score: 1

    Although readline has a somewhat substantial learning curve it's my favorite UI. Using bash I can honestly say is a pleasure.

    --
    There\'s no place like ~
  44. I want... by drjzzz · · Score: 1

    ...the interface from Minority Report. The protagonist (aka Tom Cruise) pointed at things on the screen and waved them to where he wanted them to go. Here's a web page describing the interface.
    Tired of "pointing and clicking"? Then move beyond GUI to a whole-body user interface WBUI (da-buoy). Some videogames already interpret users' motions (Sony?). Why can't this be adapted to more mundane tasks? Add a voice recognition function for new text or commands. How cool would that be?

    --
    to err is human, to forgive is divine, to forget is... umm...
  45. Re:Get clipboard. Stand over shoulder. Watch. by dmorin · · Score: 2, Interesting
    Spoken like a true non-user. The human is not the weakest link, the human is the one getting the job done. The machine is there to serve the user, not vice versa. If the user's needs are to have two buttons to click repeatedly, George Jetson style, throughout the day then that's the interface you need (I do a lot of manual QA stuff that's exactly like that). If the user needs a thousand knobs and dials, then you need to figure out how to organize those knobs and dials. It's not your job to tell the user to get out of the way and not worry their pretty little head while the computer works its magic.

    Oh, I wouldn't say that's true at all. I think that by eliminating the redundancies, wait periods and other spaces were error creeps in, you free up the more important resource - human expertise - to be applied the way that it should. QA is a great example. If because of all the manual effort that you have to do you can only properly QA 10 bugs a day, but by optimizing some of those areas I can get you up to 30 bugs a day, didn't I just make you better at your job? I didn't lessen the value of properly QAing the system, nor did I lessen your input into finding and fixing bugs. I just made the system more efficient for you to do it in.

    I didnt say the human is the weakest link. I said the human is the least efficient part of the system. If you need a thousand knobs and dials then I don't want to take those away from you. But if I discover that 90% of the time you're only using 3 of those knobs and the other 997 are for very rare circumstances, you can bet that I'm gonna move them to another page. Otherwise there is a portion of your time spent scanning for the right button out of a thousand, and a portion of time spent in error, which does not need to happen.

  46. UI Design by chaddb · · Score: 1

    UI are just a form of communication after all, and could be thought of in terms of protocol implementation. A mentor (of sorts) years ago in a standards working group addressing communications for support systems proposed that a comm. protocol design should consider four aspects. (1) Syntax specify symbols and their arrangement. (2) Semantics specify how symbols are interpreted. (3) Intra-message context specifies the 'rules' for using symbols within a specific message format(i.e., reg. expressions). (4) Pragmas (otherwise called "Shared Knowledge"), this is the toughest to tie a meaning to, and yet is the essence for effective communication. Basically it deals with commonality of experience. This is the point to which above the discussions point and contains the answer to the original question. This is the principle that the UI designer is designing to... . In other words, ask the potential users what they what to do!

  47. Good resource by hcdejong · · Score: 2, Informative

    Bruce Tognazzini's site.
    He founded the Apple Human Interface Group and acted as Apple's Human Interface Evangelist. He's also written two books on UI design.

  48. The Omni Group software by wanerious · · Score: 1

    I'll throw in a vote for OmniGraffle and OmniOutliner, OS X software from the Omni Group. They both nail what they are supposed to do so well. It is simply a pleasure to use either one of them. I use OmniGraffle at least once per day to draw diagrams for my classes and exams, export them to pdf, and import them to my LaTeX docs. OmniOutliner is a wonderful structured writing tool with simple text input and manipulation.

  49. Give user choice and control over software by Eravnrekaree · · Score: 2, Insightful

    I believe that a key to good UI design is allowing the extensive options and a high degree of control over the software through both a graphical user interface, and a command line interface.

    With GUI design it is important to not throw up to many options at once but provide a rich and complete set of options but place the most commonly used ones on main screens, and then put lesser used ones on "advanced" or "expert" screens. Organise and categorise options and cofiguration settings, and features and make them all easily accessible, but with most commonly used ones most prominant. Include a toolbar with commonly used features, then on the menu bar you can include the commonly used options and advanced options in "advanced" menus and submenus. This way, the average user isnt bombarded with options, but the user if they desire can set the more advanced options and features if they wish. The software should give users complete flexibility and control as possible and let them configure everything, but only if they want to. If all the user wants to do is jump right in and start doing what the software is supposed to do, they should be able to do so and the software should use reasonable defaults. The idea is to give the user the choice and freedom, if the user wants to control every aspect of the program, they should be able to do so, but if the user just wants to start using it withonly having to make a bare minimum of choices, they should also be able to do so. You can give users both. The program should be as simple or as complex as the user wants it to be, and allow the software to work the way the user wants it to work rather than enforcing limitations and restrictions on the user.

    The command line interface allows for the programs features to be more easily scripted and integrated into other programs and as well eisier remote ssh and command line access to the programs features for those who desire it. Agian, no one is forced to use it as it is an advanced feature, they can still use the GUI, but it is there if someone wants to use it.

  50. Good UI by MyLongNickName · · Score: 2, Insightful

    Here is a great rule of thumb when designing a UI: No one wants to use your stupid flipping application. Once you get past the ego trip of 'my app is in front of everybody, it must be shiny and say something cool about me', things go much better.

    The UI should get the heck out of the way and let the user do his work. Things should be intuitive. Use the right control for the right job. Be consistent between screens. Watch how your users do their job, and use your system. If there are unnecesary clicks because focus goes to one control when they really use another control, fix it!

    Sometimes, it is necessary to design a form that a five-year old cannot use. When this is true, include helps and hints (tooltips for quickies), some type of pop-up when longer help is necessary.

    Most important: Sit with your user and watch him do his job. Feedback is so important, but how you get the feedback is more important. If you solicit feedback, you will generally get a million stupid suggestions, and the important ones won't get brought up.

    Identify your power users. These are the ones who figure out how to break your app, who give you the ten ways to improve your product (and generally have good throughts -- not, "the background color should be puce"). Talk with them, thank them for their input, follow up when you have incorporated your changes, ask them if the changes were what they had in mind.

    Keep your audience in mind. For lower-skilled workers, I keep things simple and avoid complicating the process. I put a higher emphasis on warning if things 'don't look right' to the computer. For higher-skilled workers, I give the user more autonomy, and less hand-holding.

    Most of good UI design revolves around knowing your user base and communicating with them.

    There are a ton of books that talk about the nuts and bolts. But good people skills is what seperates the code monkeys (who have three times more coding skills than me) from the successful software engineers.

    --
    See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
  51. Cursor Focus by b00m3rang · · Score: 2, Interesting

    When you start the application, or create a new entry, the cursor should automatically show up in the first field. Then once you start typing, the focus should never jump to another field mid-word.

    Aside from the security issues, this is why I can't use IE.

  52. Re:Get clipboard. Stand over shoulder. Watch. by dmorin · · Score: 1
    I'll correct myself before somebody jumps down my throat...

    I didnt say the human is the weakest link.

    Yes, obviously, I did. I see my own post. What I meant was that in relation to mr. snorklewhacker's comment that I was not intending to suggest that the human was the weakest link in getting the job done, just in getting it done efficiently. If the measure is getting the job done, then the human of course is the most important bit. If the measure is the efficiency in which it got done, then the human is the weak part. Clearer now?

  53. Re:Get clipboard. Stand over shoulder. Watch. by bmwm3nut · · Score: 1

    i'd say go even one step farther. hire a person who specializes in HCI (human computer interaction). i know a bunch of people who have graduated with phd's in psychology that have gone to industry as hci people and do this exact thing. they may be a bit expensive, but they are really good at their job. they'll save you a bunch of time, they already know where to look for problems. plus they can speak to both the developer and the user in their own languages. if the submitter's goal is to develop a custom UI for a specific job, then general rules (like those from joel, or apple, or gnome, or...) will not work, you need to taylor the ui to this specific job, and an hci person will do that most efficiently.

  54. Many devs ignore UI suggestions by phorm · · Score: 2, Insightful

    While I am a strong Open-Source-Software user myself, I've found that quite often some of the biggest points of contention between the users and developers come with UI design/enhancements. If it's a programmatic bugfix the developers are happy to fix it, but if it's a UI/usability fix/change most developers seem to get their hackles up.

    Developers of projects like the GIMP make a UI have long ignored user requests for things like an IDE environment, and when pushed both the developers and power users alike tend to get contentious.

    Of course GIMP is just one example, many programs are like this. In the case of having something simple like an IDE, how hard would it be to simple allow an option to turn it on. It would satisfy both new and power-users, and put an end to many a flamewar...

  55. Re:Developers Are Not Good Judges of Their Own UI' by 91degrees · · Score: 1

    Beware of allowing users to customize (Wow - there goes my Karma...) Customization is fine for stuff you play with, but in a professional environment it is much more important to have consistency.

    I agree for different reasons. I dislike emacs because I can customise it in endless ways, but it isn't set up remotely adequately be default. I could spend ages learning how to do this, but an editor is just a means to an end.

  56. Correction by phorm · · Score: 1

    I guess that I should bugfix my abbreviations, the issue at-hand with GIMP was more for an MDI (with a parent form) interface, not an IDE (Integrated Development Environment).

  57. Re:Get clipboard. Stand over shoulder. Watch. by tcopeland · · Score: 1

    > Get clipboard. Stand over shoulder. Watch

    Great post, thanks very much for writing it!

    The beauty of the things you're suggesting is that most of this stuff can be fixed with a few lines of code. It just takes someone who cares enough to actually watch the users and see how they work.

  58. ed by geoffspear · · Score: 4, Funny
    ed. No, don't laugh.

    ALl of ed's commands are single letters. What could be easy to remember than a single letter?

    a appends text. c changes lines. Simple!

    And the error reporting is second to none! If your command contains an error, ed helpfully prints "?" to your terminal. No memorizing what 200 different error messages mean, all you need to remember is "?". Isn't ed great?

    --
    Don't blame me; I'm never given mod points.
  59. Don't try to to out think the user by rueger · · Score: 1

    And have some way to turn off anything automatic.

    I despise MS Word for one specific reason.

    I don't think that I have ever created a document in it that didn't get messed up somewhere along the line when Word decided to "fix" the formatting or bullets or some other element. This invariably leads me to waste five minutes figuring out what went wrong. This is also why I still like Wordperfect, where "reveal codes" would let you delete what didn't work.

    The point though is that Word almost never manages to guess what I want, and consequently is annoying as hell.

    OpenOffice is better, but there have still been times when I just about gave up on it - why would anyone default to pasting URLs or e-mail addresses as clickable links in a document which will be printed on paper? It just makes no sense.

    Which leads me to my second point. Let me turn things off. I especially would love one checkbox which would disable all formatting of e-mail addresses, URLs, and anything else that programs want to underline or turn green.

    1. Re:Don't try to to out think the user by Blakey+Rat · · Score: 1

      Just FYI, and this is a point in favor to Word, although that is the default behavior, it's very easy to turn off auto-formatting and all the other auto-whatever options. So your problem isn't with the auto-formatting, it's with the defaults Word presents you with which are easy to change.

  60. Best Ever by salesgeek · · Score: 1

    MS Windows Calculator.

    --
    -- $G
  61. User Centered System Design by Arbac · · Score: 1

    As long as you design from data linked to actually users performing actual work, the UI design should become transparent.

    I would recommend Designing the User Interface as a good starting point, as well as Contextual Design as a great way to learn how to gather actual user data.

    While it is true that everyone has their own individual UI preferences, designing the UI to function well based on actually data instead of what the designers feel will work always provides the best UI. You need to find out how the user actually does their work in order to design a UI that helps them perform it.

  62. UI research by betasam · · Score: 1

    I was given to believe that there are textbooks on UI design, much the way Mac goes about it. It tells you left-to-right cognition, widget distances among the few. And the most critical piece being mapping functions built into the software into the user interface.

    And I'm bound to ask, does slashdot have a good UI in any of these terms. Sometimes people just start habitually getting used to UIs and stop complaining.

    Just the place you've already visited probably is Amazon A9 link on Xerox PARC and their UI work.

    --
    No Greater Friend, No Greater Enemy! (Lucius Cornelius Sulla)
  63. IBM Guidelines by Anonymous Coward · · Score: 1, Informative
  64. Ask the experts... by TuringTest · · Score: 1

    Nielsen has published ten high-level heuristics for making a good interface. You can use it as a checklist.

    --
    Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
  65. Re:Developers Are Not Good Judges of Their Own UI' by MarkedMan · · Score: 1

    You said: ...I can customise it in endless ways, but it isn't set up remotely adequately be default. I could spend ages learning how to do this, but an editor is just a means to an end.

    Excellent point. Even for those who have the time, energy and understanding to customize everything, it is not necessarily now they WANT to spend their time.

  66. good vs efficient by TimButterfield · · Score: 2, Insightful

    There are good UIs, which follow all of the official look and feel requirements. There are efficient UIs, which allow users to work at their maximum speed. Do not confuse the two. They may not and most often are not the same.

    My wife works in accounting and is extremely fast at using one of those printing calculators. However, the user interface in her accounting software make her mouse or tab between fields, greatly reducing her speed of entering data. It looks nice, but is difficult to use quickly. The interface for DOS applications was often much more efficient than their Windows counterparts because it allowed the users to keep their hands in place and reduced hand/arm movement to just finger movement. Compare that with having to reach for the mouse all of the time.

    Here are some quick guidelines for improving data entry speed in applications:

    1) Minimize hand movement for numeric entry and forward navigation through numeric fields by encouraging use of the numeric key pad.
    2) Minimize hand movement for character data entry and forward navigation through character fields.
    3) Try to keep fields of similar data type in order (where appropriate) to facilitate use of #1 and #2.
    4) Allow the use of the mouse but don't require it unless you absolutely have to. This can be aided by selecting field types which allow the most efficient entry of the data such as text entry for a date instead of a calender popup. If your hand is already on the keyboard, keys, even hot-keys, are faster than the mouse.

    This all boils down to reducing the amount of motion required to perform a task. Generally speaking, reducing motion increases speed. As for inspiration, take a look at some of those efficient DOS apps and see if you can use the same keystrokes in a GUI version. You get bonus points for combining that efficiency with UI look and feel requirements.

  67. Don't forget speed by AnxiousMoFo · · Score: 1

    Years ago, when I was a customer service peon, we telnetted in to a server to access customer information. At some point, they rolled out a reasonably well-done GUI app to replace it.

    The surprising thing is how much people bitched about it. Non-geeks actually preferred the console app to the pointy-clicky one, partly because it was a change from what they were used to, and partly because what used to take a couple keystrokes now took three or four moues clicks.

    Looking at the other posts, you'll get lots of good advice to make sure that the UI is easy to learn, doesn't require users to think too hard, and undergoes user testing and revision. But since this is presumably something that people will be using every day, make sure that people also have the ability to get their stuff done quickly: common stuff should be accessible quickly, and there should be keyboard shortcuts.

  68. Re:Get clipboard. Stand over shoulder. Watch. by snorklewacker · · Score: 2, Interesting

    I think we're actually in violent agreement here: When the interface gets in the way instead of helping, you lose efficiency. By being the most critical component of productivity, that productivity gets lost if the human isn't served by a proper interface. I sort of made a knee-jerk response to the perceived attitude that "dumbed down" is somehow better. Unfortunately, I do actually get to see that philosophy in action fairly often, and often it's hidden behind neologisms like YAGNI (You Ain't Gonna Need It -- a glib way of dismissing requirements used by the exponents of a methodology that pretends to be responsive to them)

    --
    I am no longer wasting my time with slashdot
  69. TWO ACRONYMS by Uber+Banker · · Score: 1

    DEC VAX.

    Perferably emulated under Windows.

    You may laugh but it is to-the-point, simple to use and with the emulator the user can have a windowed environment.

    DEC databases,b-tree, c-tree, whatever, built in the 80s still run business critical systems today. They are accurate, staff use them without any problems. These days a business-oritntated database promotes itself as being 'extensable' but if you get a life cycle of over 3 years you're lucky.

    IT consultancy gone mad. Two-bit programmers learn object-orientated programming and SQL at university 'Computer Science' courses. Fantastic, interesting stuff. But them they reinvent a wheel re-creating a system which already existed but 'adding a nicer GUI and greated extendability'. Examples:

    1. 'User-firendlyness': A user wants to run a pre-existing report. Is it better to load a lightening-fast console, press 2 to get a report menu and 3 to choose the report, or is it better to load a slow windowed application click on 'reports' menu and choose the purple and green icon. Indifferent? Then why is it better to create a new system? Plus the users will have to be trained on the new one. If you really want to have a windowed system a WM can be strapped on to an existing code base, it is not necessary to reinvent the wheel. 2. 'Stability': DEC VAX as stable, a computer in my office which runs business-critical accounts has been 'always on' for over 5 years. SQL server stable? Oracle stable? See next point...

    3. 'Breaking a nut with a beautiful yet powerful diamond tipped auto-targetting smashing device which very few people seem to know how to use': Why not use a nut cracker? In finance, my field, object-orientated programming is fantastic, models are always evolving, we can re-build a module to increase speed sophictication and add more to add scope, no OOP would mean someone would invent it. Is it necessary to have OOP to calculate cash flows and valuations... *buzz* no! Legal and accounting regulations change now and again meaning an update is necessary, but trade-off 0 development time (because a system is in place) plus a little refining, against creating an entire new system from scratch! The analyst who rebuilds a complex project from scratch is one who must ask hard if it was necessary or they're trying to fit something into their ideological framework, which leads to:

    4. Insufficient developer skill. Even if the project is well defined and management is good, you still need people to program intelligently. C-tree is pretty efficient and straightforward once the initial work of understanding the data is carried out - the effort is front-loaded. SQL is the reverse: the language is dead simple as is understandingthe data, the trouble many programmers have is writing efficient algorithms, I often see a procedure with a subquery iterating many times on the results of an intial query (often with a new database connection being made every query!) when some simple (for someone who knows it) refinement of code would increase the speed 100 times+. SQL and relational databases dumb down programming as many dumbed-down people join the profession and poor quality results. THis applies to the Perl-monk who writes 95% of a complex system in a day and can't be bothered/forgets what they've done and cannot decypher the code they wrote themselves. It also applies to (earlier point) programmers/developers who cannot see past OOP: sometimes OOP is a poor choice not for a simple project but a complex one, the best example I can think of is array programming, many OOPers just don't get it and write damn slow inefficient code and are unwilling to learn any other skill.

    Quite a rant, I apologise. I suppose I mean, look at your own abilities, are you reinventing a system because the existing one doesn't fit in your skill set or is there a genuine need? If the need really is genuine then perhaps you don't have to reinvent the system, just add a partial GUI when users click on menus o

  70. Movies by MrScience · · Score: 1

    I've been searching for a website that would just show screenshots of "pretty" UI (something like this. Screens from well done semi-futuristic movies, where they spend all their time on UI, would be nice.

    --

    You quitting proves that the karma kap worked. The most annoying of the whores shut up. --CmdrTaco

  71. Re:Developers Are Not Good Judges of Their Own UI' by llefler · · Score: 1

    ... This is not meant as a slight to developers. Those who are intimately aware of how every detail of the program works cannot shift perspective and see it from the point of view of someone who neither knows nor cares about the inner workings.

    It might not be meant as a slight, but it is one. It's also wrong. Developers can be good judges, but it requires them to do work. They actually have to sit down and understand what the users are trying to accomplish. Then test their own apps.

    Saying developers are poor judges is as much of a cop-out as the earlier post that said UIs couldn't be uniform because users are eratic. If you work on windows, tell me, where should you always be able to find a button to close the current window? If it's not there or doesn't work, then you know a bad UI. What you are describing are developers that design applications to manipulate data, not one that performs a user function.

    BTW, I agree with you on user customization. I have a special place for most authors of 'skins'.

    --
    It is amazing what you can accomplish if you do not care who gets the credit. -- Harry Truman
  72. Re:Developers Are Not Good Judges of Their Own UI' by Brandybuck · · Score: 2, Interesting

    UI's that expose all the capabilities of a system. This is not good UI design, in fact it is lazy UI design.

    A UI that doesn't let you access all the capabilities of a system is a broken UI. Think about it. If I write a program that can sort a list of numbers in either ascending or descending order, but only provide an interface allowing an ascending sort, what the heck was I doing coding the descending code in the first place?

    This doesn't mean that the main screen of the UI needs to access secondary and tertiary functionality, but you need to provide some interface for the user to all the functionality.

    Beware of allowing users to customize...

    Customization is necessary for most ERPs, simply because no two enterprises have the same needs. If I have been using 9 digit SKUs for the last twenty years, and your software only allows 7 digit SKUs, then your software is going to cause me problems. I've actually encountered this exact scenario at work, where we have one database whose sole purpose is to translate old part numbers into the new part numbers used by our new inventory control system.

    More generally, some level of customization is necessary for ALL software simply because no two users are alike. That doesn't mean you have twenty pages in a tabbed dialog for all the little tiny tweaks a user can do. Rather it means that the software has to be flexible enough to accomodate more than the mythical average user.

    Don't be afraid of busy screens...

    I've seen your screens. And I want to scream every time. While I do want all related necessary information on the same screen, I don't want ALL information on that screen. Based on some screens I've seen, it's almost like some developers have never heard of the "next" button, or expect you to have 1280x3076 monitor.

    Dialog design is like writing. As a famous essayist once told me, the key to good writing is to take as much away as you can. Ditto for dialogs. Take away as much as you can. This doesn't preclude "advanced" buttons or multi-paged dialogs, of course.

    Keyboard shortcuts, labeled and encouraged.

    I absolutely agree. There is this CAD I use that only has keyboard shortcuts for the most common actions, with no way to customize [!] additional shortcuts. The more I improve using this CAD the more frustrated I get with this lack of functionality.

    I also agree with your last two points as well. That's three out of six, so I guess that makes one of us only half right :-)

    --
    Don't blame me, I didn't vote for either of them!
  73. Re:Developers Are Not Good Judges of Their Own UI' by MarkedMan · · Score: 3, Insightful

    You said: A UI that doesn't let you access all the capabilities of a system is a broken UI.

    If you add the word "necessary" in there somewhere, I would agree with you. I'll give you a real world example: Print orientation in industrial inkjet printers (these are the kind that write the date on the bottom of coke cans - not anything like a Deskjet). Because these printers are non-contact, you can't predict ahead of time which direction the product will go past the printhead, whether it is upside down, and whether it is printing on the inside of something transparent in order to be read from the outside. There are 3 different parameters that give you all the 8 different combinations, and 7 of the 8 could be used in the real world. The traditional way is to give the user control over all three parameters and let them try to figure it out. The better way is to let them print a test message, then select the way the print acutually printed. The code figures out the settings that correct the orientation. More work for the coder, but much easier for the operator. When this second method was implemented it was considered by many to be an amazing leap in the printer technology, when in fact, the printer hadn't changed at all. Sold a lot of printers though.

    The important thing is to understand what the end user wants to do, and present it in a way that makes intuitive sense to them. It is oftentimes more difficult to code, but it is really the only right way to do it.

  74. Re:Get clipboard. Stand over shoulder. Watch. by Jondaley · · Score: 2, Interesting

    Yes, I make a habit of stopping by the manufacturing floor to see how the guys are doing and if there is anything that annoys them or something that they wish worked differently.

    If I don't stop by, they never approach me with requests, but when I actively seek them out, I get feedback about changing a comment, making a test longer, shorter, bigger buttons, etc.

    I am fortunate to be able to do this I think, because my boss doesn't really know what I am doing, so I can take time to learn PHP/mySQL and add new features and apps to our corporate intranet to improve productivity, in a relatively short period of time, but lots of other guys figure they don't have time to do it, and so nothing ever gets any better.

  75. Re:Get clipboard. Stand over shoulder. Watch. by tcopeland · · Score: 1

    > I make a habit of stopping by the
    > manufacturing floor

    Sir, I salute you. You're right on the money - an on-site customer is the best thing you can have.

    > I can take time to learn PHP/mySQL and
    > add new features and apps

    I found myself in a similar spot once and wrote a several Java apps which were deployed using JNLP. None of them were ever spec'd out or anything beyond a "it'd be cool if we could do blah", but they were all widely used and made folks very happy. And I got to learn some nifty stuff... good times!

  76. Re:Developers Are Not Good Judges of Their Own UI' by Brandybuck · · Score: 1

    You haven't really disagreed with me. You've merely given me an example of a UI that provides access to a capability. Printing the test message *IS* the user interface for the print orientation.

    The only reason I brought up this point is that there's currently a trend to hide away functionality from the user. I vehemently disagree with this philosophy. Advanced or complicated stuff would be better served by partitioning it into a different interface (an "advanced" dialog, or a tools submenu, or a scripting interface, etc). Writing the code and then never letting the user make use of it is utterly pointless.

    --
    Don't blame me, I didn't vote for either of them!
  77. Use cases by gidds · · Score: 2, Insightful
    A UI doesn't stand alone; it's a means for getting things done, and can only be judged in relation to that.

    So, before you even think about the UI, work out what people will be doing with the software. What things are they trying to achieve? Be specific. (This is where use cases can be very helpful.)

    Then you can look at a UI, and judge how best people can do those things, with the UI getting in the way as little as possible.

    So your request for a flash, impressive UI is pointless: the best UI will be one that you're not even aware of! And one which seems completely obvious -- but only after you've seen it...

    --

    Ceterum censeo subscriptionem esse delendam.

  78. zerg by Lord+Omlette · · Score: 1

    Please think of the children: Your "use case" should be, there's a 22 year old college student living in the dorms. How will this software get him laid?

    Not the definitive answer to your question, but food for thought...

    --
    [o]_O
  79. Mac Classic, Quickdraw, and AppleWorks by JoeCommodore · · Score: 1
    The classic Mac desktop scheme (all the parts of a program (exclusinfg the system bits( were usually in one icon inside of which was the resource and data contents), so you move the icon, the thole program moves with it. (Many will say you don't move apps, but I am just referring to the file structure being 'intuitive') Also such things as the scrapbook and launcher, pop-up folders, the control panel accessible from the apple menu etc. It just just was very easy to work with. Mac OSX, in all it's glory still has to recapture the intuitive spirit that MacOS had in 7.5+.

    Kudos also for Quickdraw, an object drawing library built into the OS where you can actually do WSIWIG in whatever app, move the draw/text objects into the clipboard and then later out into another app and still be able to edit, and to the printer without missing a beat. I really miss that when playing with Linux, the graphics boundries are well divided between screen and printed output. Again with OSX the push to raster images sure makes for a much larger footprint with all the pretty (bitmap) buttons and such.

    Next is AppleWorks, Microsoft has nothing on the intuitive nature of this gem, want to make a database? no problem, draw a picture (with drawing tools)? no problem, merge the drawing into the database? no problem. Write in the word processor, graph on the spreasheet, merge the spreadsheet into the WP, slick as all can be. Though if you read Apple's comments it soulds like they are re-writing into iWork and it is uncertain if it will remain as flexible (or maybe it will be moreso?) Either way, AppleWorks get's alot of bad press because no one ever really looks at what simple power it gives the user.

    --
    "Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
  80. Accounting software by Scott7477 · · Score: 1

    I have been an accountant for over ten years and most of the software I have seen is indeed awful.
    I would like to see a UI where navigation is done via hyperlinks rather than the MS button/drop down box model. Also push most of the processing to the server and keep the client as thin as possible...accounting departments are always last on the list for PC upgrades. I am currently stuck using a Lawson setup where it takes longer for the GUI to switch from the report launcher screen to the output screen than the actual processing of the report. That's a flaming joke...

    --
    "Lack of technical competence coupled with the arrogance of power, as usual, leads to no good end."
  81. Re:Reverse is true, as well. by Bastian · · Score: 1

    There are also a lot more things you can do with physical devices than you can do with a GUI.

    There is not a single widget that annoys me more than the twisty-knob, and the only reason I can see for its existence is that some UI people who spend more time talking about how to use computers than they do using computers think that we need to have twisty-knob widgets because real devices have jog dials and volume knobs and the like.

    The "UI should mimic real life" idea was obviously designed by people who don't realize just how different "four articulated fingers with an opposable thumb" is from "tiny little clicky arrow."

  82. Advice for the future by magnamous · · Score: 1
    I know this won't help you much for whatever you're working on right now, but if you want to get a better sense of what is good UI design, I do have a recommendation: the old Mac OS.

    I've been using Macs since I was 10, and although I never learned how to write code, I used to sit at my Mac for hours and study the interface of the OS and various programs. I'd click on the buttons and all the other widgets just to see how the program had been designed to "do things." As a result, I've become somewhat of a UI nut - I think I have a pretty good sense of what makes a good or bad interface when I see one. I can pick out specific details of what parts of a UI don't work well and why they don't work well (as well as parts that do work well), and I become genuinely pleased when I find an app. with a really well-designed UI (I also rant and rave to myself about the bad ones sometimes).

    I wish I could name some old apps that would be really good examples for you, but it's been so long I can't remember (plus it's late and I'm tired), so you'll have to just try them out yourself and see what you think. (Oop! One off the top of my head - ClarisWorks. It wasn't perfect, but it was really nice to use in some ways.)

    Go buy an old used Mac or two somewhere and load System 7.1 onto one. Play around with it and with various apps until it seems to you that you really have a good feel for the system of logic used by the programmers who designed the UI - why they made things the way that they did. Then load System 7.5.5 onto it. Figure out how it's UI is different from 7.1. What changes do you like? Why are they an improvement? Why do they make the user's experience better? What changes are not so good, and why do they interfere with the user's experience? Then do the same with 7.6.1, 8.1, 8.6, and 9.2.2. As you upgrade the OS, remember to look at new versions of applications and note the changes in the designers' thinking there, too.

    Once you've done that, there's an excellent series of articles on ArsTechnica which detail the evolution of Mac OS X, a good portion of which are devoted to the user interface, usually what John Siracusa doesn't like about some of the UI changes in OS X (some of the information on the underlying structure of the OS is really fascinating too). In the above link, scroll down to just above the Table of Contents to find a list of articles reviewing OS X starting from Developer Preview 2 (personally, I'd read them chronologically). This link will take you to his review of OS X 10.3, which contains links to the 10.1 and 10.2 articles in the first paragraph. He brings up some really interesting points about the UI design of OS X, and I tend to agree with much of what he says.

    Of course, this is not to say that the classic Mac OS (or OS X) and associated applications are the end-all-be-all of user interface design, but I do think that the classic Mac OS and some of the programs for it had UI designs that were very, very good - certainly worth learning from. The interface for OS X is good in ways, and does have some improvements over the classic Mac OS, but I personally think that there were some aspects of the classic Mac OS UI design mindset that were left behind which were worth saving.

    I've also heard over the years about some legendary user interface research done at Apple "in the old days," but I've never really taken the time to look it up or see if it's publicly available. But, if you can manage to get your hands on that, I would think it would be a very valuable resource for mulling over the concept of interface design. I certainly would browse through a copy if I had it.

    I hope this helps you in the future, if not on your current project. To do everything I've suggested would take a while, so it probably wouldn't help you on this one. But I think that if you do it, it will help you with any UI project you do for the rest of your life.

  83. Apple Human Interface Guidelines by PhunkySchtuff · · Score: 1

    Apple's Human Interface Guidelines is a great place to start. They cover a wide range of issues, many of which you wouldn't initially even think about.

  84. Re:Developers Are Not Good Judges of Their Own UI' by MarkedMan · · Score: 2, Interesting

    Iwasn't trying to disagree with you. I was merely pointing out an example of what I considered (and thought you would also) of a positive example of hiding functionality.

    Here's a more direct one: In a similiar vein the group responsible for developing the UI for a higher resolution printer was working on a windows driver and the corresponding application. They exposed every single Windows option for font control. I can't remember all of them now but there are many choices that you certainly don't even get in Word. This interface terrified and overwhelmed users (fortunately it was only an alpha). But the developer couldn't see it. 'If they can't understand it, they should take the time to learn it.' For the labels these operators were creating, they simply did not need these functions. We cut out most of the choices (and made the remaining ones much more intuitive). Industrial UI is all about speed, clarity and easing the frustration factor. Line operators have twenty things they are watching and setting up. Learning how to anamorphically resize print is a ridiculous waste of time.

    It's not that they would never use it, it's that it would cause only trouble - "My print keeps changing in size - it spreads out'. Well, spreading print can be caused by mechanical problems, product handling problems, and by electrical problems. We would end up with a $125/hour service call (or one we eat under warranty) because someone on a different shift accidently created a format with some weird spread out font. I RAN service. I would bet my last Lorna Doone that this would be responsible for unnecessary service calls much more often than it would actually benefit someone.

  85. Re:Developers Are Not Good Judges of Their Own UI' by Brandybuck · · Score: 1

    Who is the user? In the case of your font options, it's you the printer device driver author. Not the consumer. To take a more generic example, exposing ever ioctl command to the user via a KE control panel would be supremely silly, but as a developer working with that device, I sure as heck want to know what they are.

    This isn't hiding functionality, it's layering it.

    --
    Don't blame me, I didn't vote for either of them!
  86. 3d studio max by kupojsin · · Score: 1

    in answer to your question The first Gui that made me sit up and take notice was kinetix 3d studio max for digital animation the majority of work was done utilizing all three mouse buttons scrolling and ctrl and alt holding plus you could always access thing more than one way -jsin

  87. Inductive User Interface by oravecz · · Score: 1

    When we set out to design our latest web application where I work, I patterned it after some of the GUI concepts found in Microsoft Money 2000 and Windows XP. I had noticed from using these applications that business processes were presented to the user as clear tasks. Instead of OK buttons, I was seeing "Add New User" buttons. Things are getting more descriptive with paragraphs of instructional text and clear dialog titles. I think our new application ended up being more usable by following some of these general approaches.

    It wasn't until a couple weeks ago that I realized Microsoft had coined the term Inductive User Interface to describe the design. This article introduces the concepts and gives some crude useability testing results.

    1. Re:Inductive User Interface by orasio · · Score: 1

      Ok/Cancel buttons are a thing from the past.
      Most non-win modern apps stopped using those a long time ago. You are presented with the verbs you want to perform in the form of buttons, at least in gnome and mozilla. That design is encouraged in the gnome guidelines. I believe Apple does something like that.
      Of course, the guy in the book talks about that. A nice bit is recplacing all checkboxes by radio buttons, so the user actually understands what will happen.

  88. Some useful notes by markh1967 · · Score: 1

    Interface Hall of Fame
    Interface Hall of Shame
    Whenever I design a UI I always think "what would the lotus notes designers do?" and then make sure I do nothing like that.

    --
    Input error. Replace user and press any key to continue.
  89. dialogs by Rinisari · · Score: 1

    Biggest thing I see:

    Do you want to exit? OK. || CANCEL.

    Don't let your users figure out what it means.

    Do you want to exit? YES. || NO.

    Make your dialogs logical questions with logical answers.

  90. Hey kid! by eno2001 · · Score: 1

    So they're going to "clean their cocks" huh? Please stop advocating for the rest of us as you appear to be getting a lot of things wrong here. Youre advocacy makes the rest of us look bad.

    --
    -"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
  91. Trackpoint by Richard_J_N · · Score: 1

    Personally, may I recommend a keyboard such as the IBM ultranav. It has the integrated trackpoint, which is brilliant, since I never need to take a hand off the keyboard to use the mouse. (Yes, I have an external mouse for graphics, but I rarely use it otherwise). The result is that it is dramatically faster to use.

    I found the trackpoint so wonderful on my thinkpad that I bought an external keyboard with one for my desktop!

    However, I *hate* the inbuilt touchpad, and the fact that the trackpoint doesn't come with a scrollwheel. Well, with a bit of hackery, it does now. Effectively, I have a 3-button mouse, with a scroll wheel implemented via a 4th button, and XF86's "emulate wheel" option. The 4th button is constructed from a chopped up 5 button + wheel usb-mouse, and a 4066 analog switch. Circuit diagram on request.