Your application’s interaction concept is a basic summary or description of the fundamental way the user interface works. It describes the general way that users interact with the application to complete their tasks.
Because usability problems tend to emerge when key issues like navigation, workflow, and transactions haven’t been thought all the way through, it is worthwhile spending time on thinking about these issues and explicitly designing and evaluating solutions.
Not everything can or should be decided at the very beginning; preliminary decisions will often have to be made which can then be changed or refined as the project goes on. However, some fundamental things are very hard to change once product development is in full swing, and so these things — what we might call the architectural design — should receive special attention early on in the project.
It is possible to describe an interaction concept in a formal specification document, and for large teams building large products, this can be a reasonable approach for recording and communicating the design to team members. But creating a formal deliverable is not the point, and nor is it the only way to document and communicate design decisions. Writing a specification is good if it forces the team to think through and decide on key issues, but a formal document can be difficult to write because many things, like the visual design, are very difficult to specify completely and accurately in writing.
A more agile approach that tends to be more successful is prototyping, in combination with some minimal, agile documentation. Prototyping can be a very effective way of trying out different design ideas and getting feedback through peer reviews and usability testing. A prototype alone cannot capture and communicate all of the design decisions and rationale, though, so lightweight written records can be used to supplement it.
What kinds of issues make up the interaction concept?
- A choice of one or more interaction styles
- The basics of the information architecture, which may include:
- Data model
- Behavioral model
- Glossary of preferred names
- Navigation and wayfinding
- Search and indexing
- A framework for interactions and workflow
- A transaction and persistence concept
- A visual design framework (essentially, the product-wide look-and-feel)
We’ll examine each of these in upcoming blog posts.