Applying white space in UI design: 8 practical tips, with examples.

👇 A thread. Image
Good UI design is the thoughtful application of white space at all scales of an interface, from component to page, micro to macro.

When white space is used well, the result is an interface that is harmonious, legible, and, above all, effective and easy to use.
1⃣ — Follow the Law of Proximity.

The amount of white space between elements in the UI indicate how the elements relate to one another.
The Law of Proximity suggests that:

– Related elements should be spaced closer together. Conversely, unrelated elements should be spaced further apart.
– Elements of the same “type” should be spaced evenly apart.
Follow these basic rules to help users readily organize and perceive logical groupings in your UI.

⬇️ White space works hand in hand with the size, weight, and color of the text to convey the hierarchy of elements in an interface. Image
2️⃣ — Start from a baseline of generous white space.

Let your design breathe. A reliable way to improve the usability of an interface is to ensure that there is a generous amount of white space between all its elements.
⬇️🚫 The form controls here are spaced too closely together. Image
⬇️✅ The form controls here are appropriately spaced apart, and so are more comfortable on the eye.

There are exceptions, of course (see the last tip below), but for most UIs, having a generous amount of white space is usually better than having too little. Image
3⃣ — Use white space to focus attention on particular design elements.

Having less information and fewer elements on the page can help bring clarity and focus, and draw attention to the information and elements that are on the page.
White space can also be an effective way to add emphasis to text. It can be used in combination with — and even as an alternative to — bumping up the text size, or changing the color, case, or weight of the text.
̇

̇

̇

̇

̇

̇

This sentence, surrounded by white space, is a case in point.

̣

̣

̣

̣

̣

̣
Making an element bigger or brighter isn’t the only way to draw attention to it. Consider that when everything is bigger and brighter and important, nothing actually is.
4⃣ — Use the same method for measuring space in both design and implementation.

The space between adjacent text elements can be measured in one of two ways.
🅰️ Between adjacent “bounding boxes”

This is how most UI rendering engines (eg. the Document Object Model on a webpage) measure space. However, it is not particularly precise because there is excess space that is “unaccounted” for at the top and bottom of each bounding box. Image
🅱️ Between adjacent cap heights

This method is more precise, but could complicate implementation. Image
Both methods are reasonable, but have different trade-offs.

What is important here is that the same method for measuring space is used in both design and implementation. This is to ensure that the design can be accurately translated into code.
5⃣ — Use a spacing system.

A spacing system specifies the set of possible spacing values to be used in a design. Using a spacing system can help bring about a sense of consistency and harmony to a UI.
⬇️ You only need a handful of values in a spacing system. Here, four different spacing values are used, namely 12, 16, 32, and 48. Image
A spacing system is to white space what a color palette is to color.

Just like a color palette, a spacing system forces you to make UI design decisions from a constrained set of options.
With a spacing system in place, you need only consider the handful of spacing values from the system during the UI design process. This makes design iteration faster and more systematic.
6️⃣ — Avoid using spacing values that are visually too similar.

When spacing values are mathematically different but visually too similar, the way that users perceive logical groupings in the UI could become ambiguous.
Contrast matters. If your intent is for two spacing values to be different, then make it readily obvious that they are in fact different.
⬇️🚫 The space above and below each “actions row” are too similar, and it is unclear which video each action row is supposed to be associated with. Image
⬇️✅ Having sufficient space below each “actions row” helps to clarify the relationship between each video and its associated actions. Image
Consider having a wider “spread” of values in your spacing system, with a visually obvious difference between adjacent spacing values.

⬇️ This is a non-linear spacing system with a progressively larger increment going from one spacing value to the next. Image
7⃣ — Reduce the line-height (ie. leading) as text size increases.

Increasing the text size while keeping the same proportional line-height will result in there being too much white space between each line of text.
⬇️🚫 Here, the two lines of text are too far apart from one another. Image
⬇️✅ When a smaller line-height is used, the two lines of text are perceived as a single visual group.

Relative to the text size, the proportional line-height of headings should generally be less than the line-height of the body copy. Image
8⃣ — In an information-dense UI, rely on other techniques besides white space to convey how elements in the UI relate to one another.
For example:

– Adding a subtle fill or border around a group of related elements.
– Using a line to separate adjacent elements that are closely-packed vertically. Or, using an interpunct character (“·”) to separate adjacent elements that are arranged horizontally.
And:

– Changing the size, case, weight, or color of the text as a way to associate or differentiate UI elements.
⬇️ Increasing information density through reducing white space, reducing the text size, and adding a subtle horizontal line to ensure that adjacent rows are perceived as being visually distinct from each another. Image
An effective way to learn about white space — and, indeed, UI design in general — is to create a “master copy”: pick one or more screens from any app or website with an interface that you admire, and recreate it in its entirety, from scratch.
You will gain an insight into the many small design decisions that were made, discover interesting patterns, and see how the above tips about whitespace actually play out in well-crafted UIs.
There are reasons for why an interface “looks right”.

Through experience and practice, you can hone your visual sense and intuition about how to apply white space in your designs. Your users will thank you for it.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Yuan Qing Lim

Yuan Qing Lim Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @yuanqinglim

21 Feb 20
The UX of Figma plugins: 10 heuristics.

👇 A thread.

@figmadesign @FigmaPlugins #figma #figmaplugins #ux
1⃣ — Use UX patterns and UI components that are familiar to Figma users.

Draw inspiration from Figma’s native features. Using your plugin should feel as similar as possible to using Figma itself.

Use colors, styles, and components from Figma’s design system.
2⃣ — Reduce the number of user actions that are required before your plugin can do its work.

The most efficient plugin possible is a plugin that gets to work immediately when it is run.
Read 22 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(