Simplicity is a prime user experience principle. Making simple things, however, is actually quite difficult. Particularly because most clients usually are not willing to compromise on features and functionality. Instead of building simple things from scratch, more often than not, I find myself making things difficult first. Then I simplify carefully and (to the best of my knowledge) sensibly. This gives me sufficient control over trade-offs and design decisions to be made. Also, a simplified version can easily be scaled back to its original size, if necessary (there is still a client).
This is how it works for me:
- Get a complete picture of business requirements, user needs, context, specified functionality, given dependencies, and core content/data objects.
- Establish priorities for user experience, functionality, and content. Find out what users consider as ‘simple’ for this particular product.
- Design a high level model that fully accommodates the needs. Quickly prototype the application.
- Review the prototype. Identify potential for simplifying things: secondary content/data/functionality; unnecessary hierarchies; competing calls to action and interaction paradigms. Then get out your tools:
- Discard: Remove irrelevant content, functionality, menus, items.
- Consolidate: Merge content, calls to action, sections. Be careful not to create unwanted new hierarchies.
- Streamline: Declare primary mission of a product/section/screen and make everything support this mission.
- Flatten: Remove doorsteps, speed bumps, and stairs. Example: Navigation tabs are only necessary, if you have more than three navigation items. If it’s two, use a toggle button.