All posts

Do you want to learn to make software that delights users?

Design

Here's an entire university course on UX broken down into one simple page.

These are the important ideas taught in a senior level UX course at Waikato University. But with the academic jargon (and a whole lot on creating scientific experiments) stripped out.

User experience starts with understanding users.

Unfortunately you can't just ask them what they need:

  • They don't know what they want.

  • They don't know how to achieve what they do want.

  • They don't know what's possible.

Instead we study the users.

Analysis is studying the user 'in the wild', where they work. Observation is watching them try to complete their task. There's also interviews, and tools like logging, analytics and session playback.

(Questionnaires are usually a waste of time.)

When we observe the user, we’re asking:

  • What are negatives in the experience - so we can eliminate these from our design.

  • What are the positives in the experience - so we can keep or enhance these in the design.

Create personas to help understand users and explain what they need.

You can write different personas for each niche of users you are serving. Also create negative personas to help understand who you are not designing for.

Keep your prototypes simple - you should be able to sketch them on paper. This keeps them focused on what's important.

You can use pieces of paper to manually simulate what the interface will do while someone 'uses' it.

What usability means:

  • Easy to learn - the UI teaches you itself.

  • Efficient to use - experts can get jobs done quickly.

  • Easy to remember - you don't have to relearn.

  • Few errors - guide rails keep you from making mistakes.

  • Aesthetically pleasing - doesn't burn your eyes to look at it.

Interfaces are always fighting the problem of limited space (especially on mobile).

The space is shared between content and controls. What % does each get?

You can reuse space with tabs, scrolling, hover overs, tooltips, popups (modals) and panels.

There's a simple principle for using space:

Put the most important thing in the biggest area. (The principle of centre stage.)

What features are frequently used? Can we automate that task?

If not, can we make it easier? This might include making it bigger, closer or easier to find.

How recently was a feature or an item used?

It's very likely the user will use it again soon. Make recent items easily accessible.

Which elements are redundant?

The UI gets more complex when a feature is presented in multiple ways.

(Caveat: sometimes to prevent errors or for safety you need to repeat the message.)

Minimise clutter.

The data - ink ratio is the proportion of pixels that are conveying information.

Does everything on the screen have a purpose?

Don't overwhelm the user.

Hick's Law says the time it takes to make a decision increases as the number of alternatives increases.

So the having more options makes it harder to use.

Is there a reason for each option on the screen?

Evaluate what you've built, by simply watching users try and use your product.

Jackob Nielsen says observing five users is enough. You'll find 85% of the issues, and have plenty to work on. Even one user gives you some useful information.

Intelligent user interfaces adapt to the needs of the user.

This includes prediction and recommendation, but can go much further with interfaces that anticipate and adapt to your needs.

What happens when an error occurs in your software?

The user might try the same thing again, try a different approach, ask for help, search for help, use support, or worst of all, give up.

User difficulties include:

  • "The gulf of execution" - they want to do something but the software won't let them.

  • "The gulf of evaluation" - they expected the action to result in a different state than it did.

Errors can be:

  • Bugs - the codes fault.

  • Human - the user's fault.

  • Interface - the designer's fault.

Often errors are a combination of the interface and the user. The user is fragile, expect them to get things wrong.

Understand the common user errors to help eliminate them:

  • Forgetting the goal - losing track of the goal.

  • Missing a step in the process.

  • Selecting the wrong thing - like when two actions have similar names.

  • Doing the wrong combination of actions.

UIs need to consider accessibility for visual disabilities.

These include blindness, visual impairment, colour blindness and dyslexia.

There is a bit more… like Jakob Nielsen’s ten rules for interfaces and Donald Norman’s seven stages of the user process.

But those are too big to cram in here.