Through design, complex systems can be made easy to use and understand. The following principles work together to accomplish this goal:
Interaction is the basic unit of design.
Begin the design process by identifying the user's origin point, their goal, and the steps in between. A successful design makes every step along the way clear while keeping the user focused on their goal.
Transitional interfaces are easier to learn and more pleasant to use.
Take advantage of animation and conditional visibility to guide users between steps and to add rhythm and momentum to interactions.
Interactions should be delightful and surprising.
Design these interactions so that they're enjoyable to perform again and again. Minimize the effort required to complete tasks, enable users to recover from mistakes, and ensure that they receive feedback after taking any action.
Focus the user on one primary action at a time.
Avoid sidebars, widgets, and multi-column layouts. Rather than confronting the user with a multitude of possibilities, use visual hierarchy to help users make meaningful decisions and allow actions to unfold across multiple steps. At the same time, be sure to make it easy for the user to move efficiently between primary actions in case they need to change gears.