Colour: The Most Misunderstood Tool in Design
Colour is usually the part of a design discussed in terms of preference — which blue, whether the orange works. This framing wastes it. Colour performs several structural functions, and using it for those functions produces better results than choosing it for appearance.
Colour is a hierarchy tool
The most immediate function of colour is directing attention. A single saturated element in a restrained field will be seen first, regardless of size or position. This makes colour the most efficient way to establish priority — and explains why designs using many bright colours have no hierarchy at all. Every emphasis cancels the others.
Contrast is a functional requirement
Text must be readable in poor light, on bad screens and by people with reduced vision. This is not a stylistic constraint but a threshold, and it can be measured. A great deal of contemporary design fails it in pursuit of a muted appearance, which is a straightforward case of aesthetics defeating function.
Meaning is cultural and not universal
Colour associations vary substantially between contexts. White signifies differently across cultures; red carries different weight in different traditions. Designs intended for multiple markets cannot rely on assumed associations, and designs for a specific market should use the local ones deliberately.
Never rely on colour alone to communicate
Around one in twelve men has some form of colour vision deficiency. Any system where colour is the only carrier of meaning — a red field indicating an error, green indicating success — fails for them. Adding a shape, an icon or a label costs nothing and makes the system robust.
Restraint reads as considered
Designs using two colours plus neutrals almost always look more deliberate than those using six. This is not minimalist ideology; a limited palette forces colour to carry meaning rather than fill space, and the discipline is visible in the result.
Choose colour for what it needs to do. The question of whether it is attractive resolves itself far more easily once the function is settled.
