Slashdot Mirror


Software, Tools, Or Techniques For UI Review?

Comatose51 writes "Does the Slashdot crowd know of any software, tools, or even techniques for reviewing the UI of an application? Right now at our company this is a long and arduous task of looking at slide after slide of pages and menus from our UI, and taking notes and arguing over what should go where or how the UI elements should behave and interact with the user. It takes many, many hours to do this and with all our UI developers involved, it adds up. This has to be a common and recurring problem so there must be a better way to do this. If there is open source software to help, great, but any helpful suggestion would be appreciated."

246 comments

  1. Well, there's your problem. by AltGrendel · · Score: 4, Insightful

    ...and with all our UI developers involved, it adds up...

    Too many cooks, as it were.

    --
    The simple truth is that interstellar distances will not fit into the human imagination

    - Douglas Adams

  2. Yes... by Anonymous Coward · · Score: 0

    ... stop designing by committee.

  3. Ask the users. by oahazmatt · · Score: 4, Insightful

    I'm not a programmer, but I'd still like to offer my opinion.

    Ask the users. The people who will be using this software have certain expectations about where something should and should not be located.

    Of course, that should not be the end-all of your research, but it should be an excellent starting point.

    --
    Those who believe the Internet is private,
    find their privates are on the Internet.
    1. Re:Ask the users. by Threni · · Score: 3, Insightful

      The users should be doing - or getting someone to do - mock ups. Use vb6/.net, or Access, or Visio, or anything else which lets you knock up some pages full of controls which look similar to what they're after. Doesn't matter what it looks like, as long as you can tell a listbox from a text box etc, and how much data they want per page (ie does it scroll, have next/prev buttons etc). It's not up to developers to either decide or guess.

    2. Re:Ask the users. by hardie · · Score: 5, Insightful

      Absolutely ask the users. There is no better way of evaluating your UI.

      Have your programmers watch users try the UI. Don't lead the witness--let them make mistakes (and fix that part of the UI).

      You will be surprised what you learn.

      Steve

    3. Re:Ask the users. by Anonymous Coward · · Score: 2, Insightful

      You often need a starting point prior to asking the users. While the users should be the final arbiters it is more of the case than not that the user can't really describe what is needed because they don't fully understand their own requirements. They can however critique something they've been shown and this will help them drive to requirements.

    4. Re:Ask the users. by jhfry · · Score: 1

      I agree, ask the users... depending upon the application will depend on the best way to ask.

      If possible, have multiple teams of users each coupled with a designer... have the designers then sit down with what their teams came up with and find the common elements, these are must haves. Anything that is unique should then be presented back to the other user teams to see if they agree about the need, if so it's also a must have. Finally, the desingers seperate and create simple mockups that include all the must haves and their teams ideas and present them to all of the teams for review... the users pick the best and make suggestions with that as the starting point.

      This is obviously difficult if there are a huge number of screens that must all be unique... but for any common elements it provides a way to ensure that it is intuitive to the users, meets their needs, and finally it helps ensure that they feel empowered.

      A couple of notes. 1. Always leave room to add additional controls, 2. UI design should not begin until a clear understanding of functional requirements is reached, 3. all participants must fully understand the functional requirements and should be those who will use the product the most... exclude management at early design stages if at all possible, 4. Never let the participants believe that what is decided is set in stone, some design ideas are simply not practical.

      --
      Sometimes the best solution is to stop wasting time looking for an easy solution.
    5. Re:Ask the users. by puggsincyberspace · · Score: 2, Informative

      Hi

      I am actualy a Software Developer and i specialise in User Interface Design and Programming (mostly in Java). I have done Userabilty Engineering, this is the study of how a UI will be used, how to evaluate an effective UI and how to compare UIs. It go through how to recruite a sample of users and test their reactions to your UI. Using paper based examples, proto type interfaces and such.

      But the answer boils down to, 'Ask the Users'.

      Also you should remember that most western languages read top,left to bottom,right so if a UI flows in that direction users find it easier to use. Also try to reduce the mouse milage (eg. last thing you need to do on the page is at the bottom, but the ok button is at the top). Having a table row you need to click, but there is a hyperlink on that table row that takes you somewhere else that is wrong (people will click the link, even when they have done it some many times before).

      The http://www.nngroup.com/ Nielsen Norman Group are pioneers in Usability Engineering.

      Puggs

      --
      Access Point Live Mapping Access Points with Google
    6. Re:Ask the users. by Jupiter+Jones · · Score: 5, Interesting

      You know what's better than asking the users?

      Not asking the user.

      What you really should do is watch the user. If you ask them, they'll tell you what they think they'd do, or what they think you want to hear, or what they think they'd like to see... everything except what is most important: what they really do.

      (And I'm not the only one who thinks so.)

      JJ

    7. Re:Ask the users. by Budha_man_99 · · Score: 1

      It's called usability testing, and many places will do this with test groups and users. Most of these users have no prior knowledge about the product so they are not biased in their expectations. Some companies will even have the users use a product were the engineer/developer can watch but not interact, think one way mirror.

      --
      Why do we correct our criminals but punish our children?
    8. Re:Ask the users. by TheMCP · · Score: 2, Insightful

      I am a programmer, and would like to offer my opinion.

      DO NOT ASK THE USERS. FOR THE LOVE OF GOD, DO NOT ASK THE USERS.

      Users don't have a damned clue about software design, and will always ask for something stupid. They might ask for something that seems simple to them but is hideously complex or impossible to implement (I once had a user calmly demand I should replace the entire complex app with a box where they could simply specify in english what they want and push the button and it would magically figure out what they said and do it) or they'll ask for something that sounds smart to them in theory but is actually really annoying to use and will make their life much harder if you deliver it.

      A competent software engineer or UI design artist can reliably come up with something simpler and better organized and more implementable, every time.

      Users should be asked what functionality they want the software to accomplish, not what it should look like.

    9. Re:Ask the users. by Anonymous Coward · · Score: 0

      Absolutely ask the users. There is no better way of evaluating your UI.

      Have your programmers watch users try the UI. Don't lead the witness--let them make mistakes (and fix that part of the UI).

      You will be surprised what you learn.

      Steve

      better yet, *watch* the users. They don't always remember what they liked or didn't like. If you spend the time watching (other) people using your UI, you will quickly find ways to make it better.

    10. Re:Ask the users. by billnapier · · Score: 2, Insightful

      In my experience, users usually don't know what they want. Or worse, they'll ask for something, but really want something else.

      This idea works better if you have a professional UI designer work up some designs and present those to the users.

      You should use your users to generate ideas for your interface, and also as a checkpoint for your interface. But giving them too much input will screw up your end results.

    11. Re:Ask the users. by turbidostato · · Score: 2, Insightful

      "Ask the users."

      To recall Henry Ford: we would be trying to make faster horses instead of cars, then.

    12. Re:Ask the users. by hanzoach · · Score: 1

      Steve ? I thought you got cancer. Is that how you decide the designs ?

    13. Re:Ask the users. by im_thatoneguy · · Score: 2, Informative

      Not to mention users are idiots. They don't know where they want things. What menus they want... etc etc etc... if you ask the users they'll tell you they either "liked it" or "were confused but are sure it wasn't their fault".

      The MOST IMPORTANT thing a UI designer needs to work on is FLOW. The specs tell you what the application needs to do. "Color Correct a Photo", "Remove Zits", "Paint: change brush size, paint, change brush shape..." etc etc etc.

      If you watch your users and see A) What they do most of time all you have to do is find a way to make that as easy and straightforward as possible.

      Personally I love the new Office 2007 layout. Everything is broken up into actions and sub actions. That's how we work. Design the UI by speaking out loud. "OK I'm going to create a new document... where do I click to create a new document... Ohhh there is a big button in the top left that says "New" I bet that does it. Ok I'm wanting to make something bold... what are my options let's see... formating that's what making something bold would fall under... ahhh here it is a Bold B" etc etc etc.

      Then once it works. User test, User Test, User Test, User Test, User Test and make sure your users speak out loud while doing it. Stream of consciousness stuff. The longer it takes lots of people to find something the more likely you need to make it more obvious.

    14. Re:Ask the users. by Ratface · · Score: 2, Insightful

      IMHO you are only partly right. Asking for goals in functionality is the way to go in the beginning, but getting feedback on useability and design later in the process can be invaluable.

      Sure, users can have unrealistic expectations, but it is the job of a project manager or interaction designer to interpret and manage those expectations.

      Your example of a user who had completely unrealistic expectations actually creates a positive situation. If you had just given that user a finished piece of software it would not have matched their expectations. If you know what the user is expecting is unrealistic from the beginning then you are in a position to explain to them why that is not possible and suggest alternatives.

      In the other example you give of a user asking for something that seems simple, but would be difficult to use, then you as a solution designer have a starting point to try and find something that will accomplish the task in a way that balances the complexity of the task with the budget.

      I have often reacted with a kneejerk that something a client asks for is impossible, but when I've given it more thought and discussed it with the client I've found a solution close to their expectations that does the job well.

      In fact, if anything I think that your answer perfectly illustrates why programmers should not be allowed to communicate directly with a client without a translator ;-)

      --

      A little planning goes a long way...
    15. Re:Ask the users. by f1r3f0g · · Score: 1

      You will be surprised what you learn.

      If it's anything like where I work, it will be new and interesting swear words.

    16. Re:Ask the users. by Anonymous Coward · · Score: 0

      Absolutely. Users should inform the design, but they shouldn't be doing the design.

    17. Re:Ask the users. by houghi · · Score: 1

      I will go one step further. Do not just ask them, get them involved. Often people do not want any change. The moment you get some people involved, it will become their project, not yours.

      They will be the key users who will not only tell you how they like it. They will also be the key people 'selling' it to their cow orkers. That is a value you can not measure. No matter how much the CEO pushes, if people are not involved, it won't be OK and people will complain.

      They might complain about the UI, while the real reason is that they were forced to use it. So give some people responsability in the project and let them amaze you. I have done this and after a while these people came to me with ideas on how to improve it.

      I have also seen the other side where management just told me to do it in way X and people hate the tool. Not because it is bad, but because it is the tool they MUST use because management tells them to, not a tool they developed themseleves.

      Ownership of the UI should be with the users, so get them involved on a serious level, not just with a questionaire.

      --
      Don't fight for your country, if your country does not fight for you.
    18. Re:Ask the users. by ruemere · · Score: 1

      Apparently, you're one of the people whose thoughts race along the same patterns as those who created Office 2007.

      Me, I gave up on Excel after 10 minutes looking for anything allowing to enable Macros. Actually felt like crying when attempting to reformat document according to certain set of styles. And got bewildered by mundane outlook of Outlook interface.

      Hmm. Apparently there is some logic to this - "We could have done everything we could to spoil experience of advanced users... but Outlook is already perfectly suited for this, so let's leave it alone".

      Of course, I could waste two weeks (or less) attempting to refocus on new Office suite. Still, there should have been at least a searchable map of the layout of all functions instead of... "learn by clicking and guessing" method.

      Regards,
      Ruemere

    19. Re:Ask the users. by CrazedSanity · · Score: 2, Interesting

      In all the tests I've done in asking vs. watching, the users complain about inconsequential things, while the real problems they had aren't even mentioned.

      I had someone complain about what a button looked like for 5 minutes; the button was too small, not visible enough, and had an obtrusive font. Yet actually watching that same person use the app revealed they had no problems finding the afore-mentioned button (and using the associated feature), while another feature had them completely and utterly confused--yet they didn't mention the part that actually caused real problems.

      Interesting how users many times don't realize (or remember the realization about) the problems they experienced and therefore don't relay them properly. A camera and a tool that records their activity on the screen is probably the most invaluable tool for usability (so the user doesn't worry about somebody standing over their shoulder, which actually alters the way that user works).

      --
      Sanity is like a condom: rather have it and not need it, than need it and not have it.
    20. Re:Ask the users. by TheMCP · · Score: 1

      I think your last remark is something of an insult: I usually *am* the translator between client and programmers, and I'm very good at it, and my employers consistently cite it as being one of my best skills and extremely valuable to them. With 20 years of experience, I'd better have learned to be good at it by now.

      My experience with asking clients what they want in a UI is that they tend to treat it not as the question "what do you think you would like", but rather, "please make me your slave and beat me until I deliver exactly what you have demanded." They get the grip of death on whatever they come up with, irrevocably convinced that their way is the best way and the only way and that any other way is wrong and bad and can not be accepted or even tried. By not asking them what they want to see in UI, and not showing them anything until I've worked out something workable that's very close to what can be delivered, I help them to keep an open mind until they can see something realistic, at which time they can provide feedback which is usually minimal.

      That *is* a way of managing expectations; to help the client not to settle on detailed expectations until it's in their best interest to do so.

    21. Re:Ask the users. by Ratface · · Score: 1

      Excellent reply! No insult intended - well, maybe a little jab ;-)

      You are right that the client often thinks that their way is the only right way - I have also had this experience. I also have many clients who I can happily involve in an early discussion about specific details of UI and then go ahead and recommend improvements without them getting wound up.

      However I have also seen programmers who have completely shot down clients when having discussions about UI design and the way your original comment was phrased was much more along those lines than the reasoned and structured reply you have given to my post.

      --

      A little planning goes a long way...
  4. Apple Human Interface Guidelines by Foofoobar · · Score: 4, Informative

    Perhaps the most comprehensive guide out there. Not a GUI but if you want a GUI, use Xcode. http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/chapter_1_section_1.html

    --
    This is my sig. There are many like it but this one is mine.
    1. Re:Apple Human Interface Guidelines by vimm · · Score: 5, Funny

      The layout of that webpage makes my left eye twitch.. however it was very intuitive and easy to use, and suddenly I crave IPHONE I MUST HAVE IT

    2. Re:Apple Human Interface Guidelines by El_Muerte_TDS · · Score: 1

      Only useful for Mac OSX applications.
      For Windows applications follow Microsoft's guidelines (even though they ignore it and it's quite difficult because of the many differences between each Windows version).

      Simple rule: keep the UI consistent with the interfaces of the other applications that run on that system.

    3. Re:Apple Human Interface Guidelines by killmofasta · · Score: 1

      Yea, I read Apples, Read Microsofts( Yech! ), had a hand in Macromedia's, Did a bunch of stuff on Macromedia's Apps... I am kinda a seasoned pro.

      Apples was very, very good, but not perfect. (Apple would be good to follow their own guidelines ). ( and I completely disagree...Apples are NOT usefull for Mac OS X, in fact interms of consistancy, it be comes a problem )( also its not OS X Dock its a cheap plastic NeXT doc tyvm ).

      "Simple rule: keep the UI consistent with the interfaces of the other applications that run on that system." - This is very good, but I would add:

      "Keep the UI consistant with the interfaces of the other applications that run on that system, except to fix glaring errors, or provide some improvement with restraint."

      I did my UI work, and was suprised that it got questioned. I had compelling reasons for my choices, and nothing from my specs was altered.

    4. Re:Apple Human Interface Guidelines by Foofoobar · · Score: 1

      Considering how well VISTA worked out, I wouldn't even say that Windows guidelines is even good for Windows.

      --
      This is my sig. There are many like it but this one is mine.
    5. Re:Apple Human Interface Guidelines by TuringTest · · Score: 1

      The man was complaining that his team spends too much time reviewing lots of detailed screenshots. And you want him to also review lots of detailed guidelines? How is that supposed to help?

      Guidelines don't a UI-design technique make. (Hint - developers shouldn't design interfaces, only implement them).

      --
      Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
    6. Re:Apple Human Interface Guidelines by slapout · · Score: 1

      I don't think MS follows their own guidelines. Every time they release a new version of Office, it looks different than all other Windows apps.

      --
      Coder's Stone: The programming language quick ref for iPad
    7. Re:Apple Human Interface Guidelines by Foofoobar · · Score: 1

      Which is why I recommended the Apple Human Interface Guidelines. They seem to be more comprehensive, better written and cover even the finer details to give a complete experience. And considering how they now have 45% a commanding share of the laptop market plus the iphone and the ipod, it's not a bad idea to just learn the interface in the longrun.

      --
      This is my sig. There are many like it but this one is mine.
  5. Paper Prototyping by mpapet · · Score: 4, Insightful

    http://en.wikipedia.org/wiki/Paper_prototyping

    Now, that may not actually address the problem. UI fights are intractable with **everyone** having an opinion and more than willing to resort to all kinds of dishonorable methods of getting their way.

    The next step of the process should be interviewing as many paying users as possible, face to face, paper and pencil ready. From those interviews see if you can find some similarities and go from there.

    --
    http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
  6. Just Use It by The+Good+Reverend · · Score: 4, Insightful

    Nothing beats using it.

    Years ago in my tech startup days, I remember spending hours just using our about-to-launch web application, doing my best to break it. Things are a bit different when you're not web-based, but doing this on a variety of computers is still a good way to find bugs, note slowdowns, discover any issues with running it concurrently with other software, etc. This is also a nice (and sometimes fun) way to involve ALL of your staff -- not just IT -- because there's going to be a wider variety of user experience levels there.

    1. Re:Just Use It by mrbluze · · Score: 1

      Nothing beats using it.

      Agreed. My approach was to construct a UI using UI constructor (in my case wxDev-Cpp) and just making a dummy program with all the bits and pieces where they need to be. Then I road tested the dummy interface on the target audience - my workmates - and on a guaranteed non-tech - my wife. And got feedback in the form of a questionnaire using a visual analogue scale (ratings of 0-10 for various attributes like 'intuitiveness') and with suggestions for improvement.

      I ended up with what I think was a good model and the program has been well accepted and those who were not involved in the early testing have found it surprisingly usable.

      --
      Do it yourself, because no one else will do it yourself. [beta blockade 10-17 Feb]
    2. Re:Just Use It by sm62704 · · Score: 5, Informative

      useit.com, Jacob Nielson's site. Everyone having anything to do with interface design should read the whole thing.

      --
      mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
    3. Re:Just Use It by Thelasko · · Score: 1

      I remember spending hours just using our about-to-launch web application, doing my best to break it.

      I don't think the OP is asking about "durability" of the UI, if that term exist for software. I think he/she is asking about how to make it intuitive. The creator of a product always thinks the fruits of his/her labor is intuitive. It's best left up to a third party to determine how intuitive the product is.

      --
      One of our competitors trademarked the term "hypothesis". From now on, we will call them "boneheaded ideas".
    4. Re:Just Use It by Anonymous Coward · · Score: 0

      If you designed it you should not be the one testing the UI. I've sat in on a presentation for a Help Desk system where you had to flip back and forward on a page, between tabs, some things were needed, some weren't, some were needed sometimes depending on other selections. When we asked "Can you make a screen that just asks for what we need to enter?" the response was "You get used to it eventually."

    5. Re:Just Use It by KGIII · · Score: 2, Informative

      And they have a non-spammy newsletter that lets you know when new articles go up. If the OP can afford it then a seminar or two may also benefit them.

      --
      "So long and thanks for all the fish."
    6. Re:Just Use It by devotedlhasa · · Score: 1

      Too bad it's so damn ugly.

    7. Re:Just Use It by johndmartiniii · · Score: 1

      Hear, hear! Testing through using and doing is best. You just have to ask for notes and bug reports.

      --
      If you don't know what you're doing, you can't make mistakes.
    8. Re:Just Use It by Anonymous Coward · · Score: 0

      YES.....NO REALLY YES. This is the best place to start, this group knows their stuff....also a good read on design issues are "The Pychology of Everyday things" and "Emotional Design" both by Don Norman

  7. I've seen a demo but haven't used by Anonymous Coward · · Score: 0

    iRise

    Looked promising.

  8. what are you reviewing? by fragbait · · Score: 1

    What about it are you reviewing? Is it the layout? Is it how it has been styled (colors, fonts, etc.)? Is it all of this? What is your design process on the front end? Do you create "wire frames" while designing the application? Is this a web application?

    -fragbait

  9. CUA/CUI specs by RobertM1968 · · Score: 4, Informative

    There are CUA guidelines for various operating systems. You can check out that documentation to determine where what components/options you have should be placed. They are pretty thorough.

    IBM's was written in 1987, and updated since (and followed for the most part in the Windows and OS/2 world).

    Microsoft's has of course recently changed with the advent of Vista and related v2007 programs.

    For broadest use, I would choose the specs used in later versions of Windows for Windows based apps... for Linux, I am not sure where you would check - but am sure some sort of guidelines should exist someplace.

    A place with links and references to IBM's CUA can be found here:

    http://en.wikipedia.org/wiki/Common_User_Access

    From there, or with similar searches, you can find references for related Windows CUA stuff

    1. Re:CUA/CUI specs by RobertM1968 · · Score: 3, Informative

      For broadest use, I would choose the specs used in later versions of Windows for Windows based apps...

      Should have read (changes in bold):

      For broadest use under Windows, I would choose the specs used in later non-Vista versions of Windows (such as XP) for Windows based apps...

      and (added)...

      The CUA references should have everything including such things as keyboard shortcuts, etc (as well as main menu placement... ie: always starts with File, Edit, View - and ends with Help).

  10. Guerilla user testing by matrix+mechanic · · Score: 3, Informative

    Umm... the only way to know if one way of doing this is better or worse in UI is to try it. Look up the term Guerilla User Testing or read Don't Make Me Think and follow his approach. This is pretty standard practice on the web. Woe to rich client GUI if what you described is standard in that area.

    1. Re:Guerilla user testing by Tragek · · Score: 4, Informative

      And an app designed to help: http://silverbackapp.com/

  11. Uh... by SatanicPuppy · · Score: 5, Insightful

    Not sure what you're getting at. If your action listeners are screwed up, that's an obvious problem with a straightforward solution, but if your UI just plain sucks, no program is going to tell you that.

    You need to go find someone with aesthetic sense, and a minimum of technical knowledge, and you need to shut up and listen to them whine as they use your UI. When you've fixed enough stuff that they stop whining, bring in a couple more and listen to them whine. Eventually they won't whine, and at that point, you'll know you've got a good interface.

    For gods sake though, don't get a fricking committee involved! They will all want to make a trivial change to put their mark on it, and all those changes will turn your unpolished interface into the sort of steaming crapheap that wouldn't meet the basic user-friendliness of the interface on a piece of stereo equipment.

    So yea; get the users involved, distill their complaints, make changes, NO COMMITTEES. And the simpler the better. I should write a UI testing program that just runs for 10 minutes and then pops up, "Your interface has too many buttons. Simplify it please." The interface can almost always be simpler.

    --
    ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
  12. Joel Spolsky's writings by Stormwave0 · · Score: 5, Informative

    While it's not a tool, Joel Spolsky has written a long and detailed series of articles on how to correctly design a user interface. It's worth your time to check it out, even if it doesn't speed things up.

    Here's the first chapter

    1. Re:Joel Spolsky's writings by Anonymous Coward · · Score: 1, Funny

      >> While it's not a tool, Joel Spolsky

      I sometimes wonder about that

  13. I think you're doing it almost right by sm62704 · · Score: 3, Insightful

    There's no way software can design or test a user interface. Use smaller design teams, and make sure there is at least one expert in useability.

    It doesn't sound like you're doing too much too wrong.

    --
    mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
  14. gui review is just hard by Sir_Real · · Score: 1

    Just because the problem is common and recurring doesn't mean it must have a neat solution. It could be a (np hah!) hard problem. With respect to UI review, I believe this is the case. It's just *hard*. I have not seen very many short cuts work in this area. The best advice I can give you is to listen to your users. Also, UI by committee has not been the easiest path in my experience. We have found that putting someone in charge of the UI, with respect to standards compliance is important, and that the customer can still have their needs met without sending their entire management team into the meeting.

    Less "tweak this, move that" more "is or is not functionally correct" evaluations.

    Best of luck.

  15. Users who aren't also devs don't know shit by Anonymous Coward · · Score: 0

    See http://en.wikipedia.org/wiki/Oh_Brother,_Where_Art_Thou%3F for details.

  16. Well I heard Microsoft... by Thelasko · · Score: 4, Interesting

    used the number of mouse clicks to perform any given task as the metric to determine if Office 2007 had a good UI. It seems the impact of that choice is debatable.

    --
    One of our competitors trademarked the term "hypothesis". From now on, we will call them "boneheaded ideas".
    1. Re:Well I heard Microsoft... by Anonymous Coward · · Score: 0

      I don't think it's debatable at all. I absolutely love the Office 2007 UI. Transition was tough, for about a day. I'll never go back.

    2. Re:Well I heard Microsoft... by Anonymous Coward · · Score: 0

      I agree. I have Office 2007 and Office 2003 side by side installed. I only launch 2007 now.

    3. Re:Well I heard Microsoft... by hobo+sapiens · · Score: 1

      Depends on who you are trying to make the app more usable for, which depends on what kind of app we are talking about.

      If the app is a web site targeted to the general populace and has lots of new/casual users, then more important than mouse clicks is how easy it is to navigate to various tasks. Watch a few uninitiated users use your application. Give them tasks without telling them how to accomplish the task. See how they perform. I'll bet you'll find your problems that way.

      If the app is for a set of users who use it all the time, then reducing mouse clicks and system response time (which has very little to do with the UI) will make the biggest impact.

      Reduced mouse clicks, while a good indicator of usability, isn't the only thing to look at. For Office, it's a good indicator of usability (or maybe speed) because people who use office use the parts they use pretty regularly.

      --
      blah blah blah
    4. Re:Well I heard Microsoft... by Anonymous Coward · · Score: 0

      It's good that you heard it, but why can't the vista team???

    5. Re:Well I heard Microsoft... by mpeg4codec · · Score: 1

      So by that token, is a huge toolbar with buttons for every possible function more useful than a two-level hierarchy of well-organized menus?

    6. Re:Well I heard Microsoft... by Junior+J.+Junior+III · · Score: 1

      Microsoft did more than that. They took the statistical data that they compiled from real-world users who opted in to "make future Office better" and used it to determine what features and functions were used most often, and prioritized their efforts on re-working the interface for those features based on that.

      One of their leads gave a talk recently on the story of the evolution of Office's interface, starting from Word 1.0 through Office 2007. It's worth watching:

      http://msstudios.vo.llnwd.net/o21/mix08/08_WMVs/UX09.wmv

      --
      You see? You see? Your stupid minds! Stupid! Stupid!
    7. Re:Well I heard Microsoft... by Repossessed · · Score: 1

      number of mouse click to perform any given task

      By that metric EMACS is the most user friendly app out there.

      --
      Liberte, Egalite, Fraternite (TM)
    8. Re:Well I heard Microsoft... by killmofasta · · Score: 1

      Best to look at Microsoft's UI evolution as the way NOT to do it. This is the process that gave us the abhorrent Word 6.0!

      The point is ANY simple metric, is going to run afoul of making it better. Novices are the best testing grounds.

    9. Re:Well I heard Microsoft... by Junior+J.+Junior+III · · Score: 1

      I was more interested in the video not from a "what to build" standpoint, and more of a "this was our process, and here's how it evolved over successive generations" standpoint.

      --
      You see? You see? Your stupid minds! Stupid! Stupid!
  17. Managing UI by Anonymous Coward · · Score: 0

    You would be better off hiring a product manager and a UI specialist.

    The key job is balancing the forces of user requirements, development capacity and then being smart about packaging this into a UI. The first part can be done by a product manager, the second by a UI specialist.

    Developers shouldn't go anywhere near designing UI with some (rare) exceptions. The main problem is devs failure to put the user's hat on (apart from thinking they know best). Developers focus is elsewhere, unless they are also the users of the software.

    If you can't hire, try to delegate two team members to do the job, maybe with some training. Anyway, do away with the meetings. Too expensive, little chance of success.

    Hope this helps

  18. Track and trace by pljvp · · Score: 1

    Indeed, use it. Take a set of powerusers and a couple of dummies. Give them various assignments. 1) Track and trace their eye-movements (use GUI-students at universities) 2) Track and trace cursor-movements (google for ajax tools for visualizing in-browser-measurments) 3) Track and trace number of clicks 4) Track and trace users' routes to solutions 5) Track and trace time to complete their tasks 6) Take time to ask and hear what they have to say about it

  19. Tasks. by Anonymous Coward · · Score: 0

    Collect a bunch of test subjects that are either the 'expected users of the software' (e.g. within a company) or randomly (e.g. for a game with a broad market appeal) and conduct interviews with them to find out their computer usage skillset, try to get a good mix of user skills (depending on your app).

    Then create a bunch of different tasks that the test subjects should achieve, then have them perform these tasks using the user interface while you videotape it/record their interaction. Do not offer then any assistace or similar, but give them instructions as to what to do when they have attempted to solve a task within a time frame, but failed to do so (e.g. continue, open a help file, etc). In addition the test users should write down any notes they made themselves during each task.

    You should then review this data, as well as conducting interviews with the users after they did the test. You cou

    Or.. if its an open source application, you can pretty much let the coders do the GUI, and it will pretty much be on par with anything else from the open source movement (i.e. crap).

    To get impressions for good UI design look at Maxis 'The Sims' game, or Blizzard 'WoW', or even some Apple applications.

  20. You're doing it wrong by dedazo · · Score: 1

    Well, kinda. The only way (that I know of) to refine and evolve UIs is to look at them and discuss how they work or are supposed to work, and whether or not a given change affects functionality or is even technically feasible.

    But you need to get some users into the equation. Normal users of your application(s). Color me skeptical whenever a developer wants to design a GUI all by himself because "he knows" what something is supposed to look like or behave. We developers are the absolute worst group of people to be involved in usability, because most of us can't think like users if our lives depended on it.

    So follow the cycle with your dev teams and technology people, but involve users often and early. That is the difference between a good app that's usable and a good app that no one wants to run because it looks like crap, is confusing, etc. See Lotus Notes for more details on this /rimshot

    Anyway, good luck with that. Truly good graphical interfaces are hard to achieve.

    --
    Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
    1. Re:You're doing it wrong by gujo-odori · · Score: 1

      Absolutely WRT that "getting users involved" thing. Some of the tools used by my part of engineering at my company are designed and built by other parts of engineering at my company, and it's typical that the first time I see a new release is when it goes into beta. Guess what the chances are of getting something that I think sucks fixed at that point? Uh-huh. And that's a major contributing factor in why one of those tools is the only web app I know of anywhere that does not render correctly in Firefox 3, despite the fact that the current release version of the app was only released a week or two before Firefox 3. Swell. And of course, I think the whole design of that tool sucks anyway, and so does pretty much everyone else who uses it.

  21. Talk to your technical writers by Anonymous Coward · · Score: 0

    Hi:

    If your technical writers are raising concerns about UI processes that should be one step, but in fact need several steps, you may wish to revisit the UI.

    The last piece of software I worked on had, as its default install, 93 unlabelled icons. The devs were convinced that this was an 'Apple-like' software.

  22. Biggest UI want by linzeal · · Score: 1

    Windows can be made to quickly reshaped to the Aspect Ratio of the screen.

  23. Director by lax-goalie · · Score: 3, Informative

    A ton of commercial (and in-house) applications have had their UIs prototyped with Macromedia (now Adobe) Director. Especially with a third-party "xtra" called OSControl (which gives you access to OS-specific, well, controls like menus, tabs, etc.), Director makes building a UI prototype quick and easy.

    Director's a little long in the tooth for real desktop application development. Still, I'm not sure that there's another tool that lets you build "quick and dirty prototypes" (with enough functionality to actually test with users) as rapidly as Director.

    Avoid the latest version (Director 11) like the plague, though. It's an abomination.

    BTW, as a process issue, a "look and feel prototype" is always one of the earliest milestones in our development cycle. The client has to sign off on the interface, and write a check for a progress payment, before we proceed into actual code-slinging. Saves a boat load of headaches to do it this way.

    1. Re:Director by foniksonik · · Score: 1

      Axure is good and fairly cheap ($500) for doing prototyping... it's like Flash/Director in that you can script controls but does not do animations, etc....

      It does allow for logic though... so you can put in conditional content... and has things like input validation which is quite nice.

      --
      A fool throws a stone into a well and a thousand sages can not remove it.
  24. Look at GOMS by Citius · · Score: 1

    GOMS is a useful tool for examining a UI. (Link: http://en.wikipedia.org/wiki/GOMS ) It's a method to analyze human-computer interaction in various programs, so it wouldn't hurt to take a look.

    1. Re:Look at GOMS by Anonymous Coward · · Score: 0

      Also look at the cognitive walkthrough: http://en.wikipedia.org/wiki/Cognitive_Walkthrough . The cognitive walkthrough is a method designed the question: is this interface learnable? Whether this is important to your group or not depends, of course, on the application.

      I would love to see developers more knowledgeable about design issues, so go to it!

      Ethan

    2. Re:Look at GOMS by tommyjt24 · · Score: 1

      Yeah I would agree it is useful when your looking at productivity, a good book not related to GOMS would be "The Design of Everyday Things" http://en.wikipedia.org/wiki/Donald_Norman GOMS could be applied to all UIs which is good but some products would make out better being flashy.

  25. First rule of gui design by geekoid · · Score: 3, Insightful

    Don't let developers do it.
    Hire a professional to give you a framework, build from there.
    Having a common framework will allow you to know when any screen is wrong, and it will be easier for your QA team to find errors.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    1. Re:First rule of gui design by Anonymous Coward · · Score: 0

      Don't let developers do it.
      Hire a professional to give you a framework, build from there.
      Having a common framework will allow you to know when any screen is wrong, and it will be easier for your QA team to find errors.

      I agree that developers should be reviewing UI.

      Higher a professional, conduct UAT, and have your QA team evolved with GUI testing.

      If you don't have a QA Team. Get One!

    2. Re:First rule of gui design by Genesys1 · · Score: 2

      Don't let developers do it.
      Hire a professional to give you a framework, build from there.

      So you're saying that developers aren't professional? Or that developers can't build a framework?

    3. Re:First rule of gui design by GeckoAddict · · Score: 1

      I have to disagree that developers can't do it. They absolutely can, but they will do it from the viewpoint of a developer. The last thing you want is a UI guy designing a base framework that adds months to development time or is a PITA to maintain.

      Who you really need in those meetings:
      - Marketing. I know I'll get flamed for it, but by Marketing it should be someone who has researched the users/domain and know WHY the users want it and what the users are trying to accomplish with the product.
      - Industrial Designer to work out how users interact with the product
      - Graphic Designer to work out a common look/feel (this goes towards your comment of being easier for the QA Team). This person could be across multiple products if you want to build a brand.
      - Developers to comment on feasibility

      Once you have that, take mock ups (nothing that looks like the final product) to your customers! Customers with a range of computer experience and a range of domain knowledge. They will know right away if it's wrong or where improvements should be made (ex 'Why is that buried under that menu, we do that all the time and it'd be nice if it was easier to do'). Then take that feedback and start the process over. Within 2 or 3 iterations you'll have a product that solves the customer's problem and is easy to work with.

    4. Re:First rule of gui design by pjt33 · · Score: 1

      I interpreted GP as saying that developers aren't professional GUI designers. In the majority of cases this is true.

  26. I Can Tell You What NOT To Do... by Black-Man · · Score: 3, Interesting

    We hired this company, who $3mill later gave us a wireframe mocked up in Photoshop of what the UI should look like. The execs LOVED IT. One problem... the tools which had already been decided on and purchased couldn't produce anything that looked remotely like the mocked up UI. Guess who got blamed? Management? No. Developers? Yes. Because they couldn't produce a UI that looked as "cool" as the wireframe.

    1. Re:I Can Tell You What NOT To Do... by Anonymous Coward · · Score: 1, Insightful

      Maybe you shouldn't have purchased the tools to build something before you knew what that something was.

    2. Re:I Can Tell You What NOT To Do... by gspira · · Score: 1

      Absolutely. Think of it this way, you have two ways to approach the problem:

      The first is to develop a UI based on the widgets and toolkits selected by the developers. The design becomes constrained by something which has nothing to do with the way in which it is going to be used.

      The second is to develop a UI based on the way in which the application needs to be used, without any artificial constraints. Sure it will be more difficult to develop, but the goal is to make a functional application, not to make it easy on the developers.

    3. Re:I Can Tell You What NOT To Do... by panaceaa · · Score: 2, Insightful

      I hope the conclusion you reached is that developers should be involved in UI design from a requirements perspective. At the very least, the consulting firm should have known what your tools were capable of. Secondly, good UI designers can take feedback like "it would be easier to do things this way," for example, if you already have a UI and you're trying to minimize changes. Your development team should have had engineering management on top of it who were aware of the consulting firm and should have injected themselves into the conversation. Even if it's a lead developer, it's easy to make the argument that engineering must be involved within the role required of it.

      I sincerely hope your argument isn't against user experience consulting firms, because that wasn't the problem here, and designing an interface isn't always something that requires a permanent staff.

  27. Usability Engineering anyone? by Light303 · · Score: 4, Informative

    i habe been reading /. for quite a time now and never read the word "usability" ever. (i think most FOSS guys also never heard of it)

    Interface Usability is a whole science. There are plenty of books describing exactly what you are trying to reinvent!

    For a start you might want to check out Jakob Nielsen's Alterbox Website, which is full of small articles regarding common usability problems.

    http://www.useit.com/alertbox/ ... and if you like his style of writing you might also want to buy his book "Usability Engineering" (which is a must-have when you work in the field of usability IMHO)

    1. Re:Usability Engineering anyone? by consonant · · Score: 1
  28. get the right people, and only the right people by X_Bones · · Score: 2, Informative

    First of all, it sounds like you have way too many people involved in the UI decision-making process. You need the UI architect/lead, the guys who are gonna implement it, and an end-user or two (or maybe QA guy if you don't have any end-users around). That's it. Non-technical bosses don't need to be involved, marketing doesn't need to be involved, technical co-workers who don't have a hand in implementing this don't need to be involved (that includes other UI programmers). Meeting bloat was the biggest headache I had at my old job; we ended up designing our UI essentially by committee, and it sucked.

    As far as a UI overview, again, there's nothing better than testing by actual end-users. Try to convince your boss to let you demo an early-ish prototype to real customers. If you can't, then hallway testing is probably the next best thing. If a random cross-section of people can manage to perform simple tasks through your UI, your customers shouldn't have much trouble doing the same thing.

  29. Re:Well, there's your problem. by matrix+mechanic · · Score: 5, Informative

    Also, for all your developers, do you have a designer? UI development = graphic design + industrial/interaction design. Read Magic Ink: Information Software and the Graphical Interface

  30. Timely! by timelorde · · Score: 1

    We've got one of those reviews scheduled for tomorrow.

    For four hours.

    "My eyes! The goggles do nothing!"

  31. Program interface by Anonymous Coward · · Score: 0

    As a programmer, I like to make an option that allows the user to set up the interface as they would like it to be. This can be quite complicated to set up first, but reusing the code thereafter makes future programs simple. I think a really nice thing to do is to make button placement and/or menu item options for some or all of the programs processes and functions. This is what major programs like OpenOffice do. Then you can set up the program the way you think it should looks for distribution with full instructions on button/menu item placement options.

  32. Form follows function by bendytendril · · Score: 2, Interesting

    Form follows function.

    You first have to work out the flow of the program (or web site). Which options are on which screens? What's on the list that takes a user to a detail page? Is the delete button on the list or on the detail page?

    For the above, I found the best way is paper, pencil, pushpins, and yarn. Find a big wall in a conference room, and start sketching it out. Quickly draw the data elements and input fields on the paper. Use one piece of paper for each web page. Use pushpins and yarn to show how the user navigates. This approach is 1) inexpensive (doesn't take a coder), 2) easliy understood by everyone and 3) easily changed.

    After the function is nailed down, then the designer can take this and select fonts, colors, etc. and mock up a few pages to give back to you, the programmer, the style to apply to each page. That is, of course, if you have a graphic designer at your disposal.

    --
    sig: pv qid
  33. Re:Well, there's your problem. by bfizzle · · Score: 3, Insightful

    Design by committee is a terrible process to endure and very often the outcome is of far less quality then a design done by someone who knows what they are doing.

  34. Re:Well, there's your problem. by LaskoVortex · · Score: 4, Insightful

    Also, for all your developers, do you have a designer? UI development = graphic design + industrial/interaction design.

    There is also the little concept of actually using the software. Here is my plan that I wish every corporation would adopt for near perfect design:

    • Write application.
    • Give to CEO of company to use for day-to-day tasks (make him use it every day or get a new CEO)
    • Fix everything he hates and add what he wants
    • Repeat until he goes about one month without any suggestions or complaints

    Of course this is from a user's perspective and from someone who writes software for myself. Profit may get in the way of a usable product, so I don't expect my plan to get adopted everywhere.

    --
    Just callin' it like I see it.
  35. Re:Well, there's your problem. by Xzzy · · Score: 1

    I don't think that's possible when it comes to UI design.

    Any project where it's possible that a large group of people will be using the software, you have to put in a huge amount of effort to make sure the interface can accommodate as large a range of preferences as possible. Everything from the background color to how many times you have to put your hand on the mouse can have a major impact on a user's productivity.

    The downside to this is the only way to know for sure is to make the UI, get some people using it, and respond to the feedback.

    It should be a very social process, and sending one guy off on his own to do the whole interface will win you nothing but an interface suited to his tastes alone.

  36. Gnome HIG by Anonymous Coward · · Score: 0

    http://library.gnome.org/devel/hig-book/stable/ is a pretty nice guide for the basics.

  37. Simple is often best by viking80 · · Score: 4, Informative

    1. Define what the software should do
    2. Make the UI, even a mockup will do
    3. Invite users to test drive the UI while video taping
    (See (1) and ask the user to do each one(with no help))
    4. Measure the users success (clicks, wrong clicks etc)
    5. Score each screen with the predefined metric from (1) filled inn in (4)

    Done.

    Often the real problem is that nobody really knows (1): what the software should do. Marketing thinks it is "one click purchase" and engineering thinks it is "fully configurable shopping view". So agree on 1 first, and maybe your problems go away.

    --
    don't cut it off www.mgmbill.org
    1. Re:Simple is often best by Speare · · Score: 1

      1. Define what the software should do

      No.

      1. Define what the user's goal is

      --
      [ .sig file not found ]
    2. Re:Simple is often best by Anonymous Coward · · Score: 0

      You forgot about the users. It's for them.
      1. find out who they are (harder than you think)
      2. Find out what they want to do.
      3. Lay out the means for getting the things done so that the "tax' or effort required to do frequent things is minimised
      4. Build the software to do it. Don't start with this step, whatever you do.
      A UI is not a bolt-on afterthought. It's where you start.

    3. Re:Simple is often best by anomalous+cohort · · Score: 1

      Sorry, it's just not that simple. Here's why.

      • What you are describing is what I call old school usability testing. The problem? Testing with just one person isn't statistically relevant. You have to test with large numbers of people in order to get any accuracy. This gets very expensive.
      • These kind of testers didn't pay for the software. So their tolerance is going to be a lot higher than paying customers.

      The solution? Ship it. The support calls will be a much more accurate indicator on the quality of the end user experience. If you feel uncomfortable about any potential negative impact that a poorly designed application could have on the target market, then roll out the application in phases. Pick a test market and just sell it there. Roll it out to the full market once the quality of the end user experience on the test market has been assured. If you found this to be interesting or helpful, then check out this article which points out this and other similar techniques.

  38. Just recently I had to do some UI tweaking for Drs by DRAGONWEEZEL · · Score: 1

    We trimmed 1/2 of the the stuff they had available. You know what they said? "too busy" People want an app that has capability to do anything imaginable, yet the simplicity to do what they need right now. I say KISS.

    Keep it simple software

    -DW

    --
    How much is your data worth? Back it up now.
  39. You are doing it in the wrong order... by Anonymous Coward · · Score: 1, Informative

    1. Design your UI on paper. Bring in a usability expert to do this. If you have no usability expert do it yourself.

    2. Test your paper UI on users. Ask them to do the tasks your software is supposed to support. Shut up, take notes. Test on 4-8 users.

    3. Refine and repeat 1-2 above until users are happy.

    4. Develop the UI in software.

    Step 1-2 can be done in a week at a low cost. If you try to do the same with a software UI it will be much more expensive.

    Is is amazing how developers still think they know better than the users that the software is for. Remember that the benefit of software is created WHEN IT IS USED. Until then it has just cost a lof of money.

    1. Re:You are doing it in the wrong order... by PPH · · Score: 1

      Mod this one up.

      A couple of additional pointers:

      • Make sure you talk to actual users. Particularly for specialized s/w, where the user base isn't the general public. I've seen projects for engineering tools where the company couldn't 'afford' to spare an engineer, so they sent someone from the general office staff as our liason.
      • Beware of usability specialists, for reasons similar to that explained above. Better yet, have your own analysts trained on the topic.
      • Beware of 'usability' as a club, or prod, to steer a project toward a particular platform.
      --
      Have gnu, will travel.
    2. Re:You are doing it in the wrong order... by tknd · · Score: 1

      In the early stages you can probably get by with 2 or 3 users as test users. Maybe in the later stages when most of the things have been ironed out will a larger test like 4-8 yield something useful, but after the first 2 or 3 people you'll usually have found 95% of the issues with the interface. Just make sure each user has different background experience but is still going to be a potential user of the software.

  40. Re:Well, there's your problem. by belmolis · · Score: 4, Insightful

    This is good advice for many consumer products but not for all software since some software is intended for users of whom the CEO is probably not representative. Software for technical people, for example, may trade a longer learning curve for greater efficiency or configurability for experienced users, and software for some tasks assume specialized knowledge of the task that most people won't have.

    Good luck finding a CEO who will let you fire him if he doesn't test your software.

  41. Hire a competant UI designer by Anonymous Coward · · Score: 0

    and have your UI developers defer to the designer. Problem solved!

  42. subjective & objective critiques by Anonymous Coward · · Score: 0

    For the former: as others have said, ask the users. And ask them again. Joel Spolsky recommends asking your family or pulling random punters off the street, asking them to perform tasks and observing how easily they do it.

    For the latter: there are a number of numerical methods available, see e.g. Jeff Raskin (http://books.google.co.uk/books?id=D39vjmLfO3kC&dq=jeff+raskin+humane+user+interface&pg=PP1&ots=COnFa27TZ3&sig=JvLaCeIsjG06dGVH4HlY0D_h4dc&hl=en&sa=X&oi=book_result&resnum=1&ct=result) or Constantine and Lockwood (http://www.amazon.com/Software-Use-Practical-Methods-Usage-Centered/dp/0201924781).

    A combination of both is ideal, but if you can only do one do the former.

  43. UI recommendations from a web page that looks by RichMan · · Score: 2, Funny

    Uhm, that web page hurts my eyes. Are you sure you recommend this as UI interface design reference.

    1. Re:UI recommendations from a web page that looks by pjt33 · · Score: 1

      I bet the person who modded you Funny didn't look at the useit site, or that would have been Insightful.

  44. Technique used by Steve Jobs by PatMcGee · · Score: 1

    Get a copy of Inside Steve's Brain, and read the section describing how they designed one product. (The book is loaned out to someone else, so I can't give you page numbers.)

    Basically, the technique was to print lots of transparencies, and to stand around a conference table and argue. Repeat until done.

    In my experience doing UI design, teaching a grad course, and working with others doing it, you can either spend a whole lot of time working to get it right, or you will end up with a mediocre product. For some uses, that's good enough. For others, you have to spend the time.

    Pat

  45. Usability Engineering by fermion · · Score: 1
    Although some might say he has become much less rigorous on the UI side, Jakob Nielsen has some good ideas on this subject. This book might provide some clues.

    The basis of this book, and of most writing on UI, is that the designer can only do so much. Once a best effort is made, the interface must go into usability testing. The interface decisions then need to be made on the basis of these tests, not on the whis of the designers. p. It also sounds like The Mythical Man Month might be in order, and a design book, like the classic composite structured design, as it appears that there are many unresolved and extravagant dependencies.

    --
    "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
  46. Re:Well, there's your problem. by Anonymous Coward · · Score: 2, Informative

    I wouldn't expect your plan to get adopted anywhere. The art in delivering software is providing a useable solution within tight budget, time and quality constraints. You're looking only at quality and usability without any consideration for time and budget.

    No project would ever finish if you kept asking the users what else they'd like to change.

  47. Re:Well, there's your problem. by RobertM1968 · · Score: 1

    Xzzy has a very good point.

    In that vein, some things I have seen in some Windows programs, as well as in OS/2's WPS GUI are the options of selecting "Beginner, Intermediary, Advanced" for how the menu system is created... Beginner showing the most common choices, while Advanced shows everything including the kitchen sink.

    Without knowing too much more about your software - or what features are insisted upon being easily available, I dont know if that applies.

  48. Have you seen Open Source Software UIs? by barryfandango · · Score: 0

    You might be asking in the wrong place.

    --
    In all matters of opinion, our adversaries are insane. -Oscar Wilde
  49. You need an expert by rossz · · Score: 4, Insightful

    If your UI has gone beyond the most basic of interfaces, you need to hire someone who has a background in "human factors". Expecting a bunch of programmers to design a good user interface is a very bad idea. Just look at all the crappy interfaces in the open source world.

    Hoping for a program to automate this is as likely as getting your own pet unicorn.

    --
    -- Will program for bandwidth
    1. Re:You need an expert by Evil+Closet+Monkey · · Score: 1
      This is the best reply I've seen for the question. The fact that I work in Human Factors doesn't sway my opinion in the least. =) I wish I had point to mod with.

      As rossz point out, there is no getting around working with someone (or multiple people) with a background in Human-Systems Integration.

      One additional point to be made concerning the original post... to use one of your own points against you, unfortunately:

      Designing a proper UI *takes many, many hours to do this*!

      There is no getting around this fact. When you work with someone familiar with Human Factors, it is still going to take a long time if you want to get it done *right*. But that time will be spent productively, learning how the application and the users actually interact -- and not how your UI developers think they will.

    2. Re:You need an expert by religious+freak · · Score: 2, Interesting

      Yes, parent is exactly correct. On a very large project we were running, we actually hired one (maybe it was two) "human factor engineers". As I recall, the woman had a PhD in human factors and was extremely useful in putting things in perspective.

      If you're on a large project with a correspondingly large budget, an HFE will be money saved, in order to free up the time of your developers.

      Human factors is one of the most overlooked aspects of an app, and having a programmer design it is bad for a number of reasons. HFEs will enable you to get less "it just doesn't work" phone calls at the help desk for your new app, because of stupid UI confusions on the part of the users.

      It's a net gain

      --
      If you can read this... 01110101 01110010 00100000 01100001 00100000 01100111 01100101 01100101 01101011
    3. Re:You need an expert by Anonymous Coward · · Score: 0

      Not to knit pick, but, what about all the crappy interfaces in the commercial software world?

    4. Re:You need an expert by timmarhy · · Score: 1
      "Just look at all the crappy interfaces in the open source world."

      never have truer words been spoken. you just have to look at the attitude you get (and we will get) if you critique the gui of OSS.

      i found the key to making a good ui was to have the dumbest most annoying person in the company try use the software first. if you can't explain to them how to use it you are sunk right away.

      --
      If you mod me down, I will become more powerful than you can imagine....
    5. Re:You need an expert by Anonymous Coward · · Score: 0

      They only further prove her point.

  50. follow the unix tradition by Anonymous Coward · · Score: 0

    additionally, (this is especially true if it is an in-house program) you can follow the unix tradition of separating the UI from the workings of the program. the GUI should, in reality, do practically nothing, merely call back to the real code.

        if you have your application set up in that manner you can solve disputes by having each person design their own gui and then everyone demonstrates their in a group, people will see things they like and didn't make and you can start making or modifying a gui that takes what you learn from everyone else. the grouches who only want things exactly their way can still do it their way, without affecting how the project really works.

  51. UI Development != graphic design by ProppaT · · Score: 4, Interesting

    Not in the least. Lord no. Perhaps have them polish up and make things look pretty after the UI is decided upon, sure, but leave the UI design to people with a background in it. That's the equivelant of telling a baker to to cook you a steak. They might both make food, but the thought process is totally different.

    If you have a technical writer working on the project, give him/her a shot at it. Their job is to make the complex simple and to make it fit in as small of a container as possible. They'll also be the ones writing the manual on the stupid thing and, more often than not, many design flaws come out in the process of writing the manual. You'd be surprised what kind of input they might have.

    Other than that, do you have a corporate psychologist or HR person with a background in psychology? They might also have valuable insight.

    Other than that, as far as viewing the UI for a review, have someone make a mock up, clickable UI in Flash or even HTML. It shouldn't take long and will give you a good idea of what the user experience before it's all coded in.

    --
    Wise men say, "Forgiveness is divine, but never pay full price for late pizza."
    1. Re:UI Development != graphic design by matrix+mechanic · · Score: 2, Insightful

      If you think all a graphic designer does is "make things look pretty" you might want to read that article.

      and if you live in a world where you think people still read manuals, you might want to find out what a UI designer actually does.

      Actually I'll tell you. A lot of it is helping a user discover, understand and use features and data without having to read a manual. And coincidentally guiding the way someone discovers and understands visually (like on a computer screen) is graphic design. The use part falls interaction design. Read the article.

    2. Re:UI Development != graphic design by ProppaT · · Score: 1

      Right, and who better to understand why a person actually has to RTFM than the person who writes TFM.

      From personal experience, when the UI gets thrown to the graphics design team, it looks stunning...however, the depth is usually too short sighted to anticipate all of the required user interactions.

      Frankly, a GUI professional would be optimal, but if your company doesn't have one, the tech writer is going to be the best follow up. If the program looks plain and uninspired, fine, so long as it's easily usable. The fact that so much of the web is an unusable mess is that it's given to the graphics folks who do have training and experience in how people interperate what they are currently seeing but without the anticipatory skills required to pull everything together.

      --
      Wise men say, "Forgiveness is divine, but never pay full price for late pizza."
    3. Re:UI Development != graphic design by TrentTheThief · · Score: 1

      Technical Writers are development's interface to the customer, and as such they are typically the "go to" people for such things in early development phases. Additionally, the technical writers often work in conjunction with (though perhaps not in an "official" capacity) quality assurance as another line of sanity testing.

      While individual developers are tasked with completing certain portions of a project, or maybe tasked to smoke test chunks of code, it is often the technical writers who see the entire project as "one thing." That "thing" must work according to the spec that development was working from (you _did_ have a spec, didn't you?) and must create a sensible, understandable documentation set for that product whatever it's ultimate function might be.

      You should leverage the experience of your technical writers for this task. They've often worked on many more project types than the average developer and worked in more companies. There is a wealth of experience there. Go ask. Can't hurt. Take a box of doughnuts and a few diet cokes along, too.

    4. Re:UI Development != graphic design by matrix+mechanic · · Score: 1

      Hang on I think I'm getting mixed up with terminology here. For me the people that determine and write the spec are product management. Do a technical writers to you write the spec or the manual or both?

    5. Re:UI Development != graphic design by TrentTheThief · · Score: 2, Interesting

      technical writers should be involved at all levels of the spec writing process. Ofttimes, the specifications, functional/technical/implementation are loaded with ambiguities information and incomplete or conflicting requests.

      The technical writers can bring a great deal of clarity and sanity to the table. Not every company can afford dedicated writers for every product/project, but every company should be asking the documentation group to read over the functional spec prior to using that to create any sort of technical specs. Developers with funky technical specs can easily march down the wrong path and lose valuable coding time getting back on track.

      Technical writers are not know-it-alls, we just seem that way because overall, we see are about the only ones besides QA who see the whole enchilada. Developers see the chunk they are coding, PM's see some windows and do some hunt an peck testing (typically. heavy workloads prohibit much else sometimes), but the writers, well, we see the whole thing in one piece.

      If you are lucky enough to work in a company large enough to have plenty of writers working at all levels, you are truly lucky. The key to successful product is having clear, concise information for PM/development, and of course, for the client.

      BTW, if your technical writers are in the marketing department, do all of you a favour and get them under development? Or perhaps working for the same group that manages QA, tech support, training? If you keep your writers in the middle of the information flow, they will clean it for you and everything will be better. Honest. And don't for get the doughnuts!

    6. Re:UI Development != graphic design by ProppaT · · Score: 1

      "And don't for get the doughnuts!"

      And don't pay them doughnuts, either. Tech writers, as you stated, are part of the development team, and should not be an afterthought to a project. They end up being engineers, even though they're not paid for it. If nothing else, you end up as a mediator between the engineers because you're the only one who gets the big picture. In my experience, tech writers are more akin to project management as you tend to be the project managers right hand man.

      --
      Wise men say, "Forgiveness is divine, but never pay full price for late pizza."
    7. Re:UI Development != graphic design by TrentTheThief · · Score: 1

      Quite true, quite true. The doughnuts are to distract them from a deadline while the supplicant begs on bended knee.

      I've learned PERL and PHP, a fair smattering of C#/C++ since becoming a technical writer.

      On many complicated systems, the technical writer is the _only_ person who can actually do a full setup and complex configuration completely off the cuff.

      The work is grueling as you probably know (I'm assuming you're also a writer). I think most developers don't really understand how much work is involved or what a technical writer's schedule is like once code freeze hits. Release notes, doc updates... And hopefully there's a system in place to hear about _all_ of the enhancements well in advance. It really hurts finding out about a half dozen or so the week before the release...

  52. Re:Well, there's your problem. by vertinox · · Score: 1

    Why not one of your customers instead of your CEO?

    I worked QA for a small time software company and they had a special relationship with one large scale customer who elected to be a beta. Actually, they really weren't the beta at first, but they requested several features and offered to pay big money for it.

    It turned out the special features they requested were popular with the regular customers and the developers started to include some of the features with the regular builds.

    --
    "I am the king of the Romans, and am superior to rules of grammar!"
    -Sigismund, Holy Roman Emperor (1368-1437)
  53. Mandated in the EU by phiz187 · · Score: 1

    One interesting area of exploration would be the European Unions requirements for user interface design. EU Directive 90/270 covers this. I attempted to provide a link, but most of the commentary seems to be in PDF form.

    --
    Pretend I said something meaningful or insightful here.
  54. Add Ribbons by kramer2718 · · Score: 1, Flamebait

    [sarcasm] If there's one thing a UI needs it's ribbons. Don't worry whether or not your users like it. A new fancy feature will earn you more money because more people will upgrade. [/sarcasm]

  55. maybe try it out on your potential customers? by DomHawken · · Score: 1

    No doubt user experience of UI will be quantified by software more clearly over the next few years - in the same way that shops are now analysing footfall and even eye contact with product. I think you're looking for the wrong solution though - nothing beats testing the system with the public. Your Mum, your Grandma, your mates, your girlfriend - even (though I hesitate here) focus groups. You'd be amazed how little your amazing technical back-end systems mean next to nothing to a typical user. Even if you've created the most awesome, useful system, people will get confused if the login box is too small or the logo is a bit too harsh color-wise. Stick it live, wave the big Web 2.0 beta flag, and be amazed at the feedback. And stop listening to the people who think they understand what a UI should be.

  56. One cheap "UI" refinement method by Anonymous Coward · · Score: 0

    If you have tech support for the product, use their experiences on the phone to refine the UI. Have them put in categories for "user confusion" (or whatever) and have them document what the confusion is. Then send a member of the dev team over to debrief them once a month on the problems that are generating the most calls and fix those as a priority.

    This dev/tech support increase in interaction has a couple of side benefits. One is that you get to see the faces of tech support people when they figure out you're really listening to them and fixing "their" problems. The other is when the dev team figures out that their "brilliant" design (UI and otherwise) may be brilliant, but it's also a mess.

    For Maximum Entertainment Value on UI design, find an Apple developer who's had to deal with their UI guys in the design phase. Some of those, um... "interactions", have been Epic.
     

  57. Re:Well, there's your problem. by electrictroy · · Score: 4, Interesting

    Give the program to the average secretary & watch where she stumbles or otherwise looks confused.

    --
    The government is not your daddy. Its purpose is not to raid middle-class neighbors' wallets and give it to you.
  58. Re:Well, there's your problem. by Anonymous Coward · · Score: 0

    that's pretty dumb.

    most CEOs are not your typical user, have little to zero interaction with your typical users' tasks, and would rather focus on metrics data than actual data. they also are usually less computer savvy than your business users and can barely work a browser.

    so if you want software that doesn't meet your users needs and meets the lowest common denominator of technical requirements - definitely take that approach. it's great way to get promoted though!

    seriously, validating how well a UI works is best left to putting it in front of users in a sane way with practical measurement techniques and boiling down the data to convince your CEO blood will run in the halls if you don't meet their needs.

  59. Whole bunch from Sun, IBM, DoD, Apple by Anonymous Coward · · Score: 0

    Check out the following "guides" and tools. Apple still has the legacy stuff out there.

    http://developer.apple.com/documentation/macos8/mac8.html

    IBM:
    http://www-03.ibm.com/able/resources/ueresources.html
    http://www.alphaworks.ibm.com/tech/raven
    http://www.alphaworks.ibm.com/tech/ezweb

    DOD:
    U. S. Army Weapon Systems Human-Computer Interface Style Guide (WSHCI), 1999
    DoD Human Computer Interface Style Guide
    DoD Design Criteria Standard - Human Engineering, 1999

    Ameritech Graphical User Interface Standards and Design Guidelines

    Sun:
    Java Look and Feel Design Guidelines, 2001
    Java Look and Feel Design Guidelines: Advanced Topics, 2001

  60. Mouse movments by TheGreatOrangePeel · · Score: 1

    I'm a developer and while most GUI apps that I've written have been mostly for myself, there were a few things that were requirements of my software.

    1. Every common function has a [ctrl]+[x] keystroke
    2. Every less common function has a keystroke available via the menus i.e. [alt]+[x],[y]
    3. Minimize distance the cursor has to travel for functions used together (i.e. print preview and print; copy and paste)
    4. Maximize cursor distance for functions you never want to mix up (i.e. delete and rename (right-click a file in windows))

    Granted, the average user might be more picky than I.

  61. Yuck! by SanityInAnarchy · · Score: 2, Interesting

    In this section in particular -- past the comic -- there is an example of a redesign.

    Raise your hand if you would rather try to point at a specific location on a map than simply choose it for a list.

    And you know what? By the time you're using this form, you know the date, as text. It's going to be quicker and simpler to enter it via the dropdowns -- even quicker if you can simply type. The calendar widget only helps if it can show me events I've already placed on a calendar -- otherwise, there's no point.

    I don't know if that's a representative sample, but it makes me very reluctant to read the rest of the paper.

    --
    Don't thank God, thank a doctor!
    1. Re:Yuck! by matrix+mechanic · · Score: 1

      I know many US Americans don't have maps, so I'll give you that one, but most airlines sites use calendars for picking departure and return dates so I think that's evidence calendars work in practice.

      Actually come to think of it, pretty much all websites use fancy date pickers now for dates when you're thinking about time from the perspective of the present, that is, not things like your birthday.

      Moderately contrived example aside, do you at least get what he's trying to say? That section is going for something similar to 'Natural Mappings' as described in The Design of Everyday Things.

    2. Re:Yuck! by SanityInAnarchy · · Score: 1

      Actually come to think of it, pretty much all websites use fancy date pickers now

      And the better ones provide an option to do an old-fashioned dropdown.

      In fact, the best I can remember will let you type a date in m/d/yy form, but will popup a calendar -- and javascript syncs the two. (Click a date in the calendar, and it auto-fills the text field. Type in the text-field, and the calendar will update as you type.)

      do you at least get what he's trying to say?

      Well, the paper was fairly long, so I looked for screenshots/mockups, to see what the end result would look like. I didn't like those so much, so I didn't read the paper.

      --
      Don't thank God, thank a doctor!
    3. Re:Yuck! by Rysc · · Score: 1

      Actually come to think of it, pretty much all websites use fancy date pickers now for dates when you're thinking about time from the perspective of the present, that is, not things like your birthday.

      This isn't done because it's a good UI for choosing dates. As the parent said, letting you type it in is a good UI. The date pickers are used because they drastically reduce the probability that the user will type in something which is not a recognizable date or (worse!) is recognized as a date but interpreted different than intended by the user.

      Is it DD/MM/YYYY or MM/DD/YYYY? You can't know which way your users will be thinking with certainty and you can't trust that they'll pay attention to a notice concerning the expected input format. Date pickers make getting date input quick and easy for the developer.

      Some people do swear by the series of dropdown list boxes, but they do take up a lot of space and are more difficult to use than date pickers. The date picker ultimately posts back a single field with a machine-parseable string in a predictable format. The series-of-lists approach requires at some point the consolidation of several values into a date, either in client javascript or after hitting the server (which is safer). I am still of two minds about whether the extra hassle is worth the javascript-safety.

      tl;dr, date pickers are not good ui, just pragmatic design decisions

      --
      I want my Cowboyneal
    4. Re:Yuck! by SanityInAnarchy · · Score: 1

      Is it DD/MM/YYYY or MM/DD/YYYY? You can't know which way your users will be thinking with certainty

      Well enough. Chances are, I've got some information about them already, and there are preferences where they can store this kind of thing.

      Either way, you can always specify what you're expecting, and give live feedback in the form of a date picker.

      --
      Don't thank God, thank a doctor!
  62. Don't use Eggplant. by blank89 · · Score: 1

    Whatever you do, don't use Eggplant (Redstone software). It sucks, it's terrible, and it's only for Mac Os.

  63. i just read 10 comments by Anonymous Coward · · Score: 0

    ... and they were all offtopic. this guy is asking for a review system not a UI how-to. He wants a piece of software that allows him to take notes for each of the UI elements and store them so they can be reused when redesigning the UI.
    and i don't even program UI anymore. but when I did I was doing it alone and for myself as exercise so good luck trying to find one.


    AC because there are still 75 more comments to read and maybe someone did get the point though.

  64. Re:Well, there's your problem. by alta · · Score: 2, Insightful

    Agreed, I don't really see a lot of CEO's using Visual Studio, Eclipse, Photoshop, Dreamweaver, Quickbooks... Its not that the products aren't usable, its because they have no point of reference.

    Sure, they should be able to QA something like a web browser or office suite, but that's about it.

    --
    Do not meddle in the affairs of sysadmins, for they are subtle, and quick to anger.
  65. Study UI design by Anonymous Coward · · Score: 0

    Hey Champ.. I am currently studying Software Development in Denmark. We have a teacher involved in the field of UI design. He has written a book, which i believe can help you a greate deal. It has concrete methods of measuring and testing the usability factor of UI's. The book is called "User Interface Design", Soren Lauesen. Chech it out: http://www.amazon.com/User-Interface-Design-Engineering-Perspective/dp/0321181433/ref=sr_1_2?ie=UTF8&s=books&qid=1217368487&sr=8-2

  66. You asked the Open Source guys tips for UI Design? by Anonymous Coward · · Score: 0

    I suggest looking at UI development for the following open source projects. They are this crowd's favorite ;-)

    1) LaTeX
    2) emacs
    3) vi
    4) Dia
    5) xterm

    My best advise is to just get somebody good at doing layout to design your UI. This will most likely NOT be a technical person.

    Or you can continue throwing loose ideas from a the committee branch.

  67. Re:Well, there's your problem. by erroneus · · Score: 2, Insightful

    This is also supposing that a given CEO actually KNOWS the business he leads. Too often, it's marketing and sales people that end up in the top positions of many businesses. This often means that they have little or no appreciation or understanding of the usage or applications, products or services this company may offer. Companies lead by sales and marketing types often have little respect or regard for what they offer and concern themselves only with the numbers. The is a terrible trend as quality often suffers when component and ingredient substitutions are made, support services are outsourced or H1Bs are used to reduce the cost of manpower. The results and the quality invariably suffers from these bottom-line oriented tactics and only show short-term improvements as a drop in sales resulting from decreases in production quality rarely show immediate responses by the customer.

    I have gotten off the point here a bit, but what I'm saying is that CEOs often have little or no idea what is best for the products or services of a company. (My CEO is different, but mainly because he's not a marketing or sales guy.... he was involved in the production side of things before he took over the company, so he knows what qualities are important to the future and well-being of a company... sadly those types are rare these days.)

  68. CLI by sproketboy · · Score: 1

    You insensitive clod!

  69. HCI Patterns by spstrong · · Score: 1

    Jenifer Tidwell has a great site with Human Computer Interface Patterns. If you are using patterns for the rest of your code (and even if you are not), consider this:
    http://www.hcipatterns.org/

  70. Re:Well, there's your problem. by TheMCP · · Score: 1

    Absolutely, this person's problem is not lack of software, it's too many people. Good UI comes from small groups of no more than two or three people (I try to pair an artist and a programmer), or one true visionary. Big groups with lots of people reviewing it tend to come up with nonsense like this: http://www.youtube.com/watch?v=kU9YeOQm3Y0

    Or the idea of clicking a button labeled "Start" to shut down the computer.

  71. Re:Well, there's your problem. by Saanvik · · Score: 1

    Self-selecting based on skill level is usually a very bad decision. Users cannot properly assess their own levels of skill at a program. A successful method for doing something similar is to offer optimized, or even single-click, paths through common tasks (such as "Convert video for iPod"), while giving users that need or want more functionality alternate ways to configure the flow through the tool.

    Of course, this isn't what the poster is asking about, so I'll shut up now.

  72. Re:Well, there's your problem. by Surt · · Score: 3, Insightful

    You don't want your ceo to be representative. The average company with a CEO has at least 50 people. You really want that person to have the best leadership and organizational skills of those 50.

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  73. Re:Well, there's your problem. by KillerBob · · Score: 4, Insightful

    I think his point was more that the best way to design a user interface is to let the users actually... y'know... use it. Throw it out to a small but select non-developper beta, and take their suggestions about usability to heart.

    A group of engineers sitting around, arguing about what should be where is just going to obfuscate things, and unless they get really lucky, it isn't going to result in something that's usable. Also... keep in mind the idea that nothing should be more than 3 clicks away, unless it's obscure. More than that, and users won't remember it. If it's something that they use frequently, it should be 1 click away. All about keeping the application efficient, but not cluttered.

    My first thought, when I read TFS, was that he's out to lunch. He's looking for software to accomplish a task that, to my mind, should be a completely organic process. You can't write software to design your user interface for you, because people don't think like computers. You need to go through revisions and iterations until you get something that works. Oh, and sitting around watching slides is absolutely the wrong way to get a feel for how it's going to work, too. They should be presented with the actual user interface, or a mock-up if that's not possible, and actually go use it for a few days before coming back and talking about what was good and what was bad, and what needed improvement. And keep doing that until enough people are happy that you'd be comfortable unleashing it on the world.

    --
    If you believe everything you read, you'd better not read. - Japanese proverb
  74. Re:Well, there's your problem. by Anonymous Coward · · Score: 0

    A good start: http://www.positivespaceblog.com/archives/pdf-documents-designer/

  75. Software for UI reviews by oscarguindzberg · · Score: 1

    Going back to the original subject, we developed a tool for UI reviews. It's an issue tracker + image reviews. You can create tasks and publish an image (ie a a screenshot) for each task. Once the image is published, you can use a pencil to highlight the errors/reviews. There is also a built-in version control, so you can publish several versions of the same image. The software is in english but the website describing the product is spanish only for the moment; if you manage to register in spanish, you will get access to the english-application. The url: http://www.creationflow.com/

  76. User Interface Engineering, and Eyetracking by Acer500 · · Score: 1

    Jacob Nielsen stayed WAY behind the times. It's good that he emphasized usability, but he did not adapt. Just for fun, some guys did some comparison on search, and Jacob's page came dead last - using some very interesting methods which seem to be standard on usability testing (Eyetracking):

    http://www.uxmatters.com/MT/archives/000068.php

    I found this webpage more useful than Nielsen's when I was designing a form that has to be filled 30.000 times every day (and this guy Luke Wroblewski seems to know what he's doing, even though his seminars are way too expensive):

    http://www.uie.com/

    --
    There are three kinds of lies: lies, damned lies, and statistics.
  77. One better by JoeCommodore · · Score: 2, Interesting

    Also have the programmer themselves have to use the application for 'a day', in a real-world example - the guy who knows the UI in and out, so training is not a problem.

    But as a programmer he/she will see what doesn't work when they have to enter data live (i.e. entering client data with client sitting across the desk) - and they will get a pretty good idea of what needs fixing and how to get it done. For more complex concepts they may have to be the keyboard pilot with an expert telling them what they want done, but having that hands-on dose of reality will help smooth out the worst bits.

    I program for a small NP, and have to use my programs as well, it gives me a lot of perspective for the end user as well as the clients we serve while the staff use the system.

    --
    "Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
  78. Step 2 most important by SuperKendall · · Score: 1

    There are about ten million tools you could use now to mock up a UI in almost any language.

    Just being able to press on a button that does nothing tells you more than a screenshot ever can.

    You don't even have to use the mockup in any way in the final product, but let a user or designer be able to sit down with the UI arranged as people think they would like it to start with and then evolve.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  79. Re:Well, there's your problem. by MrMarket · · Score: 0, Troll

    Here is my plan that I wish every corporation would adopt for near perfect design...

    Try applying at Apple.

  80. Business process overhaul & ProtoShare by Anonymous Coward · · Score: 0

    1. Re-evaluate your GUI design process. The job of deciding what goes where best goes to an Information Architect, usually.

    2. A Prototyping tool which is made for collaboration and decision making. Logs comments and allows stakeholders to make comments on widgets and layouts
    http://www.protoshare.com/

  81. beta, alpha tests by Anonymous Coward · · Score: 0

    Yea, I listed those backwards. Anyway, all big software companies use test groups. They usually represent 'average users'... which is why most software sucks. But everyone can 'use it'... and complain about it.

  82. You can't polish a turd by throatmonster · · Score: 1

    Go ahead. Try it. No matter how hard you rub, no matter what compounds you use, when you try to polish a turd, the net result is a pile of shit.

    If any part of the project is crap, the end result will be the same no matter how much testing and tweaking you do. Good luck.

    --
    All pass beyond reach of medicine. None pass beyond the reach of love.
  83. tools? techniques? by Anonymous Coward · · Score: 0

    Only a human can do that because your target user is a human (sorry if I'm assuming too much)

    To evaluate a design, first make a functional mockup that can be clicked on and used. If you're designing a web page, then html lends itself nicely to the task. If you're working in games or productivity apps, then do your mockup in something that lets you iterate quickly (flash or html or something similar) iterate, get feedback. don't worry so much about the back end of the design - just hint at or suggest enough of the content so the reviewer understands the context of what they are doing.

    Get as much feedback from the end user as possible but don't put them in charge of the design or you'll loose control of your design process - put your mockups in front of people who don't know anything about your product and see what they do. make sure they know the designer is not there! that's really important. get someone else to present it or suck it up and pretend your not connected to the design process. That way, you get more honest feedback. Let them make mistakes in usage and make sure you learn and address the things that made them err in their understanding.

    good UI design is rarely easy - so managing expectations throughout the process is a sizable chunk of the designer's job.

  84. Make your mind up. by snester · · Score: 1

    I have designed about 30 applications from Commodore 64, Amiga, BBC Arhcimedes, Windows 3.1, n64 through to Vista and Embedded deivces

    1. Do you have a vision or not? And who is going to use it.

    If you don't then use a committee method to design your UI. Say bye-bye to what you want.

    1. If you do have a vision then get your needs/features down on paper
    2. Define the platform/platforms you are planning your application to run on. (things like screen aspect, minimum/maximum resolution and input device are very important considerations.
    3. Start to mock up designs and position the features you are planning
    4. Start to create working mock-ups of key interface elements
    5. Start to get feedback on the two or three ideas you have (try getting people to see the idea you like the best - explain why)

    6. Do a prototype (even if it ends up as a commercial prototype)
    7. Evaluate the issues people have and the way people use it. Create a new version if your prototype is unusable - otherwise let it grow as much as it can.

    --
    A shrubbery
  85. Remember Jeff Hawkins by vrmlguy · · Score: 1

    You needs a very small team that understands what the product is supposed to accomplish, not how it is supposed to accomplish it. The user interface flows from there.

    From http://www.counselormagazine.com/content/view/674/55/

    It was 1995 and a man was walking around with a wood block in his shirt pocket. Occasionally he would take it out and fiddle with it as if he were checking appointments. Some might have thought him crazy, but he was not.

    The man was Jeff Hawkins, and he would soon revolutionize the technology industry with a device known as a Personal Digital Assistant, or PDA. It would be called the Palm Pilot and sell over one million units in its first 18 months alone. Jeff Hawkins didn't invent the PDA, but his Palm Pilot would be the first to attain widespread acceptance. There were other PDAs before the Palm Pilot: Apple produced one that came to be called the Newton in 1993, but it failed to achieve the success of the Palm Pilot due to its high price and the fact that it was just too large to fit inside a pocket; a Windows-based PDA was introduced around the same time as the Palm Pilot, using a software called Windows CE, which enabled one to open and create Word Documents and Excel Spreadsheets. The interface resembled Windows 95 with the familiar Start menu. Unfortunately, these devices were much more expensive and drained way too much battery power.

    The block of wood in Jeff Hawkin's pocket represented an approach to design that would serve him well. He did not want to just design yet another electronic gadget, but something that was eminently usable; a tool. His experiments with the block of wood helped him to determine the right size for the Palm Pilot -- small enough to fit in a man's shirt pocket.

    --
    Nothing for 6-digit uids?
  86. Re:Well, there's your problem. by RiotingPacifist · · Score: 1

    Isnt that what microsoft did when they had gates?

    --
    IranAir Flight 655 never forget!
  87. iRise by Sunshinerat · · Score: 1

    For web based prototyping iRise is pretty good.

    It will let you do some quick html and build the workflow. The outcoming is a semi functional thing that you can put in front of users.

    --
    Load New Commander (Y/N)?
  88. Re:Well, there's your problem. by Anonymous Coward · · Score: 0

    A better way to avoid taxingly long decisions about what's best for people's needs?
    I think that's called upper management.
    Or the Senate.

  89. Lower Coupling! Higher Cohesion! Reuse! by RalphTWaP · · Score: 1

    Your code shouldn't have high coupling, neither should the UI. Organized by role/user, by usage, the UI probably doesn't need to let your users do super-cross-functional things in the same bit of screen real-estate. If the UI does need to let your users do super-cross-functional things in the same bit of screen real-estate then the coupling is really just cohesion + complexity, deal with it.

    If you can get rid of UI coupling, you only need subsets of the UI team on the reviews.

    And you'll end up adding in UI cohesion while you shake the UI design around.

    So separate the bits and find a way to reuse your UI elements, at the very least reuse-by-usage across different role/users (so people can graduate to power user without re-learning your UI).

  90. Do a mockup. Let users play with it. by dpbsmith · · Score: 2, Interesting

    Use a rapid application development package... Visual Basic is fine for that job, even if I lose all credibility by saying so... and do a mockup.

    Get a few users. They should be people who are not members of your group. They should be vaguely typical of the people who will really be using the real application. They should not be managers or anyone with power to dictate their preferences as requirements.

    Give them absolutely minimal directions. Let them try to use the application. Watch them. Resist the temptation to say anything unless they get so very stuck that there's no longer any hope of learning by watching them; then coach them just enough to get them unstuck.

    See what they do. See what they assume. See where they make mistakes. I guarantee you you'll learn more in ten minutes than in hours of having people familiar with the code review slides. The places where you think they'll get stuck are the places they'll breeze through. The places where they do get stuck will surprise you completely. And you'll suddenly see glaring, obvious, easily fixed goofs in the UI design that you didn't notice in any review.

    If you want to do a big formal megillah with one-way glass and video typing and people with psychology degrees, fine, but that's not important. The important thing is real users really playing with a functioning application.

    Reviewing slides is nuts. Having people who develop the application review slides is nuts. You can't possibly figure out how something is going to work and feel by looking at slides. It's like figuring out whether a car will be fun to drive by looking at a static picture of the dashboard.

    Some years ago someone was showing off an application... one of those GUI-like database applications that ran on character-oriented screens... that his group had done. I was playing with it. He was bragging about the screen refresh, the way they'd implemented scroll bars with characters, and so forth.

    I noticed that three successive screens required me to key in the identical piece of information three time in a row. I also noticed there wasn't even a copy-and-paste function.

    I pointed it out to him. He said, "Yeah, I know." I said "Are you going to fix it?" He said, "No." He whipped out a 3/4" thick spec. He said "It took six months of review to hammer out this spec. It's done. What you saw is what the spec says."

    I said "You mean nobody noticed that problem during the review?" He sighed. "Apparently not."

    "Well," I said, "why not just fix it?"

      "Look," he said, "it took six months to get this spec signed off on, we're not going to open it again or it will take more months, we need to get this through SQA, and what SQA will be doing is checking to make sure we conform to this spec.?

  91. Re:Well, there's your problem. by Anonymous Coward · · Score: 0

    The Magic Ink link begins thusly: "Firefox and IE cannot print this webpage. If you like reading on paper, please download the PDF."

    This gives me pause about the advice to follow.

  92. Comment removed by account_deleted · · Score: 5, Insightful

    Comment removed based on user account deletion

  93. Re:Well, there's your problem. by aaandre · · Score: 1

    Nice plan, if it weren't for this part: "make him use it every day or get a new CEO" Everywhere I've been so far, the making goes the other way around.

  94. Get a human interface expert by autophile · · Score: 1

    You're letting developers write a user interface? Congratulations, your user interface will be riddled with little inconsistencies, bizarre error messages, labels that don't make sense, input that's too permissive or too restrictive, and just plain weird layout.

    If you call them "UI developers", you're just lying to yourself. They are developers. There's nothing UI about them.

    You need to hire a human interface expert. They know how people work with computers. Your developers, on the other hand, know how developers work with computers.

    How about cultural considerations? Are your users from one culture and your developers from another? You know what I'm talking about. Don't pretend you don't. There are cultural differences in interfaces.

    You won't take my advice, though, because you don't want to hire someone with the correct qualifications for the job. But hey, don't let that stop you from creating yet another frustrating interface.

    OK, now that we've determined that you don't want to hire the expertise you need, let's see what we can do with what you have. Find the "UI developer" that has the best graphic design skill. Make that person in charge of the UI, and don't let anyone else have any input, because they will just screw it up and make things inconsistent. BTW, if you really do have a developer that also has graphic design skill, cherish them because they are worth more than one developer and a separate graphic designer. Have that UI lead document the rules of how each and every input works, and what they will and will not accept. Have the UI lead also document all error conditions, what happens on those error conditions, and what messages are displayed to the user. When you're done with your first iteration, give that document to a tester that is not one of your developers. Have them ensure that everything works as documented. Don't let the UI out of the shop until all UI bugs are resolved.

    Good luck. You'll need it.

    --
    Towards the Singularity.
  95. Re:Well, there's your problem. by zuperduperman · · Score: 2, Insightful

    I've worked in a similar situation to that and let me tell you, it's a nightmare.

    The software gets horribly warped to the individual flights of fancy of the CEO who is such a bizarrely unrepresentative user that their input is almost useless.

    They also expect that anything they say should be implemented at the drop of a hat so you drop everything and do stupid useless hacks that just to keep the idiot CEO happy.

    The only people to give you feedback on your product are it's intended users and you must do everything you can to ingratiate them into helping you perfect it.

  96. Yahoo Design Stencils by zuperduperman · · Score: 1

    I haven't had the need but when I do was going to take a look at the recently released Yahoo design stencils to see if they are useful for this kind of task:

    http://developer.yahoo.com/ypatterns/wireframes/

  97. Prototype it. by toby · · Score: 1

    What, you're not using agile/rapid development tools/techniques??

    --
    you had me at #!
  98. Re:Ask the users. 110% AGREED - GOOD POINT HARDIE by Anonymous Coward · · Score: 1, Interesting

    "Absolutely ask the users. There is no better way of evaluating your UI." - by hardie (716254) on Tuesday July 29, @04:49PM (#24391601)

    Hardie?

    Agreed, 1000%, here!

    Man - I had a job with an insurer 2 yrs. ago (almost) as a programmer/analyst (title I had), whose majority of developers ACTUALLY SAID & THOUGHT their users were "dumb" (etc.)...

    Man - well, know what?

    Those people ARE OUR LIFEBLOOD, as coders, & WHO YOU WORK FOR in this field of endeavor, first of all.

    Secondly, I was tasked (as one of my assignments/projects there I delivered successfully of the 4 I had) to redo an ASP app into ASP.NET (& make it more secured + userfriendly)...

    So, how'd I go about that?

    By asking the users what they did NOT like about the original... & guess what?

    All along the way, each week, I would take the MAIN user @ first, & let her tell me "I like this/I don't like that" etc.

    (When asked why she did not like a particular feature, I would listen & then make it how SHE wanted it... then, after her, I let the other users (in order of importance and usage of said app) take shots @ it)...

    In the end??

    Well, in our morning MIS/IS/IT meeting on the day of its delivery???

    Their people came into OUR meeting & said "THANK YOU" to me...

    (Big surprise it seemed, the MIS/IS/IT dept. apparently never had THAT happen for them before (& rightfully so - their philosophy? Doesn't have to be 100% done & working well + easy to use, just get it out the door "the XXXCO way" is what they called it)).

    I am GLAD I don't work there anymore though, as building "junk" is NOT my style, but instead, building the BEST I CAN POSSIBLY DO, is!

    ( ... & the only way I have personally determined that is 'doable', is to address it with YOUR USER AUDIENCE - because, after all, they are the ones that will BE using it!)

    Makes total sense...

    GOOD post hardie, you're "110% dead-on correct & bulletproof + bugfree" on your statement by all means, imo @ least (16++ yrs. as a professional developer, & multiply degreed in this field as well as internationally published now around 10x).

    APK

  99. Apple's was written circa 1983. by toby · · Score: 1

    By Chris Espinosa, Joanna Hoffman, et al. The manual was called Inside Macintosh, the draft I received is dated 1983, lovingly daisywheel printed, and apparently it's what the rest cribbed from (Command-Z,X,C,V for Undo, Cut, Copy, Paste was one of the rules established by IM).

    --
    you had me at #!
  100. Common misconception. by v(*_*)vvvv · · Score: 1

    Asking the user is like a cook asking his diners how he should alter his recipe. If he is at that level, then he is not a great cook. If you are still asking your users about what to fix in your interfaces, you are not a great UI architect. This is a good workaround if you do not have one, of course.

    1. Re:Common misconception. by skelly33 · · Score: 1

      Yes and no; asking users how to improve the interface is not the right approach because as you point out: users know nothing. However, asking them where they have problems, get lost, slow down, etc while using your interface is an excellent means of narrowing down on what problems your development team can solve. It focuses your attention on things that actually matter instead of on things that you only imagine are necessary.

      Also, pure graphic design photoshop/illustrator producers who think they can design a website and a menu to look pretty should be kept well away from GUI production. Don't let them hypnotize you into thinking that they know what the hell they're doing with regard to intuitive interfaces that users will understand based on common interface design patterns.

      Assuming it's a web application, if (as already mentioned) you don't have a GUI designer available, at the very least, have a capable application engineer get the code set up with proper CSS selectors applied to the output, then save the pages and tell the graphic designer to knock himself out with CSS that can be applied to the page. Everything achievable in CSS is allowed, everything else is not. Then you'll at least have a working app that looks "OK" if it wasn't already a train wreck to start with.

  101. Re:Well, there's your problem. by Anonymous Coward · · Score: 0

    We follow this in my company, except it goes something like this:

    • Give to CEO of company
    • Fix everything he hates and add what he wants
    • All the UI designers leave because the CEO overrules everything they do, including changes based on results found in user studies.

    While I agree with the idea, it does have it's flaws.

  102. What I've said earlier. by v(*_*)vvvv · · Score: 2, Interesting

    A good UI is not cute, cool, or pretty. It is one that makes
    functionality obvious while itself remaining invisible.

    You can make a good UI cute, cool, or pretty, and you may get praises
    for it, but it isn't what makes it usable.

    There is a fundamental paradox is usability testing. If you ask about
    usability, you are asking what people notice. But the best UIs are those
    that are not noticeable. You should never test a UI. You should only
    test the usability of the application, and measure things like confusion
    and task completion speed.

  103. A good draft saves money by Anonymous Coward · · Score: 0

    I understand the OP's concern, and it isn't simply a matter of "let the user win."

    There's a stage in the product life cycle where one would like to get a draft of the design approved so that you can can pay someone to build it. Until that happens, there isn't anything to put in front of a user. It's also much faster and cheaper to start with a good design and refine it than to continually chip away at a bad design with X+1 revisions. To provide that draft, I would recommend a process that uses one or two human factors / user interaction / HCI specialists with the understanding that they will make recommendations that the user testing can improve.

    If you intend to gather the input of a group against a proposed UI, you need to ensure that your medium is flexible enough to convey the details that need review. If you need to provide hand gestures and impromptu sound effects to communicate the experience, you have an interaction that needs more than a screenshot or poster.

  104. Re:Ask the users. 110% AGREED - GOOD POINT HARDIE by turbidostato · · Score: 1

    "By asking the users what they did NOT like about the original... & guess what?"

    What they disliked the most where your awfull usage of grammar and strange caps and signs. Wasn't it?

  105. Re:Well, there's your problem. by WGR · · Score: 3, Informative

    Of course, that is what Apple does with its software. If Steve Jobs doesn't like the user interface, it gets changed.
    Doing this has helped Apple be the leader in user interface design and the stock remark recognized ths when news of his possible illness dropped Apple shares considerably.

  106. Play some portal... by tempest69 · · Score: 2, Interesting
    Really, honestly.. then listen to the commentary..

    These people really designed a UI that becomes usable after some training. Great take aways...: 1 Use the simplest method possible to control something.

    2. Dont add buttons.. On My Imac there is a small remote 2 buttons, and an outside ring.. This is FAR more powerful than the 50+ button remote for Dad's TV+dvd player remote.

    3. Dont Hide controls too deep.. look at vista.. changing an ip address Start->CP-> network ->Internet properties-> oh that meant browser properties SOB -> Manage network connections -> now either magically know to right click "wireless connection",, or notice the double arrows at the top for more options because it opens too small by default and choose "change the settings of this connection".-> then choose ipv4 -> properties -> set it to the correct value.

    up until you get to the wireless connection right clicking is useless. right click on network, poof no properties.. right click on this computer-- nothing.

    If you add in a spiffy trick for the users, embrace it.. to the bitter end. once users expect the right click to get them "under the hood" it's a cruel thing to yank that out from under them.

    4. Dont make it too easy to do things people dont want to do all that often..

    in explorer when your launching a program,, it's far too common that it's trying to rename the file.. and your waiting, and poof you hit space, blank the filename.. and hit esc hoping that the damn box will repopulate. This is where F2 or right-click are appropriate.

    5. Dont ask for input.. you will end up with the car that Homer built, if your lucky. I'll admit it was pretty cool... but the idea stands... the customer will ask for features and spite the elegance of the interface.

    Storm

    1. Re:Play some portal... by RMH101 · · Score: 1

      2. Dont add buttons.. On My Imac there is a small remote 2 buttons, and an outside ring.. This is FAR more powerful than the 50+ button remote for Dad's TV+dvd player remote

      Can I have an extra mouse button on my Mac, please?
      THIS IS A JOKE PEOPLE

  107. Story of the ribbon or many other reference by sleepypsycho · · Score: 1

    A very entertaining and interesting presentation is the story of the ribbon http://blogs.msdn.com/jensenh/archive/2008/03/12/the-story-of-the-ribbon.aspx It gives a lot of examples of user interface design practices. This includes watching users and building in tools to track usage and some advice on testing with users. You can also higher a user experience consultant to do user experience and usability tests. They can provide grounded feedback based on interview and observations. There are also a lot of other material on the topic. Look under Uesr Experience, Human Computer Interface, or Interactive Design. Some companies offer 1 to 3 day courses in various cities. I have not tried this but they are probably OK to getting started yourself. Obviously there is no magic bullet but there are existing systems to keep from going off in the wrong direction and starting with the big picture.

  108. Heuristic evaluation by Anonymous Coward · · Score: 0

    You can do this with two or three people, one of which should have a background in HCI.

    http://www.useit.com/papers/heuristic/heuristic_evaluation.html

  109. Re:Ask the users. 110% AGREED - GOOD POINT HARDIE by Anonymous Coward · · Score: 0

    First of all: Is this "legal correspondence" or my last will & testament?

    ANSWER = NO!

    Secondly: Do you have a PHD in English??

    ANSWER = PROBABLY NOT.

    Lastly: Are you employed as, or have been professionally been, an editor for any reknowned & respected written publications???

    ----

    CONCLUSION = YET ANOTHER /. 'wannabe' english professor/writing critic (complete w/ his lack of degrees & experience as a professsional editor for years no doubt)

    ----

    NOW - CORRECT ME IF I AM WRONG HERE (anyone reading): Is this a forums on computing & a topic on computing, specifically coding related... OR, an English grammar/spelling forums & topic?

    ANSWER = NO (to the latter, this is NO english grammar forums OR topic, period)...

    Thus... YOU ARE OFF TOPIC DOLT!

    LOL! "Spelling & Grammar Nazis", too TOO easy to dispense with, easily... too easy.

    APK

    P.S.=> Opinions vary, but, yours? Without either professional credentials (odds are as an editor OR educator in the english language), or @ the very least, a PHD in the English language??

    Man - YOU don't EVEN COUNT!

    Not that it'd matter even IF you had 1 of those qualifications... I've only been speaking & writing this language for over 41 yrs. now... & this certainly isn't a time where "perfect grammar" (FOR WHATEVER THAT MEANS, purely relative) or spelling etc. et al, is NOT mandatory!

    Clue - it's an online forums... wake up, smell the coffee, & realize that if this is the best you have to contribute here? You're not, not @ all - it's a topic on COMPUTING (specifically coding) - NOT AN ENGLISH GRAMMAR/SPELLING FORUMS, you fool! apk

  110. Re:Well, there's your problem. by Anonymous Coward · · Score: 0

    I see what you are saying here.

    For a lot of people, the User Front End is the most important thing next to the speed of the application. Not having a bloated program is better than one that is slow and not worth it.

    I know that with the Fedora, the front end was designed and tested by women. As a result, they saw it as successful.

    My biggest problem when I was coding C was getting the UI going so that people could use what I coded. Much of the time, things take collaboration. I can see from your post that it sometimes leads to disagreements.

  111. Re:Well, there's your problem. by Anonymous Coward · · Score: 0

    Actually, have select users test the system. The CEO might be removed from a core system that is not part of his role.

    This works well in my experience. With rich Winform interfaces (where various features perform complex data manipulation) the developers can't test all feature combinations (I'd love a tool that could).

    As well, each individual user has a specific style, a set of keystrokes, a workflow. The users selected for testing should be advanced, and new users should test as well (different types of style, including learning).

    Anyway, that's what I do...

  112. Different Skill Sets Re:You need an expert by DesignPsychology · · Score: 1

    UI_Developer <> UI_Desiger: different skill sets.

    It's the bomb when you can find 'em rolled into one, but there aren't enough gurus to go around.

    The general case: Jack of all trades, master of none.

    Instance: a good graphic designer is most likely a terrible copywriter.

    P.S. When did 3 unicorns meet the criterion to be a planet full of unicorns???

  113. No, there is no shortcut for UI review by Anonymous Coward · · Score: 0

    People are fricken complicated. Many orders of magnitude more complicated than large parallel-processing computers like Blue Gene/Q http://en.wikipedia.org/wiki/Blue_Gene#Blue_Gene.2FQ/.

    So you should expect that finding the most-efficient algorithm/program for a person to run (i.e. "selecting the best UI") is going to take a lot longer than it took to write the code for the less-than-amoeba-level CPU your developers write to.

    But if you're willing to settle for probably-good-enough you could take an approach similar to what's done for software architecture if you think of the published Apple and IBM UI standards (you got links in other posts) as UI Design Patterns and limit your UI discussion to selecting one of those and living with the fact that it won't be exactly the optimal UI for your particular program.

  114. Checklist by Anonymous Coward · · Score: 1, Interesting

    After trawling the web I found a checklist which I use as a template for UI testing. Not all are required for every app. I also pass it on to the designer to make sure things are as they should be.
    http://it.civil.aau.dk/it/education/reports/he_cklst.pdf

  115. Re:Well, there's your problem. by SQLGuru · · Score: 1

    I'd do basically the same thing but instead of the CEO (who doesn't really do much real work), I'd give it to the following people: 1) my mom - who is computer illiterate, 2) the most senior "real" user, and 3) the most novice "real" user.

    If my mom can figure it out, it's solid UI design.
    If the most senior user can use it, it's fully functional.
    If the most novice user can use it, it fits the task.

    If it passes all three of those tests, you're done. Take two weeks off and start your next project.

    Layne

  116. Re:Well, there's your problem. by Anonymous Coward · · Score: 0

    How do you flamebait an anonymous coward? Mods: you must be kidding.

  117. Re:Paper Prototyping - Mod Parent Up by jddj · · Score: 1

    Paper Prototyping is the way to go.

    NO UI designer is smart enough to know what users will do when they get hold of your designer - because it's not a problem your designer can solve with smarts. You MUST test prototypes with users.

    Sometimes you need domain-SME users (all I'd want if I was doing a medication dispensing system or an Air Traffic Control system).

    For many non-mission-critical things (phone number entry and validation is a perennial...developers always want to screw this way the fsck up for users), you can get some Joe off the street or some Jane from your cube farm who haven't seen the prior iterations of your design. Chances are if you can make it work well for Joe and Jane, it'll work well for your domain-SME users too. Testing with Joe and Jane beats testing nobody at all by several light-years.

    (Important tip: Make sure you tell Joe and Jane that THEY are not being tested, and it's not possible for them to make mistakes with the design - anything they do with it is fine with you. You must make clear that you and your design staff are effectively the test subjects - In working with the design, Joe and Jane are testing you to see how well YOU have done).

    Suggestion: read "Don't Make Me Think" by Steve Krug. It's a very short read, all signal, no noise, and the best first book on Web usability out there. While much of the book's advice is web-centric, it can be generalized in great part to application design - particularly on testing.

    If you test, you can bring numbers, science and analysis to the table to buttress your arguments. It's a good way to trump "we've always done it that way" and "expert" opinions that have nothing substantial behind them. You can estimate and demonstrate success before you write a line of code.

    Remember:

    - Design
    - Prototype
    - Test

    Not perfect? Repeat.

    There's a lot more you can learn. I recommend Bruce Tognazzini's "Interaction Design 101" 3-day course from Nielsen Norman group (offered recently at Usability Week SFO 2008). He teaches a method you can use to solve the problems you're describing. NN/g also has a worthwhile DVD on paper prototyping if you haven't seen or tried it before.

  118. Print and spread by cocoa+moe · · Score: 1
    If you have to decide beween different alternatives: Print them out as they will look on the screen and put them on the table. It is easy to discuss about the variations then.

    Also make mockups. A lot of them. Any tool will work for the mockups.

    I heared that is the way Apple does it.

    1. Re:Print and spread by cocoa+moe · · Score: 1

      Oh and I bet Apple does not use cheap ink or paper when making printouts. But maybe that is not as important?

  119. Prototype, Test, Iterate by Anonymous Coward · · Score: 1, Interesting

    I work as a usability engineer, and I'd echo what other people have talked about with testing. Doing a dozen week-long iterations, each of which culminates with testing the interface in front of a bunch of real, actual, live (no imitation!) users is worth more than a pack of developers arguing about the placement of buttons. Because all you'll ever get is an argument if everyone is using their gut instead of data or logic. The reason people use their gut is that it's really hard to mentally anticipate the effect of your interface on end users due to the huge number of input variables that a human is operating on. And your ability to emulate the decision making process of an average human starts out crippled if you happen to be one of those rare people who can understand math and complex logic and who therefore thinks nothing like 99% of the population. But why bother trying to emulate their decision making processes in your mind when it's cheaper and more accurate to simply watch them use it? Your boss has got a gut feeling that a button should be labeled X? Show 'em that 85% of novice users and 70% of domain experts found Y less confusing. You might still have a discussion, but at least you know some of the facts now.

    So in that vein, I'd recommend prototyping applications. It doesn't have to work for real, so I've hacked prototypes together using OmniGraffle Pro, Flash, JavaScript, Interface Builder, even HTML and powerpoint. I know some people use Visio, VB, and Denim too. The only dedicated usability application I've used (we can't afford eye tracking here, but that could also be useful) is CogTool** which can be useful for modeling expert behavior.

    *http://dub.washington.edu:2007/denim/
    *http://www.cs.cmu.edu/~bej/cogtool/ Full disclosure: While I'm not affiliated with this tool, I was friends with some folks who worked on it.

    1. Re:Prototype, Test, Iterate by shumway · · Score: 1

      I agree wholeheartedly. The more iterations the better, and interactive prototypes are incredibly useful for user testing. One of the visual designers I work with sent me a couple flash prototypes generated from http://www.boxesandarrows.com/view/quick-and-easy-flash and I thought it was a very slick experience. Not sure how much work it was on the designer's end though.

      --
  120. Quite simple by Anonymous Coward · · Score: 0

    Usability is inversely proportional to the number of mouse clicks for the user desired feature.

  121. Second rule of gui design by Anonymous Coward · · Score: 0

    Don't let managers do it.
    (However, I'm still struggling with how to implement that rule.)

  122. Re:Ask the users. 110% AGREED - GOOD POINT HARDIE by Anonymous Coward · · Score: 0

    I'd like to subscribe to your newsletter.


    Wait, no, I won't.

  123. "Don't make me think"... by TheRealDogByte · · Score: 1

    ... is a great book by Steve Krug (no connection, just a satisfied reader). He advocates *very* simple usability testing and gives practical advice on how to do it in Chapter 9: "Usability testing on 10 cents a day". I've followed the advice given and it worked well. Like the useit.com suggestions above, Krug's site is useful too: http://www.sensible.com/

  124. Re:Well, there's your problem. by Anonymous Coward · · Score: 0

    ...and with all our UI developers involved, it adds up...

    Too many cooks, as it were.

    How about Tool Petra? http://petra.cleverlance.com

  125. problem... by SuperDre · · Score: 1, Interesting

    The biggest problem with UI is... there is no perfect UI..... a UI is always in the eye of the beholder, some like this, some like that.. Some people like to work with toolbars, some with ribbons, and others with menu's... All manuals I've read so far about UI design is always from the perspective of the writer, 'his/her way would be best', well it's not... Also some methods may work for Application A, but it won't for Application B, hell sometimes it even doesn't work in the same application... So no matter what tool you try to use, it is always based on someones opinion.. I'm realistic enough to say that it's just not possible to create a UI that fits everybodies needs/wants.. and someone who claims he/she can is wrong and nothing more than expressing his/her opinion.. So to get to the most 'wanted' UI you need input from a lot of people...

  126. It's not rocket science by YourExperiment · · Score: 1
    1. Get the software working as best you can.
    2. Give it to the users.
    3. Ask them what's wrong with it.
    4. Fix it.
    5. ???.
    6. Profit.
  127. Re:Well, there's your problem. by Hognoxious · · Score: 2, Funny

    most CEOs are not your typical user

    Depends on the type of application. What if it's for fiddling your stock options or keeping track of your golf scores?

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  128. I am not coward, I am just anonymous by Anonymous Coward · · Score: 0

    Best Open source tool you can use here is user community, of course filter and pay attention to constructive comments only.

  129. Human Computer Interaction Desgin Techniques by Anonymous Coward · · Score: 0

    There are plenty of methods an techniques for the design of user interfaces.
    Most of the methods rely on the "user-centred design" approach (http://en.wikipedia.org/wiki/User-centered_design).
    Another point of view is the design of user interface by following a model-based approach (http://www.arpuerta.com/pdf/ieee97.pdf). In this approach a systemtic process is followed to generate the user interface (in a similar fashion as we do with model-driven development for general software). This approach still lack some flexibility in the design, but I think it is the future.

  130. Re:Well, there's your problem. by Jellybob · · Score: 1

    That's exactly what I was going to post (bring on the -1 redundant).

    The only way to test a user interface's effectiveness is to sit down and watch users using it.

    I don't know how many times I've pushed changes to a piece of software after watching someone doing things with it, and thinking that there is a better way for them to do that.

    If you want to be really professional, set up a usability lab, where you record both the screen, and the user watching the screen, and give them a list of tasks to complete (preferably ones that they're familiar with through their job role).

    You can then sit down, watch the video, and deal with any problems. If they clicked around 5 windows to find something, reduce that if possible. If the video of their face showed them swearing at the computer, fix whatever caused that.

    There really aren't any shortcuts to fixing a UI.

    To get an idea of what I'm talking about, have a look at Silverback, which is designed for Mac OS, but appears to do this the best way I've seen. I'm not affiliated with them, just loved the look of it.

  131. Re:Well, there's your problem. by ProfessionalCookie · · Score: 1
    IF it's only linux, make sure it's accessible from CLI, on a Mac do the same, but add a menu item for EVERY action- in windows make sure each menu item has a button somewhere. Clicking buttons should invoke modal yes/no dialogs.

    I kidd, I kidd- honestly play around with IB in xCode and it'll let you prototype ideas and keep them clean quickly. Then you can move your model over to the native tools on your platform.

  132. True - you need to get this guy by soliptic · · Score: 1

    You need the UI architect/lead

    Allow me to recommend this guy!

  133. Re:Well, there's your problem. by Anonymous Coward · · Score: 0

    Isn't this pretty much how Apple works?

  134. Re:Well, there's your problem. by Anonymous Coward · · Score: 0

    • Repeat until he goes about one month without any suggestions or complaints

    Quite Impossible. I wanna bet that one year after you've given him the app, he still comes up with changes and diffrent idea's. There's always this tiny detail you'll be able to do better and if it changes it can still be improved or something else will start to bother him. It's a street without end.

    You'll need to work with the employers who asked for the program. Let em work with it and see if they have changes they want implemented. I suggest that in the contract it sais that you'll provide this service for 6 months after the product has been finished and if they want it for longer than that period of time, they'd have to pay extra under the influence of a maintenance contract.

  135. Use Morae by SirCodeAlot · · Score: 1

    It is the best application out there for Usability studies. Put 10 people through some set of tests on your application and by the time you analyze your recordings and data you will understand where your customers are getting stuck/confused. A great thing to add is to have your developers watch the sessions live as remote observers, just hearing people's thought process if your tester keeps prodding them is invaluable. http://www.techsmith.com/morae.asp

  136. HCI by Anonymous Coward · · Score: 0

    You should probably read up on Human-Computer Interaction. Wiki has a pretty good article that includes some common design practices and heuristics. http://en.wikipedia.org/wiki/Human-computer_interaction

  137. Use Cases, Wireframes, Prototyping, User Testing by foniksonik · · Score: 1

    Just do it the old fashioned way.

    Start with a script for each action/task your users will want to take. These are called Use Cases.

    Diagram it out showing all the options along the way, the inputs and the outputs (sounds like UML you say...)

    Then create Wireframes which include all those inputs on a screen layout.... put them up on a big wall with strings connecting them representing your earlier diagram.

    Fourth, you can Prototype it using something like Axure, which is prototyping software... - only works on Windows ;-(

    Have a bunch of people follow the scripts that you wrote and see if they can accomplish the tasks. This is called User Testing.

    Fifth, have a good designer look at it. They will make suggestions about whitespace, cluttered menus, colors to use, fonts, etc.

    Add the graphics into your prototype (it's fairly easy with Axure)

    Now do another round of User Testing.

    If the first or second set of User Testing gives you significant feedback, incorporate it into your Use Cases, Wireframes and Prototypes and repeat these steps.

    Finally, UI design is very much like Software design.. if you do all your planning up front before you ever start coding or designing... you will save tremendous amounts of time at the end by not having to re-code everything when you find out it doesn't work correctly or your users hate it.

    The UI is as important as any other part of the software... take the time to do it right and use every tool in your engineering, programming, design and project management toolkits.... by design I mean architecture design, not pretty colors design.

    Oh and BE CONSISTENT... users want things to be in the same place every time they look for it... so don't hide things, disable them... don't move navigation around.

    One more thing, less is more. Google was very successful giving people one input box to do search... follow their example where possible.

    --
    A fool throws a stone into a well and a thousand sages can not remove it.
  138. Re:Ask the users. 110% AGREED - GOOD POINT HARDIE by Anonymous Coward · · Score: 0

    You certainly got your ass handed to you by that reply prior to yours to which you replied. The poster was right on the mark in regard to your being off topic here and lacking the credentials in education or professional status to be telling anyone how to write or post on a forums it seems. I am going to have to remember those points he used and take a play out of his playbook versus garbage like your kind spews on the page here on this and other websites.

  139. Re:Well, there's your problem. by thomas.galvin · · Score: 1

    Also, for all your developers, do you have a designer? UI development = graphic design + industrial/interaction design.

    Pretty much every web site I've ever been to that was created by a graphic designer was a beautiful, unusable piece of crap. Food for thought...

  140. 100% Agreed - For example - by RevWaldo · · Score: 1
    I once built a database for a small group (20 users) in Access with an (IMHO) ass-kicking-way-better-than-it-had-to-be front end for data entry. Simple to use, raves all around, especially compared to the earlier version. Some tweaks and fixes here and there based on feedback, but nothing major.

    But one user was constantly struggling with getting her entries in on time. Then one day I was helping her with one random issue with the DB and asked her to walk through it. My heart sank as I saw her using her mouse to move from field to field, rather than using the tab key - the tab order of the UI being one of the details I sweated over.

    One more detail to add to the instruction sheet, and another proof of the ingenuity of fools.

  141. It's all about user testing. by Anonymous Coward · · Score: 0

    Many of the replies have very good suggestions for "the cycle" of UI. There is more psychology than most people would like to deal with when creating a user interface, but the simple fact is that it must be dealt with in order to make a usable interface. The suggestion of a mock-up application and have users test it is the best way to go. And like many people have said before, don't guide them in performing some action, rather give them a simple task and see how easy or difficult it is for them to perform. It's much different for a new user to have to create a new file or account versus the developer saying, "oh, it's really easy to create a new thing, you just have to press ctrl+shift+alt+N, duh!"

  142. Anonymous Coward. by Anonymous Coward · · Score: 0

    There are many UI standard guidelines available for Window/OSX.

    You can possibly follow those.

  143. Keystroke-Level Model by Anonymous Coward · · Score: 0

    You can make an educated guess about how much pointing/clicking/typing a user who is experienced with the program would need. Interface Designer Jef Raskin recommended that method in his book "The Humane Interface" and it's cheap, too.

    http://en.wikipedia.org/wiki/KLM_(human_computer_interaction)

  144. I think you all missed the point of the question by Giant+Electronic+Bra · · Score: 1

    The OP wanted to know if anyone knew of a tool for doing a REVIEW of a user interface.

    This has not to do with user interface design or testing.

    Look at it this way. You design your UI, you build it, now you need to compare the design with the implementation. Is there a tool for that?

    This would be particularly important in cases where you are updating an existing UI. Suppose the tasks are X,Y, and Z. Now you need to determine if those tasks have been properly accomplished. Do the new UI elements propery integrate with the look and feel of the rest of the UI? Do they properly implement the workflow. Was the design of these changes/features what you really wanted?

    You need to review the thing, just like you would review a piece of source code. Is the job done right, that is the question to answer.

    So IMHO such a tool would allow people to view and interact with the UI and to annotate it in some fashion. Then they can show everyone what they like or don't like, and any errors or inconsistencies, which can then be fixed and reviewed again.

    Some of this might fall under the heading of UI test automation, but that only really checks the functionality, not the consistency and feel of the thing.

    Personally I don't know of a purpose built tool for this. It could be a nice thing to have, especially in larger shops.

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
  145. UI Design/IA by psiberia · · Score: 1

    Sorry about the long post, but everyone here has touched on pieces of the whole...

    Ideally you would have a UI Designer, IA (Information Architect), or someone with experience in both fields (Programming and Design) on staff. Someone that can come to the table and understand why creative wants the buttons grouped and centered, and why the developers want the 22 functions available on screen. Not folding to one side or the other of the fence, but can come up with a solution that gives both a compromise and doesn't hurt usability or functionality. Ultimately this person is the one with the final choice and power to say this is the interface and these are the reasons why. Neither designers nor programmers, with strict thought processes in either field should be laying out the interfaces; both tend to hurt either usability or functionality.

    During the (initial) phases of a project, it is inevitable that everyone will have an opinion of what "they" would like to see. While this is helpful from a creative and progression stand point, you have to be sure not to surpass the scope of what you are attempting to accomplish. If people's (internally) toes get stepped on because the buttons aren't where they wanted it... so be it. It's not them using or buying the application... it's your customers. People who regard the user as "stupid", "not to give the user control", or say "they don't know what they are doing" are of the wrong attitude. If the user is having problems with your application or can't figure it out, then it's your fault and you should feel like the stupid one. You can build the fastest search engine in the world, but if its not usable, no one will touch it. People may not have a clear understand of other people's roles and tasks. They do have a clear understanding of their own; as they do it day-in-day-out. This should be taken into account in any UI design. This is called user-centric design, you don't necessarily give the user full range to design your application, but you understand their workflow and patterns; creating the interface around how they work. This is why a product fails, or you hear people in the office day-to-day, "it's just a quirk of the program, we just live with it", or "this program doesn't make sense, who thought of this... it's stupid".

    Back to the question at hand, with regards to a process, there should be one defined, and a single person should be in control of the it. If these are brainstorming sessions then everyone sitting around a table, debating, makes perfect sense. Otherwise, someone should be sitting down and with the functional requirements and creating a document and doing preliminary (user) testing. Only after completing a draft should there be a meeting with the group to obtain feedback and gather new changes.

    Prior to making the document something to note; a mistake made when creating a document is doing so without defining rules or having a reason to backup why the layouts are the way they are. This should be gathered before giving it to a group for discussion; having sound and logical reasoning behind the structure and layouts gives no one a reason to debate (besides the fact they like to argue). The document should, at the very least, cover these sections below:

    1) Project/Document Scope - This sets up the document and discussions. Try to only outline what is in scope, rather than focusing on what is NOT in scope. I say this because it raises questions why it shouldn't be in scope at this time. The simple answer to this usually is budget, time, and/or resources. Anything that is out of scope can be stopped immediately when brought up shouldn't be discussed at that time. It can be noted for future release, or additions to the document, if critical. But the scope should be have been clearly defined prior to the start of the project to correctly allocate resources.

    2) Sitemap - everyone mentioned wireframes, but nothing of sitemaps. Diagram of screen flow; hierarchy/tree diagrams, or web diagrams work here. You are trying to identify the f

  146. Re:Well, there's your problem. by Anonymous Coward · · Score: 0

    Well maybe they should get out of their 'When you're a hammer' mentality and learn some interaction design.

    Just like 99% of thick client UI developers and usability engineers should get of their 'When you're a hammer' mentality and learn some graphic design.

    Why do people find it so hard to admit they don't know everything, and that they could do well learn something from other people??

  147. Re:Well, there's your problem. by marcosdumay · · Score: 1

    Well, if it is Linux, you please do make sure it is accessible from CLI.

  148. Going Native Among the End-Users by handy_vandal · · Score: 1

    When I was fifteen (I'm now forty-seven), my dad taught me the rudiments of structured programming. He was a programmer himself, for the Star-Tribune.

    Something he said has always stuck with me. He said, what usually happens is this: Management issues some directives; the programmers fulfill the directives; the end users try to use the programs -- and things go wrong because the end users were never consulted about what kind of tools they need to do their jobs.

    The successful programmer, dad said, is the one who first goes and sits down with the end users, talks to them about their jobs, finds out what they really need -- then integrates this knowledge with Management directives. He called this "going native" (before he was a programmer, he took his degree in anthropology).

    Link.

    --
    -kgj
  149. No, there aren't by blueapples · · Score: 1

    A committee cannot design a good interface, and neither can any piece of software. One extremely good designer should be placed in charge of the GUI, and his word should be scripture.

    --
    www.blueapples.org
  150. Re:Well, there's your problem. by MrMarket · · Score: 1

    How is this a Troll? Apple follows the steps in the GP to a tee.

    Jobs was very involved with the design and UI of the iPod.

  151. mocean; palo alto, ca by Anonymous Coward · · Score: 0

    A&B testing helps a great deal when dealing with responses that can't be measured very accurately or easily. You could go the scientific route of trying to measure user reactions with predefined metrics such as time spent on page/window, tracking of user eye movement, etc. but this can be costly and as stated above can often yield results that don't perform as well as what a designer could put together.

    Have your design team create a few options and run some A & B tests to see the responses. Use that as your litmus. Many corporations do this actively on their live sites with new marketing material or ui design.

    Good luck.

  152. Re:Well, there's your problem. by Anonymous Coward · · Score: 0

    Essentially "Hallway Usability Testing", right?

  153. Devs who aren't also users don't know shit by RMH101 · · Score: 1

    ..which is why you pair Devs up with Users to create a good UI. Without understanding the users workflow, you can't design a good UI for anything of more than basic complexity.

  154. Have your UI review be business-driven by Anonymous Coward · · Score: 0

    It is a tedious process to review the whole UI, and often we don't even have the resources to integrate all resulting design changes.

    I usually recommend a business-driven approach where you use the business objectives to align the UI to the business. The usability review will be then scenario-based, with a business objective in mind. You hence also can benefit from an incremental approach to cover your site, based on your biz priorities.

    I find it easier this way to manage resources as well as the scope of the review/changes when you have a large UI.

    You have to be careful to manage scenario dependencies.

    Best,
    Laurence
    http://uiboutique.com/