Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Software, Tools, Or Techniques For UI Review?

Posted by kdawson on Tue Jul 29, 2008 03:33 PM
from the visual-spider dept.
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."
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • ...and with all our UI developers involved, it adds up...

    Too many cooks, as it were.

    • by matrix mechanic (893601) on Tuesday July 29 2008, @04:00PM (#24391775)
      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 [worrydream.com]
      • by LaskoVortex (1153471) on Tuesday July 29 2008, @04:08PM (#24391915)

        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.

        • by belmolis (702863) <billposer&alum,mit,edu> on Tuesday July 29 2008, @04:20PM (#24392079) Homepage

          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.

          • by KillerBob (217953) on Tuesday July 29 2008, @05:17PM (#24392903)

            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.

            • by lorenzo.boccaccia (1263310) on Tuesday July 29 2008, @06:40PM (#24393873)
              and when you test, measure, measure, measure.
              don't take a single word of the user reports without some sort of usage pattern logs. users tend to concentrate on the latest bad experience they have had. measure time spent on windows, time spent on similar tasks, undo per windows and a lot of other metrics, as time between clicks on button, and filter the user reports trough the application log (and vice versa) most of the bad experience could be just automated away, hidden completely or better represented by some sort of flow management (as wizards).
        • Re: (Score:3, 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 oft

        • 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 wa

        • by WGR (32993) on Tuesday July 29 2008, @08:14PM (#24394637) Journal

          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.

        • 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-

          • Re: (Score:3, 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.

      • by ProppaT (557551) on Tuesday July 29 2008, @04:32PM (#24392289) Homepage

        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.

            • Re: (Score:3, 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 o

      • In this section [worrydream.com] 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

    • by bfizzle (836992) on Tuesday July 29 2008, @04:07PM (#24391879)

      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.

    • by electrictroy (912290) on Tuesday July 29 2008, @04:42PM (#24392403)

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

  • Ask the users. (Score:5, Insightful)

    by oahazmatt (868057) on Tuesday July 29 2008, @03:36PM (#24391377) Journal
    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.
    • Re: (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.

    • Re:Ask the users. (Score:5, Insightful)

      by hardie (716254) on Tuesday July 29 2008, @03:49PM (#24391601)

      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

    • Re: (Score:3, 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

    • Re: (Score:3, 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.

    • Re: (Score:3, Insightful)

      "Ask the users."

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

      • Re:Ask the users. (Score:5, Interesting)

        by Jupiter Jones (584946) on Tuesday July 29 2008, @04:41PM (#24392385)
        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 [useit.com].)

        JJ
        • Re: (Score:3, 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 o

  • by Foofoobar (318279) on Tuesday July 29 2008, @03:37PM (#24391383)
    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 [apple.com]
  • Paper Prototyping (Score:4, Insightful)

    by mpapet (761907) on Tuesday July 29 2008, @03:38PM (#24391397) Homepage

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

    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.

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

  • CUA/CUI specs (Score:5, Informative)

    by RobertM1968 (951074) on Tuesday July 29 2008, @03:41PM (#24391451) Homepage Journal

    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

    • Re:CUA/CUI specs (Score:4, Informative)

      by RobertM1968 (951074) on Tuesday July 29 2008, @03:52PM (#24391655) Homepage Journal

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

  • by matrix mechanic (893601) on Tuesday July 29 2008, @03:41PM (#24391457)
    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.
  • Uh... (Score:5, Insightful)

    by SatanicPuppy (611928) * <[Satanicpuppy] [at] [gmail.com]> on Tuesday July 29 2008, @03:42PM (#24391471) Journal

    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.

  • by Stormwave0 (799614) on Tuesday July 29 2008, @03:42PM (#24391479)
    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 [joelonsoftware.com]
  • by sm62704 (957197) on Tuesday July 29 2008, @03:43PM (#24391487) Journal

    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.

  • by Thelasko (1196535) on Tuesday July 29 2008, @03:47PM (#24391551) Journal
    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.
  • Director (Score:4, Informative)

    by lax-goalie (730970) on Tuesday July 29 2008, @03:53PM (#24391677)

    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.

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

  • by Black-Man (198831) on Tuesday July 29 2008, @03:58PM (#24391751)

    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.

  • by Light303 (1335283) on Tuesday July 29 2008, @04:00PM (#24391771)

    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/ [useit.com] ... 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)

  • 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 [wikipedia.org] 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.
  • Simple is often best (Score:5, Informative)

    by viking80 (697716) on Tuesday July 29 2008, @04:16PM (#24392035) Journal

    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.

  • You need an expert (Score:5, Insightful)

    by rossz (67331) <ogre@noSPAM.geekbiker.net> on Tuesday July 29 2008, @04:27PM (#24392199) Homepage Journal

    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.

    • 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 nu
  • by dpbsmith (263124) on Tuesday July 29 2008, @06:07PM (#24393489) Homepage

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

  • by v(*_*)vvvv (233078) on Tuesday July 29 2008, @07:35PM (#24394363)

    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.