Human Interface Guidelines/User-Centered Design

= User-Centered Design =

This page should give guidelines on how to approach the design aspects of projects, especially bigger ones. There are some formalities involved too, but there are explained on the Process page.

Introduction
There won't be an in-depth introduction to user-centered design approaches here - for that there's plenty of material available.

Here are a few core principles:
 * Keep the process agile and iterative. Systems should never be developed in a "plan -> implement -> design -> test" kind of process.
 * Focus on conversations, not documentation Documentation has two big issues: Creating it takes lots of time and everybody will have a different understanding after reading. It's not the fault of bad documentation, it's an inherent problem of written language. Conversations help finding differences in understanding - encourage them.
 * Produce many design fragments, keep it all on a dashboard. When designing things, produce personas, user story maps, scribbles, wireframes, high-fidelity mockups (do these relatively late in the process!), various test results... All these things help you understand what you are creating. And they should all be accessible by everyone in a central location.

The following paragraphs will list the main methods and techniques we want to use, to ensure a user-centered process. Again, there won't be a proper introduction here. Just guidelines on how we (plan to) use them and which points to keep in mind.

Personas

 * Let's not just talk about "the user", but come up with realistic personas that we can use for a more emphatic approach to design.

Usability Tests

 * Usability tests test the system, not the user!
 * Should be done regularly for big projects (not just at the end).
 * Keep them relaxed and informal. They should be helpful, not a burden.