Consistent appearance.
WHAT A THEME PROVIDES
Colours, typography and shapes, available throughout the interface.
WHY THAT MATTERS
It is what makes an application consistent, and themeable.
WHAT TO DEFINE
A colour scheme, with semantic names A type scale Shape definitions Spacing values
WHY SEMANTIC NAMES
A colour named for its purpose can change without renaming everywhere.
WHAT DYNAMIC COLOUR DOES
Derives a scheme from the user's wallpaper, where the platform supports it.
WHAT TO PROVIDE REGARDLESS
A light and a dark scheme, both checked for contrast.
WHY BOTH CHECKED
A dark scheme is not automatically accessible.
WHAT TO BUILD
A small set of shared components, used everywhere.
WHAT TO AVOID
Arbitrary values in individual composables Components duplicated with slight variations Hard-coded colours
WHAT TO AUDIT
How many distinct spacing and colour values are actually used.
WHAT YOU WILL FIND
More than intended.
WHAT TO TEST
Both themes, at the largest font size, with contrast measured.