Mapping Typography

Introduction

Scott Kellum introduces himself and the topic of mapping typography. He discusses his experience with dyslexia and how it shaped his understanding of reading as a process of decoding meaning from symbols.

Legibility vs. Readability

Scott explores the concepts of legibility (can I read this?) and readability (do I want to read this?). He presents a quadrant system to illustrate how these concepts intersect, providing examples like checks, newspapers, protest signs, and black metal logos. He emphasizes the importance of both legibility and readability in web design, highlighting the differences between UI/forms and editorial content.

Real-World Examples

Scott analyzes examples of how legibility and readability are addressed in various online platforms. He discusses Twitter's use of stylistic sets to improve character differentiation, Wikipedia's prioritization of legibility over readability, and the design choices behind Arial and Helvetica. He emphasizes how typeface selection can significantly impact readability.

The Multidimensional Nature of Websites

Scott introduces the concept of page size changes and the multidimensional nature of web design. He compares designing for print, where dimensions are fixed, to designing for digital, where devices and viewports vary greatly. He emphasizes the complexity of accommodating different screen sizes, display modes, and user preferences, leading to the need for design systems.

Typography as a Design System

Scott uses the analogy of a typeface as a design system, illustrating how individual components (letters) work together to create a cohesive whole. He highlights the importance of considering the overall impact of design systems and ensuring that they are more than just a collection of beautiful elements. He emphasizes the significance of conveying meaning through typography and how it can be achieved through proportion and scale.

Responsive Typography with Typographic Maps

Scott demonstrates how typographic maps can be used to create responsive typography that adapts to different screen sizes. He shows how headlines can be dynamically resized based on their width and how this approach can be applied to other elements like body copy. He introduces the concept of curved maps to achieve smoother and more visually appealing transitions.

Typographic Maps: Beyond Font Size

Scott explains that typographic maps can be used to control not only font size but also other typographic properties like line height, font weight, and font width. He emphasizes the importance of line height in creating a comfortable reading experience and demonstrates how it can be adjusted to complement different text sizes and line lengths.

Analyzing Real-World Website Typography

Scott analyzes typography on websites like The Los Angeles Times, GitHub, Heath Ceramics, and Stripe. He identifies areas where responsive typography could be improved and how typographic maps could provide a more elegant and consistent solution. He highlights the benefits of reducing code complexity and achieving higher design quality with typographic maps.

Implementing Typographic Maps with CSS

Scott explains how CSS animations can be used to implement typographic maps. He demonstrates how the easeInOut function can be leveraged to create curved transitions, and how keyframes can be defined to control the interpolation of different typographic properties. He provides code examples for implementing typographic maps on root styles and individual elements like headlines.

Beyond Typography: The Versatility of Interpolation

Scott showcases Lynn Fisher's website, which uses CSS interpolation to animate SVGs across different viewport widths. He highlights how this technique can be applied beyond typography to create dynamic and engaging web experiences. He emphasizes the power of controlling how styles interpolate to achieve high-fidelity designs with less complexity.

Design Workflow and Tools

Scott discusses the need for design tools that integrate scalable text components and typographic maps. He highlights Figma's plugin system as a potential solution and suggests integrating typographic maps directly into website builders. He concludes by emphasizing the importance of empowering designers with tools that simplify the creation of high-quality, responsive typography.

Thanks so much for having me.

I'm thrilled to be here.

Sydney has been absolutely beautiful.

And I'm excited to talk with you all about mapping typography.

So a little bit more about me.

This is me.

I am piecing together a design system with design components here.

And at a really young age, I was diagnosed with dyslexia.

And dyslexia is a reading disability.

And it made me think a lot about this question, what is reading?

So reading is coding.

And I don't mean writing code in VS Code or programming.

Reading is about, understanding meaning from various symbols and characters that are letters and then transferring those into some sort of understanding.

It's not, dyslexia is not about visually or optically inverting letters or flipping letters around.

It is about understanding these shapes and how they map to some sort of, meaning or understanding of those shapes.

When we think about reading, we think a lot about legibility, and legibility is about, can I read this?

And that's slightly different from readability, which is somewhat close to, do I want to read this?

But a facet of readability is also about, conveying meaning, how do I convey the intended meaning to my audience about comprehension.

And if we put these on some sort of chart, we could see some quadrants form and in the United States, we still use paper checks.

Yes, we think they are archaic as well, but, we don't want to mix these up.

We don't want money coming out of the wrong account or going into the wrong account.

So legibility is extremely important here, but readability is not.

We're not going to sit down on the couch and start reading through a checkbook.

On another corner of this quadrant, we have something that needs to be both legible and readable.

That's something like a newspaper or a magazine.

With that, we need to, be able to sit down on couch, but also understand accurately what information we are consuming.

A really interesting part of this a quadrant here is something that might be less legible but more readable.

For example, protest signs, we need those to come from the heart.

That is a personal message that we are sharing.

A lot of times those are handwritten, they aren't necessarily legible, but in a, they are also more readable in the sense that we want to read them because they are a personal message to our audience.

It's much more readable than something we might go and print at a print shop, because, we are getting our message across.

That is personal.

It's something we want to read.

An extreme example of this are maybe, black metal logos.

We cannot, this is extremely difficult to read.

This is.

It's not legible whatsoever, but we still might want to read it and we can instantly comprehend what it's trying to say.

On the web, we mostly focus in these areas.

So UI and forms, those need to be very legible.

They aren't necessarily something we'll sit on the couch with for a long period of time, but we need to understand exactly what those are saying.

Whereas editorial, we might spend more time, that needs to be a comfortable experience for us.

Twitter, recently got rid of verification, or the verification that we knew, towards, pay to play service.

And they had this issue of verification, fake accounts, things like that.

So in order To help fix this issue, they've created a stylistic set, so alternate characters, that I'm just toggling on and off right here, and you can see the difference between sort of the readability of the sort of flowing of letters, and then the ability to easily decipher the difference between I's and uppercase I's and lowercase L's.

This toggle to increase legibility, maybe at the detriment of readability, has helped with verification process.

So this is a really good example of where something that might not flow as elegantly in text is more legible to an audience.

And solves a problem.

Wikipedia, I find is not the most readable experience.

The line links can get quite long, but it's super dense information and they're presenting all of this information extremely clearly.

So they are opting for as legible exp or as, as clear of an experience as possible.

Maybe at the detriment to some readability.

We can look at this in typefaces themselves, so Helvetica and Arial are both very legible typefaces.

We can easily decipher what they mean, but in long paragraphs of text, their readability can suffer.

Arial was commissioned by Microsoft because they did not want to pay a license fee to monotype for Helvetica.

So instead they opted to, commission their own typeface, Arial.

And in doing so, they increased the readability of it in long text.

They did some certain things, like adding some humanist elements to their design, so you can see a more sloped leg of the uppercase R, slightly more open apertures in the E and the A, to create more flowing forms that read better in longer text.

And if we bring in more of a humanist Sans Serif, we can see just how open the apertures on the E and the A can be, along with the characteristic, sloped leg on the R.

So readability really helps us communicate.

And when we're going to focus on this, we're going to focus on, these areas.

So UI forms and editorial.

And inside of that Let's talk about the differences here.

With UI forms, dashboards, and feeds, we have multiple paths of communication and action.

We might see something and click into multiple different directions here.

Whereas with editorial, and landing pages, we have a single story or path of communication.

We are directing people along a single narrative, and as page size changes, the design implications of this change.

With UI forms, dashboards, the den, the density usually remains unchanged.

So as we have more screen real estate, we tend to put more things on that page to fill that up.

Maintaining a consistent density of information, whereas on editorial and landing pages, the density scales in proportion to the page.

So we often scale the story up to fill the real estate we have, and this is why we see responsive type applications more in these contexts.

Now, there's something else that I think goes often overlooked or under inspected, and that is page size changes.

This is a unique aspect to digital design, this is a unique aspect to web design, that is worth diving into a little bit more, because the shape of a website is multidimensional.

Now this sounds complicated, so I'll compare that to print.

When we're designing for print, we have two dimensions.

And we know exactly what these dimensions are.

And, an A4 piece of paper, we know exactly what that is, we can print that out, it's the same every single time.

And when we're designing for print, we are delivering the platform with the design.

We are shipping a magazine with a design printed onto it to every customer, every reader of that magazine.

When we are designing for digital, people are coming to that design with their own devices, with their own platforms.

And they see our design through a viewport, which, just like print, is two dimensional.

It has a width and a height.

But people come to this with different platforms, different devices.

And that design needs to adapt to multiple widths and multiple heights.

And there are dimensions beyond just length based dimensions.

We might have a dark mode and a light mode.

They might come to us with preferred font size, internationalization, there's scroll depth, different inputs.

All of these different things are factors that change this multi faceted, multi dimensional object that is a website.

When in 2012, so early responsive web design, I was working on the SB Nation redesign.

So this is over 300 different websites, that all needed to work with a new design framework.

And, we had, responsive sites, three different breakpoints.

We had all of these components, these article components, so we had, each one of them was styled differently.

There were feature articles, there were regular articles, there were video posts, fan posts, story streams, and each of these needed to fit into different parts of the layout.

So multiply breakpoints times layout positions times entry type and you get a lot of different components that needed to fit into this page.

So I think about 72 different components that needed to fit into this page.

This was a lot to style.

And all of you have all of this in your head as well when you are making responsive websites.

You all are thinking about these components in this multidimensional landscape.

So this may sound complicated, and it's because it is.

You all do this every single day.

You are incredible.

And we manage this complexity by creating systems.

We can call these design systems.

And here is an example of a design system.

Bear with me a little bit.

This is a case full of type.

And a type is a design system.

When I used to be a typeface designer, and when starting designing a typeface, like actually sitting down and making it, we started with these characters.

So we started with an H.

So there are straight lines here, and we figured out how these straight lines fit together.

With the O, we have round lines.

We figured out how that works.

Now with a D, we figured out how this straight line fits with this round line, and that works.

With the N, we figured out how these shapes work together, the O now rounds in a different proportion, and now this P, so the straight line in this round, fitting together again.

So all of these make for the building blocks of a broader system.

And now we move to test words.

So there's some outliers that still need to work within the rest of the system.

We have things like the lowercase a, the lowercase g, And the lowercase s, a little bit different from the initial, components we first saw, but they still need to work together in this system.

And we expand to ASCII character sets and larger character sets.

And now we have a single style.

That we need to expand again to multiple styles, so we could see, here's, Roslindale Italics, and we have a weight and an optical size axis here, and we could see that there's different quadrants where this scales into.

This can be visualized in multiple ways, so you could start to see the shape start, it's taking place, just website in its multi dimensional shape, looks, and, Gerrit Nordschzij did this wonderful illustration here.

Expanding on this, Stephen Nixon at Arrow Type, has a number, a huge array of different, axes in recursive, and he created this visualization at the top of this website, to showcase all of these different, different dimensions in which recursive can change and transform.

Roslindale is shaped a little bit differently.

So it has, a, it's shaped more like a triangular prism where the width axis goes away as the optical size axis changes.

And this is managed with design tooling.

Superpolator has been around for a very long time.

It's actually out of date as a lot of this technology can be now built into other design tools, like glyphs and, RoboFont.

But, anyway, Superpolator is, is a place where in the upper left hand corner you can see this gradient.

And that gradient is where type designers manage, this, interpolated design space, this multidimensional design space so that they can design, their typefaces.

Typefaces are, design systems and design systems need to be bigger than the sum of their parts.

Matthew Carter has this wonderful quote, that type is a beautiful group of letters, not a group of beautiful letters.

And, to make this more appropriate, I think, for this track, design systems are a beautiful group of components, or principles, or tokens, not a group of beautiful components.

So I want to take a little bit of time to think about the impact of our work here.

What is the sum of our parts?

What are we trying to showcase?

What are we trying to communicate with what we are creating?

We are, we're trying to showcase our product names, how much that product costs, what are we going to click on with a call to action in a headline to entice people into reading something that they might be interested in.

We often synthesize these, these intents with, tokens or, type scales, or various, aspects, utilities that can then be synthesized into these texts, these pieces of text with various meaning.

But how might we attach this meaning, proportion, scale directly to the text components themselves?

And I'll take a step back again and look at this old newspaper layout from the Times.

And we'll just look at the headlines here.

And see how they map onto a graph.

So as the headline width changes, so does the font size.

So we'll just try to draw some correlation between these.

And you can see a very clear correlation between headline width, the width of that headline, to the font size.

Now this is great.

We have flexible grids, fluid media.

Can we do something similar with our typography?

We have clamp, viewport width and container query units, so CQI is a lot like viewport width.

And we can, graph out the slope, so we plotted our points on a graph, and we can graph out a slope, doesn't have that curve in it, but, we can get something similar, we can take that, and then use that in our newspaper layout.

So that way, if, we want to put a headline in some different area of our layout we know exactly what size it should be.

It is automatically that size.

And we don't have to create a new component for it every single time.

Yeah, here's that, that equation to derive that font size.

If you don't want to do the math yourself, there are tools for this.

Utopia is an excellent tool for creating responsive sizing for websites.

And yeah, that equation is really similar to the one we came up with.

Great.

Here's a product page using something similar.

All of these headlines and product names are derived from a single product typographic map.

And that map looks like this.

Alright, so we've looked at those examples.

Let's take a look at something more, slightly more complex.

So The Atlantic has some beautiful, rich typography on this page.

They have headlines of multiple different sizes across multiple different break points.

And again, let's map this out onto a graph.

And instead of drawing a straight line through these, what would it look like if we created a curved line?

A more dynamic map here.

And what would happen if we changed that map in real time?

We could see what happens to our typography across our page.

So all these headlines are being driven by one map, one CSS rule set.

And we get responsive for free.

Let's see how this works.

All the text scales.

Alright, so that's how headlines work, and we've talked a lot about headlines.

What about the body copy?

What about our paragraphs on our page?

Could that work with a typographic map?

Because we're asking a lot from our text, we're asking for it to scale, now down to the size of a watch, or now foldables are out, what would a map for this look like?

Because ideally, the text does need to shrink down, but we want it to be as big as possible in as many places as possible.

We want that to be as big and readable as possible, but we also don't want the text to get cut off.

We don't want a word overflowing the edge of the screen.

So we do want it to shrink down, just in a specific way.

So we want some sort of curve, curved map.

And this is What I've come up with, as a map for our root font sizes.

So starting from incredibly small, but going up to a reasonable font size as quickly as possible.

And we've talked a lot about font size, but other, there are other aspects to typography.

There's font size, line height, font weight, and font width, or, let's throw in any interpolable property while we're at it.

And here is an example of one typographic map, not just using font size, but including font weight, font width, and some line height to create a much more rich and dynamic typographic palette, as it is rendered in this layout.

Talking about line height specifically because this is something really important that I want to focus on because it's something subtle that, really impacts the quality of your typographic output.

So this looks off.

You can see the headline and the text below.

The spacing is a little uncomfortable.

And as we increase the number of characters per line, we also want to increase the line height in proportion to it.

So I've just inverted the line height on both of these pieces of text, and it feels much better to me.

The Headline feels tighter, and the text feels loose enough to read comfortably.

Now let's look at some examples here of how other people typeset their pages.

So in this Los Angeles Times article, they have about three different breakpoints where this headline snaps down to a different size.

And this is how most editorial sites, manage their typography.

In this GitHub page, on the sign up form, the landing page for GitHub, they have one breakpoint here, and there's a really an opportunity to keep this call to action as big as possible for as long as possible.

Heath Ceramics, one of my favorite, e commerce sites, I think it is gorgeous, has some responsive typography here.

They use some viewport width units to scale this text down, So they spent a lot of time to finesse and make sure that this typography looks good.

But there are areas where the proportion scales somewhat inconsistently with the body text.

And then Stripe, you can clearly tell they, they spent a lot of time, making sure that this headline, here, on this landing page scales fluidly, and I love how when the screenshots pop in and out of place, the text responds to that, and gets bigger.

And all of these applications we can solve with typographic maps.

Do these with less code and create higher quality designs with typographic maps to define how our text flows through our layouts.

So just like that Stripe example, one CSS rule set without any breakpoints, there's breakpoints for the layout, but there are no breakpoints for the text, can define how these headlines look.

Grow and shrink to, to evoke, the headlineness, that they need to.

Or here's that Atlantic example again.

You could see this, shrinking and expansion of all these, of this layout and it works, and on all devices.

Or an e commerce site.

And we're only managing one CSS rule set for all of these different product names and headlines.

Alright, so that's great.

But, how do we implement these?

How do we create this curve here?

And this is something that we've really been dedicated to at TypeTura.

This is something that we've been, focused on, finding a solution to.

So we have really powerful interpolation tooling within CSS itself.

This has been around forever, we all have it, and that is in the form of CSS animations.

We have, this EaseInOut function, so that defines that animation timing function, can define the shape, that curve of our typographic map.

And then we can define where things interpolate from, so we don't have to do, we can use whatever units we feel comfortable with here, we don't have to go through a calculator to figure out, what the calc function is for this, and then figure out where things interpolate to.

So all of that can be built into CSS, and there are, now a few different CSS approaches to binding this to your context, as well as, JavaScript for, better browser compatibility.

Here's what a typographic map on the root styles would look like.

So instead of using an out of the box, easing function here, we're using a cubic Bezier function, to define what the typographic, the shape of that typographic map looks like.

Instead of defining a to keyframe, we just define the from keyframe, and then all of our styles interpolate from the from keyframe to the, just default CSS rule set.

Here's an example for a headline and I'll show this, what the result is in a second here.

And yeah, this also has a more complex, easing function for that headline.

So this is the result of those root styles in that headline that I just showed you.

We can create something that is rich and dynamic that scales down impossibly small and back up again.

Yeah.

And so we get something that looks like this if we extrude it out.

This is like the shape of our headlines.

This is the shape of our styles.

If we extrude them out as different widths, as they are rendered across different widths.

And we don't need to think about maybe breakpoint or layout styles for each of our different text components.

We can impart meaning directly to them.

These are a number of different styles that you could consolidate into one typographic map.

As opposed to having headlines for here, headlines for there.

One map can manage that all and manage how our text flows through our layouts.

We've talked a lot about typography here.

Lynn Fisher made this, delightful website, and this uses the exact same approach that I've been sharing so far.

And this has, not for typography at all, but for animating and changing, these SVGs, across the widths, viewport widths of her website.

So I love what she's done here with this approach.

It really shows that, hey, this isn't for just typography.

We can really make super dynamic, super engaging, responsive websites with, by interpolating styles and rule sets across viewport widths.

Alright, we've talked a lot about, what we can do, and how we might implement it, but what about design workflow?

We have the tech and we need the tools.

Ideally, it would be nice to have these this scalable text, these scalable text components, directly available to us in the design tools that we use today, where we could just scale things and move them around and they would work.

But for now, fortunately Figma has a really robust plugin system, we could make these components in Figma, and then apply them to our page, change up the settings and have those, change on the page itself.

We could also directly integrate some of these tools into, our pages.

So if you are configuring your pages, or creating some, website, builder, you can quickly, adjust how things look, because control over how styles interpolate is powerful, and we can create higher fidelity designs with less complexity when we impart our components with meaning.

We can dig deeper into why, and we can encode this meaning directly into our text components so that they can be more powerful in more places.

Thank you so much, hope you liked it.

Do we have time for questions?

Awesome.

Scott Kellum

A child with short hair, wearing a blue and red outfit, is bent over, reaching for a book with geometric shapes on the cover. In the background, there is a bin with toys including a colorful ball and a stuffed animal.

At a young age I was diagnosed with dyslexia

A child is sitting at a table reading a book with an American flag in the background and the letters WDER displayed on the wall behind.

What is reading?

Stylized background pattern with abstract, wavy lines and shapes in varying shades of green.

Reading is coding

Abstract, wavy background pattern in various shades of green.

bdpq

"The four bemons"
via Gemma O'Brien

Legibility:

Can I read this?

Abstract green background with wavy lines forming topographic patterns.

Readability:

Do I want to read this?

Green background with wavy lines.

Readability:

Does this convey the intended meaning?

Background with swirling, abstract green contour lines

Legibility

An image divided into four quadrants with a cross in the center, featuring different items in each. Top left quadrant shows parts of a check displaying routing, account, and check numbers. Top right quadrant contains the Wikipedia logo. Bottom right quadrant shows a protest with a sign that says "END RACISM FOREVER." Bottom left quadrant contains an illegible intricate logo, possibly of a metal band.

Legibility

Readability

UI / Forms

Editorial

Decorative text

Graphical chart on a green background with textured designs that map legibility and readability.

Identity Letters

@IdentityLetters

Sol Matas ‍ ✏️ ...

@tullida

The slide includes a section with profile images and usernames for two Twitter accounts, one labeled "Identity Letters" and the other "Sol Matas," both accompanied by "Follow" buttons.

For Whom the Bell Tolls

A Wikipedia page displayed on the screen showing an article about the novel "For Whom the Bell Tolls."

Readability

Helvetica

Readability

Arial

Two sets of large text on a dark green abstract patterned background, with the word "Readability" displayed in two different fonts (Helvetica and Arial).

Readability

Helvetica

Readability

Arial

The slide compares the readability between two types of fonts: Helvetica and Arial

Readability

Helvetica

Readability

Arial

Readability

Kit Sans
Graphical comparison of the word "Readability" displayed in three different fonts: Helvetica, Arial, and Kit Sans.

Readability helps us communicate

A green background with abstract wavy lines and shapes.

Legibility

UI / FormsEditorialReadabilityDecorative text
A quadrant graph with arrows pointing right and down. The vertical axis is labeled "Legibility," and the horizontal axis is labeled "Readability." The top-left quadrant is empty, the top-right quadrant is labeled "UI / Forms" and "Editorial," the bottom-right quadrant is labeled "Decorative text," and the bottom-left quadrant is empty. Background has a subtle topographic pattern.

Legibility

UI / Forms

Editorial

Readabil
The slide presents a visual chart/grid with curved line patterns depicting a two-dimensional space. The vertical axis represents "Legibility", and the horizontal axis, partially obscured, represents "Readability". Various points and placeholders segmented by these axes are labeled "UI / Forms" and "Editorial".

UI/Forms/Dashboards/Feeds:

Multiple paths of communication and action

Editorial/Landing Page:

A single story or path of communication
Patterned background with organic, contour-like lines.

As page size changes

UI/Forms/Dashboards/Feeds:

Density remains unchanged

Editorial/Landing Page:

Density scales in proportion to the page

The slide has a green background with a curvy line pattern resembling a topographic map.

As page size changes

Editorial/Landing Page:

Density scales in proportion to the page

The shape of a website is multi-dimensional

Paper pages are 2-dimensional objects

Illustration of an A4 paper sheet with the dimensions labeled as 210mm in width and 297mm in height.

So are viewports

Screnshots of "Gold's Guide to Artificial Intelligence & the Humanities" and images including a railroad crossing sign and an article screenshot titled "Sydney, Spotify, and Speedy".
Staggered, overlapping book covers with the title "Gold's Guide to Artificial Intelligence & the Humanities" on each cover. The covers transition from left to right, with each subsequent cover tilted slightly further back than the one before it.
Multiple copies of a book or magazine titled "Gold's Guide to Artificial Intelligence & The Humanities", arranged in a 3D cascading pattern on a dark green background with contour lines.
A visual representation of multiple staggered layers of slides, showcasing identical slide versions in gold and black themes titled "Gold's Guide." Each slide has various images, texts and elements, all laid out to appear as a continuous chain or flow.

Preferred font size

Internationalization

Scroll depth

Different inputs

Different outputs

SB Nation 2012

Layout of a webpage with multiple sections, late-out elements labeled as "CONTENT TYPE STORY STREAM", "CONTENT TYPE ARTICLE", "CONTENT TYPE ROCK - FANCON", "CONTENT TYPE ARTICLE", and an area labeled "AD 300x600".

Multiple different sized web pages laid out in a storyboard format.

You are incredible

We manage complexity by creating systems

Design Systems

An old-fashioned wooden drawer containing typesetting blocks, part of a larger storage unit, presumably used for letterpress printing.

HODnop

Darden Studio, Kit Sans

Handgloves

Darden Studio, Kit Sans
The most common characters, numbers and symbols

Optical size

weight

Slide showing typographic samples of the letters "Aa" in various optical sizes and weights.
A visual consisting of multiple letter 'e's in different styles arranged in a pattern, with the words "Gerrit Noordzij, Cube" written at the bottom.
Arrow Type, recursive.design
An animated patterned slide with multiple 'e' characters in various shades of green and white, arranged in a grid-like formation over a stylized contour line background.

Roslindale

David Jonathan Ross, Roslindale
A geometric outline of the letter "R" in 3D perspective is overlaid on abstract, wavy contours in green and teal shades.
Erik van Blokland, Superpolator
Screenshot of the Superpolator software interface showing a grid with color-coded sections and different font weights, along with the word "Superpolator” displayed in a bold typeface.

“Type is a beautiful group of letters, not a group of beautiful letters”

Matthew Carter

Design systems are a beautiful group of components, not a group of beautiful components

Think about the impact of your work

What are you trying to communicate?

Screenshots of parts of several distinct web sites

typographic scales from various design systems. It includes:

  • A table comparing heading sizes for XS to XL screens, ranging from "heading4xl" to "headingLg".
  • A display of "The quick brown fox jumps over the lazy dog" in various sizes with pixel and em measurements (Nord Health).
  • A table from Shopify Polaris with typographic tokens '3xs' to '3xl', each with the text "Tallahassee".
  • Typographic scale levels from "Typescale XXL" to "Typescale XS" with corresponding pixel sizes.
  • A table from USWDS showing tokens '3xs' to '3xl', each with "Tallahassee" in different sizes.

How might we attach meaning to our text components?

An image of a historical newspaper front page with headlines and accompanying images about the first moon landing.
The same front page showing only the headings

A graph plotting font size against headline width for these headlines. It displays various newspaper headlines, showing how font size and headline width relate.

A line graph charting font size against headline width, with increasing values on both axes. for these headlines Points marked on the line are at 44px, 56px, 84px, and 160px font sizes against headline widths of 184px, 410px, 620px, and 860px respectively.

We have flexable grids and fluid media, but what about our typography?

clamp()

vw

cqi

A graph that plots data points connected by a line, with axes and grid lines visible.
A screenshot of a graphing tool window displaying the equation y=0.172x + 12.3, and a partial view of a graph grid below.

calc(17.2cqi + 12.3px)

screenshot of the utopia.fyi tool
Closeup showing a calculation similar to the previous
A slide showing multiple Nike product images, including different models of shoes like Nike Metcon 7, Nike Free Metcon 4, and Nike Air Max 90, with their prices and categories. Additionally, there is an image of a woman wearing Nike sportswear.
h1,
.product-price {
    font-size: max(1.25rem, 12cqi - 1rem);
    font-weight: 700;
    line-height: 1;
    margin: 0;
    mix-blend-mode: multiply;
}
codepen.io/scottkellum/pen/jOwmOZE
Screenshot of The Atlantic's homepage displaying various article thumbnails and titles.
A graph with 'Font Size' on the y-axis and 'width' on the x-axis showing distribution of text placement
A line chart showing the relationship between font size and headline width. The x-axis represents headline width in pixels, starting from 192px to 576px. The y-axis represents font size in pixels, from 18px to 42px. The line starts at 18px font size and 192px headline width, passing through 24px font size at 296px headline width, and ending at 42px font size at 576px headline width.
The Atlantic website homepage displaying various article thumbnails with images and titles, one of which is titled "The New Right-Wing Bogeyman" accompanied by an image of a man's face.
Screenshot of an article at Explore website.

The same article reduced to the size of a watch screen showing a few short lines of text

Two columns of text labeled "Linear" and "Curved" against a dark green background with a wave pattern. Both columns contain placeholder text ("Lorem ipsum dolor sit amet..."). The "Linear" column on the left has straight edges, while the "Curved" column on the right has slightly curved edges, demonstrating different text alignment styles.

Font Size

20px
500px

Width

A line chart. The vertical axis is labeled "Font Size," and the horizontal axis is labeled "Width." A curved line extends from the lower left corner to the upper right corner, labeled with values "20px" and "500px" at the respective endpoints.

Font size

Line height

Font weight

Font width

Any interpolable property!

Examples of various article widths, and font sizes

If your typography looks off,

It's probably line-height

  • Increase line height with more characters per line.
  • Decrease with fewer characters per line
Example text with heading having too big a line height and body too small
  • Increase line height with more characters per line.
  • Decrease with fewer characters per line
Example text with line heights adjusted to look better.
Front page of Los Angeles Times featuring an article titled 'Halloween rivals Christmas at Disneyland. How did it become such a game changer?' with an image of Disneyland decorated for Halloween with a large Mickey Mouse-shaped pumpkin and surrounding flowers.
Screenshot of GitHub's homepage showing navigation options, a headline "Let's build from here," and logos of trusted organizations.
A screenshot of a website highlighting Heath's dinnerware with images of various ceramic dishes and an assortment of food. The lower section of the slide showcases different categories for inspiration: Fisherman's Camp, Kitchen Basics, Table Basics, Registry Essentials, Mix & Match.

Screenshot of the Stripe website featuring a colorful header, an example of a payment interface on a mobile device, and logos of well-known companies.

Typographic maps

a series of overlapping pages titled "GOLD'S GUIDE".
An article titled "How a road trip across The United States brought inspiration".
Screenshot of a webpage displaying the homepage of The Atlantic magazine, featuring various article headlines and images. The main headline reads "The New Right-Wing Bogeyman" with an accompanying image of a man's face divided by horizontal bands of different images.
Screenshot of a Nike shopping age for shoes.

OK, but how do you implement this?

We have powerful interpolation tooling available in CSS

.headline {
    animation-name: headline;
    animation-timing-function: ease-in-out;
    --min: 10rem;
    --max: 40rem;
}
@keyframes headline {
    from {
        font-size: 1.2rem;
        font-weight: 900;
    }
    to {
        font-size: 3rem;
        font-weight: 600;
    }
}

css.typetura.com/ruleset-interpolation/explainer


  animation-timing-function: ease-in-out;
  --min: 10rem;
  --max: 40rem;

css.typetura.com/ruleset-interpolation/explainer
The previous code example highlighting this part.

  from {
    font-size: 1.2rem;
    font-weight: 900;
  }
css.typetura.com/ruleset-interpolation/explainer
The previous code example highlighting this part

html {
  font-family: "obviously-variable", sans-serif;
  font-size: 125%;
  line-height: 1.4;
  font-weight: 300;
  font-stretch: 460%;
  --tt-key: html;
  --tt-ease: cubic-bezier(0, 0.3, 0.3, 1);
  --tt-max: 800;
}

@keyframes html {
  from {
    font-size: 0%;
    line-height: 1.3;
  }
}

.headline {
  margin: 0;
  font-size: 5em;
  font-weight: 300;
  font-stretch: 500%;
  line-height: 1;
  text-wrap: balance;
  --tt-key: headline;
  --tt-max: 1400;
  --tt-ease: cubic-bezier(0.6,0.0,0.75,1);
}
@keyframes headline {
  from {
    font-size: 1.5em;
    font-weight: 600;
    font-stretch: 300%;
    line-height: 1.2;
  }
}

10 Essential Front-end Development Tools for 2023

screenshot of page with excerpts from 3 articles
A stylized red 3D object with a tapering tail, surrounded by various letters "A" followed by "g" partially overlapping in green, against a background with abstract contour lines and circular shapes.

Breakpoint layout

Each word is struck through
Several different code blocks

.headline {
  font-family: AGaramondPro, Adobe Garamond Pro, Garamond, Georgia, serif;
  font-weight: 400;
  --tt-key: hed;
  --tt-max: 640;
  --tt-ease: cubic-bezier(0.75, 0, 0.275, 1);
}
@keyframes hed {
  0% {
    font-size: 16px;
    line-height: 1.25;
  }
  100% {
    font-size: 42px;
    line-height: 1.125;
  }
}
A perspective view of multiple pages forming a 3D visual effect.

lynnandtonic.com/archive/2021/

An illustration of a web browser window displaying a website layout, with tabs and navigation elements typical of a graphic design or web development interface.

Design workflow

Screencast of laying out text using a tool.

Screenshot of an Nike shopping page. Overlaid there is a graphical interface with sliders for Text size, Headline size, and Curve values.

Control over how your styles interpolate is powerful

Higher fidelity designs with less complexity

Dig deeper into “why”

Encode meaning into your design systems

Thank you and happy typesetting

@scottetypetura.social
@typetura
scott@typetura.com