How Medium designed its underlines


Marcin Wichary is a designer at Medium who took on the challenge of creating a considered, fine-tuned underline for the links on the site. In contrast to the normal "data-driven" design story, which is often a series of A/B tests that nudge things around by a pixel or two for weeks until they attain some counterintuitive optimum, this is a story about someone who had an intuitive, artistic, aesthetic goal and spent a bunch of time getting HTML to behave in a way that was consistent across different browsers, screen resolutions, and so forth.

I have to say that the actual underlines that Medium came up with don't seem to me to be more or less appealing than the default (the GIF above is displaying a before-and-after and I still can't tell which is which without referring to the article), but I really enjoy stories about people who know what aesthetic effect they want to achieve and are willing to move heaven and earth to achieve it.


I carried on, adding more and more complexity and magic numbers to my suggested change. And this is where the code reviewers started asking the truly hard and important questions: Is this too complicated? Will this make the CSS too heavy? How would we maintain it? What happens if this fails?

And so, during the following weeks, I worked on:

*
coming up with formulas rather than arbitrary values — in the event of changing the fonts or font sizes in the future, adjusting the underline positions would be much easier and faster,

*
limiting the browsers we use so that in the case of failure, the reader could see the default browser underlines (rather than not seeing them at all!),

*
simplifying the code so that while we might not get the perfect underlines, we could save both the bytes and future maintenance costs.

Crafting link underlines on Medium [Marcin Wichary/Medium]

(via Waxy)