import { Meta } from '@storybook/blocks';

<Meta title="Docs Overview/Design Principles" parameters={{ options: { isToolshown: false }, id: 1 }} />

# Design Principles

Design principles empower designers and developers across the organization to make design decisions in the same manner regardless of the decision makers. Rooting product and design decisions in these consistent manners will help with consistency by having the same perspective to various problems.

## Task-at-Hand

Anchor design decisions on the user's primary task or focus, to make sure the user can complete those tasks easily, not overwhelmed by unrelated UI clutter or user flows.

**Our UI should help users complete their tasks, not hinder them.**

## Tasteful Friction

Friction should be higher for actions with higher risk and possible damage severity. Consider saving a change. If the user is just saving the name of a team: low risk, no real side-effects, easily corrected. But a "save" that completely overwrites a dashboard or panel used by many people, with ripple effects on other dashboards, reports, alerts — the possible damage from a mistake is far higher. One case requires very little friction, but in the other case the user needs to be very explicit on what they are doing and fully aware of the consequences of the action.

**UI friction should match the severity and risk of the user's action.**

## Simple Solutions for Users

A simple solution does not mean it is absent of its own complexities. Typically, UI negotiates and compromises who gets the heavier load of complexities between the user and the system. A simple solution for a user might mean more work for us as UXers/Designers/Developers but it will result in a more simplistic experience and UI for the user.

**A simple solution does not mean an easy solution — the system takes on the complexity of the action**

## Default to Reusability

Similar patterns across the product match to provide an expected experience for the user while navigating across the product suite. Reusing components and patterns as much as possible helps to reduce our UI divergence, creating consistent interactions and experiences, lowering the chances of creating frustrating or surprising situations for users.

**Consistent UI and patterns create expected interactions and behaviours resulting in better experiences**
