7 Rules for Creating Gorgeous UI — Part 2 (Updated for 2019)

A guide to visual aesthetics, written by a nerd

This is the second part in a two-part series. You should read the first part first.

We’re talking about rules for designing clean and simple UI without needing to attend art school in order to do so.

Here are the rules:

  1. Light comes from the sky (see Part 1)
  2. Black and white first (see Part 1)
  3. Double your whitespace (see Part 1)
  4. Learn the methods of overlaying text on images
  5. Make text pop— and un-pop
  6. Only use good fonts
  7. Steal like an artist

Rule 4: Learn the methods of overlaying text on images

There are only a few ways of reliably and beautifully overlaying text on images. Here are five— and a bonus method.

If you want to be a good UI designer, you’ll have to learn how to put text over images in an appealing way. This is something that every good UI designer does well and something every bad UI designer does piss-poorly— or just doesn’t do, in which case you’ll have a huge leg up after reading this section!

Method 0: Apply text directly to image

I hesitate to even include this, but it is technically possible to put text directly on an image and have it look OK.

Otter Surfboards. Hip and Instagrammy, but a bit difficult to read.

There are all sorts of problems and caveats with this method:

  1. The image should be dark, and not have a lot of contrast-y edges
  2. The text has to be white— I dare you to find a counter-example that’s clean and simple. Seriously. Just one.
  3. Test it at every screen/window size to make sure it’s legible

Got all those? Great. Now never change the text or the image, and you should be good to go.

I don’t think I’ve ever used text directly on top of an image for any professional project, and it’s really mentioned here as a sort of “control” method. That being said, it’s possible to do to really cool effect— but be careful.

From Aquatilis.tv

Method 1: Overlay the whole image

Perhaps the easiest method to put text on an image is to overlay the image. If the original image isn’t dark enough, you can overlay the whole thing with translucent black.

Here’s a trendy splash image with a dark overlay.

Upstart website has a 35% opacity black filter.

If you hop into dev tools and remove the overlay, you’ll see that the original image was too bright and had too much contrast for the text to be legible. But with a dark overlay, no problem!

This method also works great for thumbnails or small images.

Thumbnails from charity:water site

And while a black overlay is simplest and most versatile, you can certainly find colored overlays as well.

Method 2: Text-in-a-box

This is dead simple and very reliable. Whip up a mildly-transparent black rectangle and lather on some white text. If the overlay is opaque enough, you can have just about any image underneath and the text will still be totally legible.

Modern Honolulu iPhone Concept by Miguel Oliva Márquez

You can also throw in some color — but, as always, be judicious.

Now in pink. By Mark Conlan

Method 3: Blur the image

A surprisingly good way for making overlaid text legible is to blur part of the underlying image.

Copious blur overlays in Snapguide. Note the blurred areas are also darkened.

Apple has really made background blurring a thing, though it was in Windows first (go figure).

You can also use the out-of-focus area of a photo as the blur. But beware— this method is not as dynamic. If your image ever changes, make sure the text is always over the blurry bits.

Teehan + Lax

I mean, just try to read the subheader below.

For the love of everything good in this world, how did this get approved?

Method 4: Floor fade

The floor fade is when you have an image that subtly fades towards black at the bottom, and then there’s white text written over it. This is an ingenious method, and I have no idea who did it before Medium, but that’s where I first noticed it.

To the casual observer, it appears that these Medium collections are displayed by plastering some white text over an image— but in response to that, I say false! There’s ever-so-subtle a gradient from the middle (black at 0% opacity) to the bottom (black at, ehhhhh maybe ‘bout 20% opacity).

Difficult to see, but definitely there, and definitely improving legibility.

Also notice that the Medium collection thumbnails use a slight text shadow to further increase legibility. Those guys are good!
The net effect is Medium can layer just about any text on any image and have a readable result.

Oh, and another thing — why does the image fade black at the bottom? For the answer to that, see Rule 1 — light always comes from the top. To look most natural to our eye, the image has to be slightly darker at the bottom, just like everything else we ever see.

Advanced move: mix the blur with the floor flade… introducing The Floor Blur.

The “floor blur” on SnapGuide. Look mom, no overlay!

Bonus Method: Scrim

How does the Elastica blog have a readable headline on top of a dynamic image every single time? The images are:

  • Not particularly dark
  • Kind of contrast-y

Yet it’s difficult to describe why the text is so legible. Take a look:

Answer: the scrim.

A scrim is a piece of photography equipment that makes light softer. Now it’s also a visual design technique for softening an image so overlaid text is more legible.

If we browser zoom out on the Elastica blog, we can more clearly see what’s going on.

There is a gradiated-opacity box around the “145,000 Salesforce Users Come out to Celebrate…” headline. It’s easier to notice against the solid blue background than against the contrast-y photos above it.

This is probably the most subtle way of reliably overlaying text on images out there, and I haven’t seen it anywhere else (but it is pretty sneaky). Mark it down, though. You never know when you’ll need it.


Rule 5: Make text pop— and un-pop

Styling text to look beautiful and appropriate is often a matter of styling it in contrasting ways— for instance, larger but lighter.

In my opinion, one of the hardest parts of creating a beautiful UI is styling text— and it’s certainly not for unfamiliarity with the options. If you’ve made it through grade school, you’ve probably used every method of calling attention to or away from text that we see:

  • Size (bigger or smaller)
  • Color (greater contrast or lesser; bright colors draw the eye)
  • Font weight (bolder or thinner)
  • Capitalization (lowercase, UPPERCASE, and Title Case)
  • Italicization
  • Letter spacing (or— fancy term alert— tracking!)
  • Margins (technically not a property of the text itself, but can be used to draw attention, so it makes the list)
Solid use of color, capitalization, and spacing. By Jon Bell’s kid.

There are a few other options that are possible for drawing your attention, but not particularly used or recommended:

  • Underline. Underline means links nowadays, and it’s not worth trying to force it to mean anything else, if you ask me
  • Text background color. Not as common, but the 37signals website had this as link styling for a while, and IDEO animates it in on hover.
  • Strikethrough. Back off, you 90s CSS wizard, you!

In my personal experience, when I find a text element that I can’t seem to find the “right” styling for, it’s not because I forgot to try caps or a darker color— it’s because the best solution is often getting right a combo of “competing” properties.

Up-pop and down-pop

You can divide all the ways of styling text into two groups:

  • Styles that increase visibility of the text. Big, bold, capitalized, etc.
  • Styles that decrease visibility of the text. Small, less contrast, less margin, etc.

We’ll call those “up-pop” and “down-pop” styles, in honor of designers’ favorite adjective. We won’t call it “visual weight”, because that is boring.

Case study title from hugeinc.com

Lots of up-pop going on with the “Material Design” title. It’s big; it’s high-contrast; it’s very bold.

The items in this footer, on the other hand, are down-popped. They’re small, lower-contrast, and a less bold font-weight.

Now the important part.

Page titles are the only element to style all-out up-pop.
For everything else, you need
up- and down-pop.

If a site element needs emphasis, apply both up-pop and down-pop styles. This will prevent things from being overwhelming, but allow different elements the visual weight they should have.

A balance of visual styles

The impeccably-designed Blu Homes website has some big titles, but the emphasized word is lowercase— too much emphasis would look overpowering.

These numbers on the Blu Homes site draw your eye with their size, color, and alignment— but notice that they’re simultaneously downplayed with a very light font-weight, and lower-contrast color than the dark gray.

The small labels below the numbers, however, while gray and small, are also uppercase and very bold.

It’s all about the balance.

contentsmagazine.com

Contents Magazine is a good case study in up/down-pop.

  • The article titles are basically the only non-italicized page elements. In this case, lack of italicization more effectively draws the eye (particularly in combination with the bold font-weight)
  • The author’s name is bolded in the byline — making it stand out from the normal-weight “by”
  • The small, low-contrast “ALREADY OUT” text stays out of the way — but with its uppercase type, generous letter-spacing, and large margins, you can see it the moment you look for it

Selected and hovered styles

Styling selected elements and hover effects are another round in the same game — but more difficult.

Usually, changing font-size, case, or font-weight will change how large of an area the text takes up, which can lead to seizing hover effects.

What does that leave you with?

  • Text color
  • Background color
  • Shadows
  • Underlining
  • Slight animations— raising, lowering, etc.

One solid option: try turning white elements colored, or turning colored elements white, but darkening the background behind them.

The selected icon goes from colored to white, but stays high-contrast against its background

I’ll leave you with this: styling text is hard.

But every time I’ve thought “Maybe this text just can’t look right”, I’ve been wrong. I just needed to get better. And to get better, I just had to keep trying.

So I offer you this bit of consolation: if it doesn’t look good, don’t worry– it could if you were better. But hey, let’s keep on trying and make ourselves better.

Hey, PS: if you want to learn a ton more about styling text, check out Learn UI Design. I cover it in detail there.


Rule 6: Use Good Fonts

Some fonts are good. Use those fonts.

Note: There are no strategies or things to study in this section. I’m just going to list some nice free fonts for you to go download and use.

Sites with a very distinct personality can use very distinct fonts. But for most UI design, you just want something clean and simple. That’s right, buddy, put down the Wisdom Script.

Also, I’m only recommending free fonts. Why? This is a guide for folks who are learning. There’s more than enough out there at the zero-dollar price point. Let’s use it.

I recommend you download them all right now, and then go through your downloaded fonts as you start the visual design for your project.

The Font Book application “User” category is good for remembering what you downloaded (Mac only)

In no particular order:

1. Work Sans

Sometimes you’re designing something that needs a modern, clean font, but with juuuust a bit of fun. Work Sans fits the bill perfectly. Slightly quirky; totally underused.

You aren’t going to see this recommendation anywhere else (for a while), because Work Sans just came out with italics a month or two ago. The catch: you can’t get them on Google Fonts (yet). More on that below.

It’s wide letterforms means it works even at very small sizes — a great property for any mobile app typeface.

See it in the wild: designer Matt D. Smith’s website.

Get it at: Google Fonts (no italics), Font Squirrel (includes italics)

2. Roboto

An incredible, clean, all-purpose font. While it is the default font of Android, it’s still underused (and free!) for iPhone and web apps.

Beautiful, works everywhere, and comes with a gadzillion weights.

See it in the wild: Google Maps

Get it at: Google Fonts


3. Montserrat

I used to be hesitant to recommend Montserrat (it had no italics, weird kerning, and was awkwardly thick). But the project has stayed active and Montserrat has turned into an incredible font.

It’s probably best known for being the closest free alternative to the very popular (and well-designed) Proxima Nova.

Pro-tip: When choosing any font, it’s always best to take a look at uppercase, sentence-case, and the full range of weights. You never know when a slightly different setting will be just the style you want. Compare the two shots above — same exact font, two different feels.

Get it at: Google Fonts

4. Source Sans Pro

One thing I like about Source Sans is it makes a great choice when you’re tempted to go with the incredibly overused Open Sans or Lato. Resist the urge!

Source Sans has a lot of the same strengths as Open Sans or Lato — neutral character, just a touch of humanity (rather than cold, stark geometric letterforms), and it works great for user interfaces.

For easy pairing, check out its sisters: Source Serif and Source Code Pro.

Get it at: Google Fonts

5. IBM Plex Sans

Last year, IBM released its own typeface, Plex.

Oh yeah — and pairs easily with Plex Serif and Plex Mono.

Get it at: Google Fonts

6. Feather Icons

While many popular icon sets (ahem, Font Awesome) have overly rounded and bubbly shapes that don’t pair well with clean, simple design, Feather Icons is a hugely under-appreciated antidote.

The creator hasn’t packaged it as an icon font (yet 🤞), but someone put a font version up on Github that tracks the original set decently well (and if you’re only using 10 or 20 icons from the set, no sense loading the whole font anyways).

Get it at: SVG set, partial icon font


I’ll leave you with a few resources:

  • Beautiful Google web fonts. This is an awesome showcase of how good Google Fonts can look. I’ve returned to this simple page for inspiration at least a dozen times.
  • FontSquirrel. A collection of the best fonts available for commercial use, and totally free. Nice that someone’s putting together a good, free selection apart from Google Fonts.
  • Adobe Fonts. If you are on Adobe Creative Cloud (i.e. subscription Photoshop or Illustrator, etc.), then you have free access to a ton of professional fonts. Even better than what I recommended above: Proxima Nova, Adelle Sans, DIN, Freight Text, and more.
  • Learn UI Design. Looking for more great fonts? My user interface design course has a font recommendations list with over 60 fantastic free (or free-through-Creative Cloud) fonts, covering all types of fonts (serifs, slabs, monospace, handwritten, etc.), and including notes on where each font works best.

Rule 7: Steal like an artist

The first time I sat down to try and design some app element— a button, a table, a chart, a popup, whatever— was the first time I realized how little I knew about how to make that element look good.

But as luck would have it, I haven’t had to invent any new UI elements yet. That means I can always see how others have done it and cherry-pick from the best.

But where should one cherry pick? Here are the resources I have found absolutely the most useful while designing for clients. Listed in descending order:

1. Dribbble

This invite-only “show and tell for designers” site has bar-none the highest quality of UI work online. You can find great examples of almost anything here.

In fact, you can follow my work on dribbble here. Here are a few more people for you to follow as well:

  • Jamie Syke. Posting new UI basically every day. Top-notch stuff. Huge breadth of experience and designs. What can I say? Follow.
  • Balkan Brothers. It seems to be this weird dribbble truism that the closer the designer is to Russia, the more adept at colors they are. These Croat designers are fantastic with keeping flat interesting. Always great gradients, colors, and shadows.
  • Elegant Seagulls. If you’re ever thinking “man, how do I do something more interesting than a standard grid?”, browse a few of their shots. There’s your answer.
  • Cosmin Capitanu. An awesome wildcard. He makes things that look crazy-futuristic without being garish. Really good with colors. He doesn’t really focus on UX though— which is also a criticism of dribbble at large.
Dribbble shots from Balkan Brothers and Cosmin Capitanu, respectively.
Dribbble shots from Elegant Seagulls and Jamie Syke, respectively.

2. Flat UI Pinboard

I haven’t the slightest idea who “warmarc” is, but his pinboard of phone UI had been ridiculously useful to me trying to find disparate examples of beautiful UI.

3. Pttrns

A directory of mobile app screenshots. The nice thing about Pttrns is the whole site is organized by— wait for it— UX patterns. This makes it very nice to quickly research whatever piece of interface you’re currently working on, be it a login page, a user profile, search results, etc.


I’m a firm believer that every artist should be a parrot until they’re good at mimicking the best. Then go find your own style; invent the new trends.

In the meanwhile, let’s make like thieves.

And, in the spirit of this section, the title “Steal Like an Artist” was lifted from an eponymous book that I have not read, mostly because the title seems to sum up anything that the pages might contain.


Conclusion

I wrote this because I would’ve loved to see this a short time ago. I hope it helps you. If you’re a UX designer, do a nice mockup after you’ve sketched the wireframes. If you’re a dev, take your next side project and make it look good. I don’t want UI to seem like it takes magical art school skills to do decently. Just observation, imitation, and recording what works.

Anyhow, this is just what I’ve learned so far, and I am always a beginner.


If you’re still with me, you’ve read two articles totaling over 5,000 words and seen scores of illustrations and screenshots. But I’m not dead yet, so it ain’t over.

If you liked this, check out Learn UI Design, a complete video course for developers, UX designers, and entrepreneurs who want to learn interface design. The content there is the same style of stuff you’ve read above — practical strategies and analysis, not the useless theory that dominates so much internet design writing.

And you should also hop on board my design newsletter for more writing like this (if you can stand it).