Design principles for a whiteboard tool

2024-11-04

I have found the following guiding principles valuable when designing the core product at Miro.

System over individual features

A system is more important than any single feature. Integrate new features to a product in a way that improves the overall system. Don't prioritising a single feature at the expense of overall user experience.

Low floor, high ceiling

Provide easy ways for beginners to get started without overwhelming them (low floor) but also enough potential and expert functionality so that advanced users can work on increasingly complex projects over time (high ceiling).

Handle complexity on behalf of a user

Spend extra time in design and development to create solutions that handle complexity on behalf of a user. Don't push complexity to users by releasing half-baked solutions. 1

Bias towards simplicity and interoperability

Create simple features that do one thing well. Make the features interoperable so that users can combine them the way they want. Simple, interoperable building blocks keep an app flexible and supporst multitude of use cases.

Stable location for important functionality

Maintain a stable location for the most important and frequently used features throughout the UI to help users to build habits and spatial memory.

Get out of the way

UI stays in the background and assists users in achieving their goals with minimal distraction. Only request the user's attention when there is a good reason to do so.

Footnotes

  1. See also Tesler's law.