So what do you do when you proactively try to avoid issues and mistakes in application design? In the article, "Top-10 Application-Design Mistakes", Jakob Nielsen describes the many problems that designers make. He says that it was difficult to write this article because, "the very worst mistakes are domain-specific." You have to consider that applications fail because:

His intro in this article is, in my opinion, the foremost step to fix the list of top-10 application design mistakes; test real users and base decisions on user research. It just takes a little effort to create a paper prototype and do field studies with people who will actually grace the site.

"The general idea seems to be that real programmers can't be let out of their cages. My view is just the opposite: no one should be allowed to work on an application unless they've spent a day observing a few end users." (Nielsen).

Thus, Nielsen roughly put together his top-ten list of application design mistakes:

  1. Non-Standard GUI Controls: Here we are talking about designing buttons, GUI widgets, radio buttons, check boxes, and etcetera. Nielsen focuses on the continual scrollbar issue that keeps cropping up on web sites that is not following the common conventions of a GUI control. The key is to not change the basic convention of appearance and behavior or users will be thrown off.

    Nielsen wittingly sums up this pointer with a reintroduction to Jakob’s Law with an addition of "Jakob’s Second Law: "If Jakob's Law is "users spend most of their time on other websites," then Jakob's Second Law is even more critical: "Users have several thousand times more experience with standard GUI controls than with any individual new design."”
    I like what he says here in the following; "Users will most likely fail if you deviate from expectations on something as basic as the controls to operate a UI. And, even if they don't fail, they'll expend substantial brainpower trying to operate something that shouldn't require a second thought. Users' cognitive resources are better spent understanding how your application's features can help them achieve their goals."
    Nielsen also looks at the inverse of this problem where text looks and acts like links, buttons, or check boxes which are actually NOT any of those. Again if GUI controls don’t appear and behave like they should, users will be thrown off.

  2. Inconsistency: To kind of go along with the previous GUI issues; different words or commands for the same things causes confusion and disorientation. Nielsen focuses on violating display inertia.

    He talks about the site on expedia.com where the calendar popup changes from February on the left and March on the right. Once the user picks the departure day, the month of March moves to the left and April pops up on the right. It may seem like a convenient thing for a handful of users but some users get confused because they associate the left calendar box to be March and no other month and a mistake can ultimately be costly and inconvenient for the consumer and the producer. The key here is to not take the risks of confusing convention.

  3. No Perceived Affordance:Perceived Affordance is the ability to look at something on a web page and know inherently that it will behave in a certain way. Like when you see a button, all people assume that if you click on it something will happen. Nielsen says this is a very important concept because UI designs will guide the users to where they think they need to go. Unless you’re a child, most users will not click around the page just to see what happens.

    I find it interesting that where I experience a lack of perceived affordance, I have the following symptoms that are described in the article:

    • Users say, "What do I do here?"
    • Users don't go near a feature that would help them.
    • A profusion of screen text tries to overcome these two problems. (Even worse are verbose, multi-stage instructions that disappear after you perform the first of several actions.)

    I also continually have issues with tiny click targets and I am neither old nor have disabilities. The key here is to create UI designs that are natural for the average user.

  4. No Feedback: Tell users what is going on with the site and what the site does. Internet connection speeds are get faster and faster as time goes on and users don’t like to wait unless they are explicitly told that they have to in order to complete a desired task. Use the "busy" signal or a percentage bar so that there is a measurement of who long a user will have to wait.
  5. Bad Error Messages: Error messages have consistently left the user helpless as of late because they don’t tell the user how to fix it and why it happened. This can be a learning moment for the user since most will want to overcome them. Also they need to be more prominent on all web pages.
  6. Asking for the Same Info Twice: User’s don’t need to enter information more than once; this a huge convenience of the computer. Don’t be lazy and transfer info from one application to another.
  7. No Default Values: Default values is a great concept to implement because they (1) speed up the interaction with which default is acceptable, (2) they teach by example of what an appropriate answer should be, and (3) they direct novice users to a safe outcome by letting them choose the default if they don’t know what to choose.
  8. Dumping Users Into the App: Most users stubble on applications that you think they should know or at least use but the fact is that for some users won’t even have a clue on what you want them to do or how to accomplish a certain task. Although there may be familiarity with spreadsheets and order pages, users being dumped into an application that is unfamiliar will only discourage them more.
  9. Not Indicating How the Info will be used: This one is a biggie for me and in my opinion is self-explanatory. Asking users to provide information without telling them what is for can freak them out. There is a lack of trust involved. Stating exactly why there is need for certain information can go along way with newbie and loyal users.
  10. System Centric Features: Again, a flaw that seems to come out is what the application expects you to do and what you think you ought to do. The key again is informing the user the purpose and key features if the app so that any questions that arise are also solved in a punctual manner.

To add one last thought, Nielsen throws in a bonus mistake!

Bonus Mistake: Reset Button on Web Forums: Here is an ironic device that should be held by users or firms that fill out forms frequently with various accounts of information. It is of no use to a consumer who fills out their information only one time EVER. Nielsen says,

"Making it easy for users to destroy their work in a single click violates one of the most basic usability principles, which is to respect and protect the user's work at almost any cost."

In other words, just because you can, doesn’t mean you should.

I find it interesting that out of the majority of all the Alertbox articles that I have covered, there has been a recurring theme when it comes down to usability. I think that all these little things practiced and thought out will really improve my personal web site and improve the satisfaction of those people who will spend time on it. Right now I have taken into account all of the mistakes that can be made and will learn to avoid them at all costs.