<p>How do you test the usability of the user interfaces of your applications - be they web or desktop?  Do you just throw it all together and then tweak it based on user experience once the application is live?  Or do you pass it to a specific usability team for testing prior to release?</p>

<p>We are a small software house, but I am interested in the best practices of how to measure usability.</p>

<p>Any help appreciated.</p>

[{'answer_id': 18207, 'author': 'Adam Haile', 'author_id': 194, 'author_profile': 'https://Stackoverflow.com/users/194', 'pm_score': 1, 'selected': False, 'text': '<p>I frequently take any new interface I\'m working on to one of our technical support people.  They\'ve heard every complaint about interfaces that you could ever imagine, so if anyone is going to think up potential problems, they will.</p>\n\n<p>Also, and I\'m not kidding about this, I often take the least computer literate person I know (you\'re mother is often a good choice...but they have to have <em>used</em> a computer before, otherwise it\'s going to by pointless) and let them loose on the interface with no instruction.  If they can\'t figure out where things are intuitively, then your GUI likely needs work.  Remember, <a href="https://rads.stackoverflow.com/amzn/click/com/0789723107" rel="nofollow noreferrer" rel="nofollow noreferrer">Don\'t make them think!</a>  (yes, I know this is for web design, but it applies)</p>\n'}, {'answer_id': 18210, 'author': 'Community', 'author_id': -1, 'author_profile': 'https://Stackoverflow.com/users/-1', 'pm_score': 3, 'selected': False, 'text': '<p>What I like to do is give someone an install package, ask them to perform a number of tasks related to how the application works, and watch.  </p>\n\n<p>Hardest part is to keep your mouth shut.</p>\n'}, {'answer_id': 18213, 'author': 'Steve', 'author_id': 2019, 'author_profile': 'https://Stackoverflow.com/users/2019', 'pm_score': 2, 'selected': False, 'text': "<p>Normally, we test the usability of new interfaces by asking a small selection of users to try out a beta version. </p>\n\n<p>We give a small amount of instruction as to what the new features/screens are supposed to do and let them dive straight into it. It's very interesting to see where they are looking and clicking. We never demo the new features - we only talk about what it does. </p>\n\n<p>If the UI changes are minimal then they go live and we gather feedback from real users. It's only when we are making big changes that we go through usability tests on beta.</p>\n\n<p>When developing new screens it usually helps a hell of a lot to get a colleague sat in front of the UI and ask them what it does. Which areas do they click on? Where are they looking first? What sections are drawing their attention? etc.</p>\n"}, {'answer_id': 18263, 'author': 'mk.', 'author_id': 1797, 'author_profile': 'https://Stackoverflow.com/users/1797', 'pm_score': 4, 'selected': True, 'text': '<p>I like <a href="http://friendfeed.com/paul" rel="noreferrer">Paul Buchheit\'s</a> answer on this from startup school. The short version of what he said listen to your users. Listen does not mean obey your users. Take in the data filter out all the bad advice and iteratively clean up the site. Lather, rinse, repeat. </p>\n\n<p>If you are a small shop you probably don\'t have a team of QA or Usability people or whatever to go through the site. Your users are going to be the ones that actually use the site though. Their feedback can be invaluable.</p>\n\n<p>If something is too hard for one of your users to use or too complex to understand why they should use it, then it might be the same way for 1000 other users. Find a simpler way of accomplishing the same thing. </p>\n\n<p>Once you have gathered all of this feedback and have a list of things to do, do the simplest ones first. That way you have forward moving usability progress. </p>\n'}, {'answer_id': 18266, 'author': 'Jordan H.', 'author_id': 1540, 'author_profile': 'https://Stackoverflow.com/users/1540', 'pm_score': 2, 'selected': False, 'text': '<p>I agree with Adam; using a very computer illiterate person is very helpful. However, what I\'ve run into before with that is the program I want them to try out just isn\'t "up their alley" as far as something they would ever want to do.</p>\n\n<p>A good way to start is with a paper prototype. Have specific tasks that you want your "user" to perform and have them do it. For more on paper prototyping, start <a href="http://en.wikipedia.org/wiki/Paper_prototyping" rel="nofollow noreferrer">here</a>.</p>\n'}, {'answer_id': 18271, 'author': 'Krishna Kumar', 'author_id': 2141, 'author_profile': 'https://Stackoverflow.com/users/2141', 'pm_score': 2, 'selected': False, 'text': '<p>Some of the best advice on usability testing is available on Jakob Nielsen\'s Website <a href="http://www.useit.com" rel="nofollow noreferrer">http://www.useit.com</a>. He advocates what Will mentioned - ask users to perform various tasks on your website or web application and then sit back to see what they do. </p>\n\n<p>Do not interrupt the users by asking questions or guiding them. Just observe them and document their flow. You can also get hardware and software to do eye-tracking and understand what captures the attention of the users.</p>\n\n<p>However, usability should not start from the testing phase. You must have some general idea of what users generally like and do not like when you do development. There are many websites and books outlining generally accepted usability standards and principles. </p>\n'}, {'answer_id': 39477, 'author': 'puri', 'author_id': 3388, 'author_profile': 'https://Stackoverflow.com/users/3388', 'pm_score': 1, 'selected': False, 'text': '<p>There are many ways to test the usability of a system. Please check any available literature you can find. I just want to insist that usability test is not so hard as you or anyone might think. In a famous paper called "A mathematical model of the finding of usability problems" in INTERACT\'93 and CHI\'93, J. Nielsen and T. K. Landauer showed that only five users are enough to find most problems in a small system.</p>\n\n<p>If you have no way to read this paper, try this article in the author\'s website:\n<a href="http://www.useit.com/alertbox/20000319.html" rel="nofollow noreferrer">http://www.useit.com/alertbox/20000319.html</a></p>\n'}, {'answer_id': 232470, 'author': 'Newtopian', 'author_id': 25812, 'author_profile': 'https://Stackoverflow.com/users/25812', 'pm_score': 1, 'selected': False, 'text': '<p>Z\'been a while since this question was last active but here goes anyways.</p>\n\n<p>From experience :</p>\n\n<ul>\n<li>Always use Objectively measurable to decide if usability is better or not (time to accomplish carefully selected task, inactive time, KLM type metrics) here a key-mouse logger can be a precious ally</li>\n<li>Never go too far ahead before consulting and measuring again with your client (do not encage yourself with the paper prototype and emerge with the finish product... that just never works)</li>\n<li>read, read, read, try, evolve</li>\n<li>Keep things simple and always remember the task at had (why the user needs the interface)</li>\n<li>test, test and test again... </li>\n<li>Always go to the bottom of the user requests.  Although the check box the user request at this particular place may be the best thing to do, it almost always hides a more fundamental flaw</li>\n<li>the system user (the one using it... as opposed to the one paying for it) is your best ally, keep him/her on your side </li>\n</ul>\n\n<p>Never be afraid of refactoring your design and evolve your system.  Also evolve your metrics and measurements also, however be careful in doing so not to break measurements continuity as it is the best token of objective progress in a VERY subjective world.</p>\n\n<p>recommended reading (other than previously proposed):<br></p>\n\n<ul>\n<li><p>Handbook of usability testing <a href="http://www.usability.com/whoweare_rubin.html" rel="nofollow noreferrer">Jeff Rubin</a>.  A bit extreme but we toyed around an agile version of his approach and found that if we spent 30 minutes a week with users we would get a LOT of useful feedback while not getting swamped with too much info.</p></li>\n<li><p>keep close watch to the Sneiderman and Nielsen of this world and other that may arrise</p></li>\n</ul>\n'}, {'answer_id': 238876, 'author': 'Jason Sundram', 'author_id': 2683, 'author_profile': 'https://Stackoverflow.com/users/2683', 'pm_score': 0, 'selected': False, 'text': "<p>I'm a strong believer in what I call 3-martini usability testing. When designing a system, imagine that the person who will be using it has just had 3 martinis. </p>\n\n<p>Before handing over the system to colleagues (other programmers, quality assurance, tech support) or usability testers, an informal test with a couple of friends and  a bottle of vodka (outside of work, of course) can often prove instructive.</p>\n"}, {'answer_id': 289652, 'author': 'smerten', 'author_id': 37288, 'author_profile': 'https://Stackoverflow.com/users/37288', 'pm_score': 1, 'selected': False, 'text': '<p>As usability inspection goes, there are several viable methods. They require a different amount of resources in regards to persons, analysis and equiptment.</p>\n\n<p>The most common, and easiest to perform is called </p>\n\n<p><strong>Heuristic Evaluation</strong></p>\n\n<p>You basically walk through each screen to check if it conforms to the heuristics set by you, or your customer.</p>\n\n<p>Check this article <a href="http://portal.acm.org/citation.cfm?id=97243.97281" rel="nofollow noreferrer">by Nielsen</a></p>\n\n<p><strong>Cognitive walkthrough</strong></p>\n\n<p>This method requires you to ask the user to complete steps in the application. You prepare steps for the user to complete. Issues that arrise during this walkthrough is taken into consideration when finishing the application.</p>\n\n<p>Check <a href="http://psych.colorado.edu/ics/techpubs/pdf/91-01.pdf" rel="nofollow noreferrer">this</a> paper for details.</p>\n\n<p><strong>Think Aloud Analysis</strong></p>\n\n<p>I have used this method mostly in the early stages of prototyping. I let the user talk freely about the system while it is beeing used. Ask questions about use, design etc. You can get a really nice veiw of the general feeligns of the system, and what features are lacking.</p>\n\n<p>Check <a href="http://portal.acm.org/citation.cfm?id=572020.572033" rel="nofollow noreferrer">this paper</a> for details.</p>\n\n<p><strong>Interaction analysis</strong>\nThis is a more tricky one. I have only used the datagathering teqchniques proposed by this one. This technique takes into account context, activites, body language etc. Interaction analysis is commonly focused on research, not so much in commercial evaluations.</p>\n\n<p>This <a href="http://www.informaworld.com/smpp/content~content=a785041073~db=all" rel="nofollow noreferrer">link</a> takes you to the article.</p>\n\n<p>Keep in mind that these methods take practice to perfect. I would start with HE, continue to CW and THA. And only use Interaction Analysis if you have lots of resources and time.</p>\n'}, {'answer_id': 6041215, 'author': 'rohan', 'author_id': 758697, 'author_profile': 'https://Stackoverflow.com/users/758697', 'pm_score': 1, 'selected': False, 'text': '<p>There are a number of methods to test or evaluate usability of an application. Broken down into qualitative and quantitative methods and based on when you are planning to test. </p>\n\n<p>Further it is categorized based on whether users are involved or experts do the testing. </p>\n\n<p>To name a few methods, </p>\n\n<ol>\n<li>Expert Reviews - user interface or usability experts rate the usability of an interface based on decided heuristics and principles </li>\n<li>Formative usability testing - task flows are taken and users are provided with tasks to be completed. Qualitative feedback is collected based on what the users feel the pain points are during the testing. This form of testing is done during the design to provided feedback into the design of the application. </li>\n<li>Summative Usability testing - task flows are taken and users are provided with tasks to be completed. The applications performance on efficiency, effectiveness and satisfaction are measured based on users completion of tasks. </li>\n</ol>\n\n<p>The importance difference is whether you engage the user or a expert to tell you the difference in usability. Further on when you do the evaluation - at the end of the project or during the design phases. </p>\n'}]
['https://Stackoverflow.com/questions/18197', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/770/']