The Changelog: Software Development, Open Source - The story behind Inter (Interview)
Episode Date: July 19, 2021This week we're talking to Rasmus Andersson about his journey as a software creator. We talk about the work he's doing right now on Playbit, a computing environment which encourages playful learning, ...building, and sharing of software. We also talk about his work on the Inter typeface, as well as the reasons why this font family needed to be free and open source.
Transcript
Discussion (0)
Alright, we're back for another episode of The Change Law.
Welcome back.
This week we're talking to Rasmus Andersen about his journey as a software creator.
We talk about the work he's doing right now on Playbit, a computing environment he's making
which encourages playful learning, building, and sharing of software.
We also talk at length about his work on the Inter typeface, as well as the reasons why
this font family needed to be free and open source.
Big thanks to our partners Linode, Fastly, and LaunchDarkly. We love Linode. They keep it fast
and simple. Check them out at linode.com slash changelog. Our bandwidth is provided by Fastly.
You can learn more at fastly.com and get your feature flex. Powered by LaunchDarkly. Get a demo
at launchdarkly.com. This episode is brought to you by Sourcegraph. Sourcegraph is universal code search
that lets you move fast, even in big code bases. Here's CTO and co-founder Byung-Loo explaining
the problems that Sourcegraph solves for software teams. Yeah, so at a high level,
the problems that Sourcegraph solves, it's this problem of for any given developer,
there's kind of two types of code in the world, roughly speaking.
There's the code that you wrote and understand, like the back of your hand.
And then there's the code that some idiot out there wrote.
Or, you know, alternatively, if you don't like the term idiot,
it's the code that some inscrutable genius wrote and that you're trying to understand.
And oftentimes that inscrutable genius is like you from, you know, a year ago and you're going back and trying to make heads
or tails of what's going on. And really Sourcegraph is about making that code that some idiot or
inscrutable genius wrote feel more like the code that you wrote and understand kind of intuitively.
It's all about helping you grok all the code that's out there, all the
code that's in your organization, all the code that is relevant to you in open source, all the
code that you need to understand in order to do your job, which is to build the feature, write the
new code, fix the bug, etc. All right, learn how Sourcegraph can help your team at info.sourcegraph.com
slash changelog. Again, info.sourcegraph.com. Arasmus, you have worked on a lot of very cool software companies figma dropbox facebook
early on and spotify and now you're kind of doing your own thing you want to tell us that journey
yeah first off thank you for uh having me on your show i've listened to shane schlock a couple of
times in the past always enjoy it awesome happy to have you. Yeah. So my journey, I guess I'm the type of person who looks two feet ahead on the ground with
an intense stare.
And sometimes I look up.
In other words, I never really sort of pursued a particular career and goal and sort of really
enjoyed the things that I'm doing in the moment, you know, to some fault.
But mostly, I think, at least for me, it's been a delightful way of living. But in 2006 or so, or very specifically
in like August or July 2006, I joined Spotify or Spotify. I was part of the group. We started
Spotify and that obviously became very successful. And that was a really interesting journey.
And after a couple of years there, I moved to California and worked at Facebook for a little while.
And I worked both as a software engineer there and as well as a product designer.
And living in the San Francisco Bay Area, as I'm sure a lot of people listening already know, there's just at least like around 2010, 2011, there was just this kind of, you know, wonderful boiling of people with
similar interests in sort of computer science and design and stuff like that. So, you know,
I just met all of these interesting people. And I decided to, you know, try a couple of other
things. I joined Dropbox for a while, worked on a bunch of different side projects, and then I joined Figma pretty early
on. And I worked there for almost five years. And then I left
Figma to do my own thing. And we can talk a little bit more about that later if you're
curious. But sort of like that is the
five minute, what have I done professionally?
How would you say you got to the perspective of looking two feet in front of you
with an intentional stare versus say, some people are a bit more, I don't want to say like
wider scope, but you seem to have a narrow scope on like where you place your attention.
How do you think you got there? What made you sort of adopt that practice?
That's a really interesting question. I mean,
I'm pretty sure it's about how it's brought up in my environment and stuff like that. My parents
are both very sort of liberal, exposed me and I have a brother as well to all sorts of things when
we were kids, you know, different religions and, you know, different ways of thinking. And
it was very sort of hands-off. And I think having an upbringing that was very sort of hands-off and i think having an upbringing that was very in a contextual way very
focused on creativity you know i wasn't allowed to watch tv unless it was raining to play outside
you know unless it was raining that kind of sort of thing it probably i would guess set me up to be
curious and i don't know if it's nature or nurture but I'm the kind of person who when I find
something that I find interesting I sort of really focus in on it I get sort of almost consumed by
its interest in us yeah so what was interesting to you at Spotify or about Spotify either the idea
or the the technical aspects or what would you zone in on there?
How I came to own Spotify is a little bit interesting.
So in 2001 I started my own company together with two friends.
My brother and a friend, eventually another friend.
We worked on this and eventually I was able to make a living out of this.
I moved to Stockholm in Sweden and I met some interesting people.
One day I just got this phone call from someone,
just some number I didn't have in my adjustment.
I mean, this is pre-iPhone, had a little flip phone.
And he was like, oh, hey, yeah, I heard your name
from this person I knew, Christian,
and this other person I knew.
And I have this idea, do you want to grab a coffee?
I was like, sure, grab a coffee. It Danny Lick the one of the founders of Spotify and we met up in Stockholm
we went to a cafe we had coffee we had more coffee we went to a naughty cafe we had more coffee
then we went back to my place and we started comparing hacks like he had his laptop with us
with him and you know we spent basically a whole day just talking about stuff.
And then he's like, so are you in?
And I was like,
okay, let's do it.
So I was working
I don't know how much, like
13, 14 hours a day, right?
You run your own business, you have to work pretty hard.
At least I was doing that. I love it though.
So I just decided to drop it all,
say bye to all the clients,
and just jump on this thing.
And Spotify was pretty brutal actually.
In hindsight, I mean, I was pretty young,
or I'm still young, come on.
I was younger than I am now, a lot younger.
And kind of working for 20 hours a day, all days,
well, it's like fine.
And it was just a lot, a lot of hard work.
But it was super hard work together
with like amazing people who i learned so much from and that to me thinking about you know how
they say when you when you are through like big experiences in life you tend to forget about the
bad parts and you tend to kind of reinforce the memories of the the good parts of that experience
and so to me that's how i look back at it. Maybe it's a bit
idyllic now in my mind, but
yeah, I wouldn't change anything if I could go back.
Yeah. That's where nostalgia comes
from. You look back at things nostalgically
and you're like, those were good times.
I'm not sure psychologically what that means
though, like what the psychological term is
for looking back with only fond
memories versus the negativity.
It's called road color glasses.
That's the scientific term for glasses. There you go.
That's a scientific term for it.
No, it's funny.
My wife has a shirt that says,
these are the days.
And it's a reminder because we have a bundle of kids.
And it's really hard
and you're always busy
and you're exhausted
and they're driving you nuts.
Adam, you know what this is like.
Totally, dude.
Every day.
And yet we meet people
who are beyond this phase.
Their kids are grown and
they're empty nesters or what have you and they're always just like they see us in public and they're
like oh this you must be having the time of your life this is amazing these you know and we're
always like no we're exhausted we're sweating we're angry and it's because we don't we need to
slow down and realize that actually no when we are older we'll look back and these will be the
days that we miss and we remember and so i like that shirt because when i see it i'm like
you know what these are the days so i like that i love that i'm gonna adopt that these are the days
yeah that is really nice yeah it's it comes down to people right like at the end i think that's
usually where we attach those fond memories to like the people or even if it's not directly a
person in your mind like the feeling of the people you had around you at least it is for me like the
you know you're talking about you know your your kids those are people right people you work
together with like the experience you've had i think very rarely do at least i think back in a
nostalgic sense on experiences that I had alone
or with any sort of inanimate objects.
Or even if you reminisce with somebody.
So like if you and Daniel got together today and had coffee,
you could go back to that day together
and enjoy it nostalgically
because you both had that shared experience.
And that would be more enjoyable than, for instance,
you telling it to us, which is still nice,
but like you were both there.
Yeah.
And it's like that relationship, you together in that time is what was great and so it's interesting
and with that maybe i should jump into playbit because i think this this relates a little bit
to what i want to do playbit so um i joined i left figma almost a year ago. Not quite a year ago, but it took me a while to decide to leave and do my own thing.
And it's something I've been thinking about for a long time,
which is this kind of idea of personal software or personal scale software.
Like today, if you look at things like Hacker News and Twitter
and listen to a lot of technology podcasts,
there is sort of almost a relentless focus on scale
when it comes to software.
You look at the web platform too and how it's evolving
and the tooling that's evolving around it.
It's almost entirely focused on scale.
How do I scale Postgres to a million requests per second and stuff?
And there's nothing wrong with that, I think.
And it surely applies to a lot of challenges
that people are working on in technology, right?
But at least when I grew up in sort of the 90s,
there was this idea of shareware.
And there were all these people making these little quirky programs
that probably only appealed to a handful of people out there.
But you know, you would have 50 different audio players.
And, you know, one of them were super weird and you just happened to like that right you send five dollars back to the person who made it as a thank you and i think we lost a little bit of that along
the way the macromedia or adobe flash i think brought some of that to the mainstream in like the 2000s.
So to me, this was something that I cared about.
And I was thinking that, you know, how could I go about trying to make this happen, right?
Or trying to at least like make this more of a thing, an option for people.
So it's really a cultural thing.
And that's kind of what's at the core of Playbit.
So what I want to do is to bring back this idea
or to increase almost the know-how
of this idea of personal size scale software.
If you have five hours on a Sunday,
I want you to be able to spend four and a half hours
of those working on your idea.
Not spending four and a half hours
choosing between a million NPM packages
and databases and deployment systems and stuff.
Because that's, I think, the reality today, right?
Yeah, very much so.
Dev environment setup or pipelines or ops or how I ship it, etc.
There is a plethora of choices.
This tweet you have then back, looks like earlier this year, January 31st,
said, Playbit is an ambitious
project to create an environment that encourages playful learning building and sharing of software
is that still a good summary of what you're talking about yeah the goal of playbit as sort
of an effort which is about culture and an idea and then there's sort of a strategic part of playbit
that is software and that's what i'm
working on and that might be another six months or not a year out or so before i ship anything but
i'm pretty sure that i will be mostly wrong probably like 80 wrong and so whatever i'm
building now i'm sort of like mentally preparing myself to like okay i'm gonna have to throw most
of this away yeah and it's just a ton of work.
It's the way I'm building it.
But, yeah.
So knowing fully that this is not what it will become,
like what is it?
I'm sure you got some clay and it's molded
into what you think it should be six months, a year from now.
Just generally speaking, what is it?
Is it like a, is it an SDK?
Is it like a framework, like a Ruby on Rails kind of a thing? Or like, what does it is it like a is it an sdk is it like a framework like a ruby on rails kind of
a thing or like what does it allow us to build just kind of give us a little bit more of course
concrete so it's a portable runtime so this is one of the first things that i realized that you know
what do you need to create the environment right to be able to make this kind of smaller scale
software there's a bunch of things you can take off the table right off the way, right?
Large scale performance and just scaling of data and stuff like that.
You don't have to deal with any of those issues.
They're kind of intentionally out of scope.
But one thing that is very important, I think, is reproducibility.
Kind of like a technical term for what you might experience as like, it just works, right?
So if you go and you download something and run it just works right so if you know if you go
and you download something and run it in like docker which i think has become popular for this
reason mainly you can get the same result as whoever ran though on you know stack overflow
who are saying something right whereas if you just run some bash script in whatever shell they are
using right like maybe it'll work.
Maybe you'll get something different.
I think a lot of the effort and a lot of the time we spend on software is with the tooling.
And today, if you contrast it with 20 years ago, we spend a lot more time, I think, today
with tooling and using tooling to produce our programs or products in the end.
So to do that, I think a portable runtime is pretty important.
Something that you can say, at this point in time,
this is the runtime I'm using and I can save a copy
if I want to for the future or whatever.
10 years from now, I know which runtime I use
so I can kind of run that.
And I think one of the, maybe very obviously,
and I think if you're listening to this now,
you're probably like, dude, why not just do this on the web?
That is obviously the most successful portable platform
of humankind of technology, right?
And I think that's right.
And that's kind of how I think about the web platform.
This is sort of like a portable thing.
Mostly portable.
I mean, if you use fancy things,
it's maybe only working Chrome or only work Safari, but whatever.
I think that the issue with web is in this context is that over the last two decades,
we just focus so much on building big and impressive software on web. And so there are
two issues. First off, I think there's just a mental association with work and with choice and options when it comes to web development
to begin with, right?
You can play with something like Rapplet, for instance,
which I think is super cool, or Godbolt.
And I think you can get a hint of what it might be like
if you didn't have to install the right version of LVM and Clang
and EMSDK and this version of Python and that version of LVM and Clang and, you know, and EMSDK and this version of Python,
that version of this.
Another reason I think is that there's just a lot of information and documentation out
there, just like oceans and oceans and fathoms of, there's just so much, right?
So imagine if I built a thing on the web platform and now you're making a thing and you don't know how to make a rectangle bounce
or whatever you're trying to do.
So what do you do?
I think most of us, we do a web search
and we're like, oh, to make rectangle bounce
and we toss some unique keywords
and maybe we'll find something.
And I think that you do that with, say, iOS development.
How do I make a table that does this thing?
You're going to get a few high quality results because there are very few
ways of doing something like that. Whereas if you do with web, you're going to get
here's how to do it with next and nuxt and vu
and react and preact and with webpack
or with gulp and I can keep enumerating these things.
Keep going, keep going.
The list is long.
Well, even inside the web technologies,
you can say, here's how you can do it with Canvas.
Here's how you can do it with SVG.
Here's how you can do it with CSS.
Here's how you can do it.
I mean, it goes on and on, right?
And again, reflecting a little bit over,
there's really a contrasting thing going on, right?
Personal scale software instead of large scale software.
For big scale software where you are investing months in building something for a ton of people
this is great we're talking about now
this diversity and this multitude of options is really good
so Playbit is a portable runtime and it's not the web
so I was thinking what would you use today
if you were to just put together the web today
the web didn't exist but we had all the other technology we have today.
And I think what you would do is a virtual machine
or something like it.
Just in the last, like, what is it?
Three years or something like that.
All the popular operating systems,
Linux obviously was the first one with KVM
and Windows with Hyper-V and Mac OS with 10.10
with a hypervisor framework.
So now all of the three big popular operating system
kernels, and BSD of course too, have hypervisors. And the difference between a virtual machine,
or I guess these terms are still, they mean a little bit different things to different people.
But at least the way I would talk about it is that you can emulate something and you can run something sort of lightweight virtualized
and emulating something might be like there was this guy passing away the other day it was
kind of sad who wrote the b super nintendo emulator bsns like that is an emulator right
it emulates hardware you take a pretty deep performance hit and this is how most of virtual machines worked, and some
still do. You run
QEMU or something like that, and you say
I want to emulate this PowerPC processor
or our processor or whatnot.
And it works, but it's not going to be very efficient,
it's not going to have access to hardware
and other things. And so virtualization
is essentially
just running something as a program
on your current OS, but you fake the environment
so that the program, when a program pokes at its environment,
it looks like it's the process one.
It looks like it's just running on a new machine.
So Playbit is this portable runtime.
It uses the Linux kernel.
It is a very small Linux OS.
The whole thing boots up in about two seconds or so. It uses ZFS and stuff inside. And Linux has these nice things that, and this is
Dockerworks, which is sort of a wrapper around these features in the Linux kernel. It has these
things called namespaces. There's a bunch more technology around this. You can probably do a
whole episode of this stuff. But the TLDR is that
namespaces allow you to compose almost like a hierarchy of these virtualized environments.
So you can start a program, and you can do it very cheaply, both in time and space. So you can start
a program, and you can say, hey, give this program access to these hardware devices.
But give it its own file system environment
and give it its own process identifier tree,
like PID tree and stuff like that.
And if you enable enough of those things,
that's what Docker does.
And now you can run whatever inside it.
So that's what Playbit does.
And each little sandbox, each little project in Playbit
is one of these programs that runs in sort of like a namespace.
And that means that you can, at any point in time,
you can just save your entire state of your thing.
You can take snapshots of your entire state.
You can do all these things very cheaply,
like milliseconds, not seconds.
You can resume work.
So let's say that you start a project on a Sunday
and after four hours you realize, oh, I'm not going to finish this.
I think today it feels a little bit daunting
that I might have a web browser with a couple of tabs.
I have a terminal or two.
I've got my text editor.
Maybe I get a notepad or to-do program or something like that.
All of those, I think, logically compose this idea of a project or an environment.
And closing all those things down and then opening them up, because you might be working on a couple
of different projects, right? I want to have all of these things open all the time.
And I realize I'm talking a lot about the nitty-gritty
so I'm trying not to get drawn into the details. That's kind of my daily work.
But a final
component to this is that
I want
the software to be high quality
and to me, high quality is
reliability and responsiveness.
So the display part of
the UI part of Playbit
is a decoupled
Windows server from the actual Playbit.
What I mean with that is that what is drawn on your screen
and what decides what to draw on the screen run in two different places.
There is a really kind of dumb, currently web GPU API thingy
that is the display server.
And that I compile for macOS or for Linux or for Windows.
And it's part of the program that you download and run
that starts up this whole thing.
So kind of the experience is a bit like a video game.
You start, play a bit, it goes full screen.
And now the thing that draws on your screen
is not like VNC or anything like that.
It is just a local thing that creates
a OS platform-specific
window that is essentially a GPU surface. And then Playbit sends these WebGPU commands.
Technically speaking, I'm using this project called Dawn, which is part of the Chromium project.
It's the Chromium's implementation of WebGPU. Chromium already has sort of like a process separation like model,
which means that what Dawn does, this library,
allows you to decouple the rendering from everything else.
So another way of talking about this is imagine you're in a web browser
and you're using WebGPU or WebGL.
It's WebGPU is sort of a successor to WebGL.
And so in WebGL, you say, you know, give me a canvas, right?
Or give me a canvas context and then you do all your things.
The execution of JavaScript and what is displayed on the screen,
they run in two different processes, right, on your OS.
And so the same thing is true with Playbit.
And this allows you to run the Playbit runtime on your local computer,
or you can even run it over the network on a remote computer
while you still have perfect 60 FPS, high precision display experience on your screen.
So yeah, I hope that's not too much in the weeds.
One thing we can grab there is you're passionate about this.
I mean, you're deep about this i mean you're deep
in the details and you're taking us through those details and we may not follow you perfectly but
this is an exploration and that's what's fun is the exploration what might come out of it and
still kind of understanding what you're trying to do with it but exploring i think it's also
valuable to be able to start and stop like that's half the reason why i'll start doing
certain woodworking projects because it's difficult to, you know, get momentum to start them and then stop them.
It's not software, but the whole start and stop process when you're exploring and having fun.
Sometimes the thing that holds you back from doing it because you're like, well, if I can't pause where I'm at and resume where I can go back to, if it's not a safe environment to like explore, you don't explore.
You know, that's completely right yeah when we feel safe
that's you know the mass loves you know there's a pyramid or staircases there are different ways
of visualizing this but there's you know this idea mass loves you know staircase or pyramid of needs
yeah and i think that applies to here right when it's sort of like more fundamental needs are
fulfilled higher level needs can be fulfilled right and sort of like more fundamental needs are fulfilled higher level
needs can be fulfilled right and sort of at the top of this pyramid or somewhere in the middle i
guess when you feel safe you can start doing more you know advanced things like reading books or
you know creating music or stuff like that yeah and i think that that is true even in the specifics
with computers that if you feel that if I run this program now,
or let me scratch what I was about to say.
I think maybe a more relatable thing is you write some code
and it's compiled.
Almost everything is today anyway.
It's even JavaScript, right?
So it is compiled.
Now let's say that your compiler has this,
it takes five seconds, right?
Or if you use Webpack, it'll take a coffee break.
But let's say it takes five seconds.
That's maybe a reasonable amount of time
for the change that you made in your code
to be visible on the screen.
Five seconds is a really long time.
I think what tends to happen is you get this effect
of the safety problem for creativity
when you have long compile times.
Again, this is just a specific example of the greater idea.
But if you can reduce the compile time
down to 100 milliseconds,
this magical thing happens,
which is that people start just trying things out,
exploring things.
And if you couple that together
with a programming language or a computing environment
or something like that,
that doesn't go down one-way paths
that you can't go back for.
If you're rm-rf slash, right?
Pseudo, whatever, right?
That's usually a one-way street
that you got to screw things up, right?
If you do that in a Docker container,
you can just kill it, restart it again, right?
It's not a one-way street.
It's ephemeral.
You can just try it again.
That's something that Tom Preston Warner said,
one of the co-founders of GitHub,
a long time ago in an interview way back before GitHub was the GitHub it is today.
And he said this about Git because Git allowed you to explore more when it came to source code.
And he said Git is permission to mess up because you can just branch and try it.
And if you don't like it, you just throw it away.
You just forget about it. So the safety net, so to speak, gave what we all know now,
looking back at what GitHub has become for open source
and the community, this big old safety net to explore.
Yeah, Git is a lovely example.
Permission to mess up.
I'm old enough that I worked in technology
where it was pretty subversion, we used VCS,
and often we'd just go F2P or SSH even
in that case, into a server
and just like change some PHP script or ProScript
while, you know, there's these
10,000 requests per second hammering it
and we just hope that when you hit save, right?
That's right.
Yeah, Git is a great example
and something that I think most of us just
take for granted today. It's quite incredible,
right, what it allows us to do,
that kind of exploration.
But imagine that on a more fine-grained level, right?
I think that's where we're going to go in the next decade
with computers and with software development.
The idea where, or the experience where you can just try something
and you get instant feedback,
almost like drawing on a piece of paper, right,
or painting with a paintbrush on a canvas.
You immediately see what you're doing. You can adjust your stroke as you're drawing it, right? On a computer,
if you think about coding, it's almost like you paint your paintbrush and nothing is on the canvas.
You have to stop after an inch or so. And you just wait now. You just wait. You just wait.
And now that you see the paint, you're like, oh, cool. And you keep going, right? And a lot of ideas comes when we are doing something else, right?
So we're drawing this stroke, right?
And then this analogy to like painting.
So we're drawing this stroke with our brush on the canvas.
And suddenly we see this rabbit, right?
And we decide to draw a rabbit.
But if we don't have that feedback loop, if we cannot get into a state where we just feel
free to just draw a thing and to find a rabbit, we'll never find a rabbit.
Or at least we won't find nearly as many rabbits.
And again, you know what they say about ideas.
Like out of 10,000 ideas, one of them is a keeper, right?
You kind of have to explore them all.
And you kind of have to find them all to begin with, too.
Yeah, so I think this is important. This This episode is brought to you by Retool.
Retool is a low-code platform built specifically for developers that makes it fast and easy to build internal tools.
Instead of building internal tools from scratch, the world's best teams, from startups to Fortune 500s, are using Retool to build their internal apps. Assemble your app in 30 seconds by dragging
and dropping from the complete set of powerful pre-built components. From there, you write custom
code, connect any data source, API, and build custom logic and queries to create exactly the
right tools for your business. Spend your time getting UI in front of your stakeholders, not
hunting down the best React table library. Retool is also highly hackable, so you're never limited
by what's available out of the box.
If you can write it in JavaScript and an API,
you can build it in Retool.
Try Retool out for yourself at retool.com
slash changelog. Again,
retool.com slash changelog.
So Rasmus, we've had you on our list of people we want to talk to for a very long time we keep a list sometimes we lose the list other times we just remember names on it it's not a great system
but we talk to each other we have names we have ideas and i think it was last summer we did a
couple of fonts episodes right a couple of focuses in on fonts, and we were talking about Inter,
and of course your name came up, and then we kind of forgot about it.
And then, Think and Maintainer on us, which was a huge hit, by the way.
Lots of people getting free t-shirts, which was awesome.
And somebody put a shout out to you on Twitter, thanking you for Inter,
and the work you've done on it.
And so you're eagerly awaiting your Maint, maintainer, maintainer t-shirt.
Yeah, I actually checked up on that yesterday.
Yeah.
Still waiting.
It's happening.
It's happening.
We're batching them all together and putting out a shipment,
so it's all happening.
But I was happy to see your name.
I was like, oh, I remember Rasmus, the inter guy.
Let's do it.
Let's have him on the show.
So we're excited to have you here.
And Adam, this was a topic that you were particularly interested in yeah because this is kind of up your wheelhouse design
typography fonts etc adam geeks out on this stuff i've seen inter used by several sites i can't
recall now because this was a year ago when i first discovered inter in your work and i was
like wow okay and then i discovered it was open source i'm like wow okay you kind of dug deeper
i'm like this is super thorough this is like really good and it was open source. I'm like, wow, okay. I kind of dug deeper. I'm like, this is super thorough.
This is like really good.
And it's open source. Not that open source is not good and thorough, but I was just surprised at how deep the intro world was.
And like the brands that were using it, like it's really well used.
I looked into you and you're like working at Figma.
I'm like, wow, okay, this is super cool.
We got to talk to this guy.
And then I forget what had happened.
And then, you know, obviously maintainer week happened and you got thanked and you're getting a t-shirt that
says maintainer, maintainer, maintainer. The first person who gets, who understands what that means,
raise the flags. I want to know, but enter is super cool. How did you start this?
Where did it begin? What's the story? Well, first off, is that some sort of Steve
Bollmer reference? Yes.
There's a couple of references.
Also, Beetlejuice. You've never seen Beetlejuice?
Oh, yeah.
If you say his name three times in a row, he shows up.
That's kind of how it is on GitHub issues.
If you just complain enough times, the maintainer shows up.
There's a couple of references.
I like the Beetlejuice.
Definitely Steve Bollmer.
Because GitHub, maintainers. Developers, developers, developers.
Microsoft owns GitHub now. Maintain you know, GitHub, maintainers. Developers, developers, developers.
Yeah, exactly.
Microsoft owns GitHub now.
Maintainer, maintainer, maintainer. We trim the S.
We trim the S
instead of maintainers.
All the references.
Maintainers, maintainers.
Developers, developers, developers.
It was just maintainer,
maintainer, maintainer.
And suddenly,
a maintainer arrives
and boom.
Not so much at your service,
but they're just all
some problems.
Sometimes at your service
until they burn out
and they're no longer at your service, which is bad.
Plus it's, you know, see it three times, it's good.
But there you go.
But inter is super cool.
So what we were saying, I was going to say, what's the backstory, inter, all that good stuff?
Oh, gosh.
Yeah, I mean, first off, I've done a couple of fonts in the past, but never at the scale of Inter.
And similar to what we were talking about before,
and how I was talking a little bit about how
I looked down two feet in front of me,
and I focused really hard.
With Inter, I was working at Figma,
and it was pretty early on,
and we were using Roboto for the UI.
High density displays was not as popular, but it was
pretty clear it was becoming the standard, but it wasn't yet. The UI of Figma was very skewed
towards being utilitarian, being sort of getting out of your way and having as much information
in there as possible without being intimidating. We wanted it to be very approachable. So one fallout of those constraints were a fairly
like small UI font, 11 dips specifically. And Roboto is like this amazing typeface, right?
And it is, as far as I know, designed to work at a variety of different sort of applications and
sizes. And we were struggling a little bit
with the legibility of it.
And some of our very early users too
were having some trouble with it.
So I was thinking, you know, like,
how hard would it be to make a font similar to this
that only works at 11 points, right, or dips?
How can I make, could I just make a font over a weekend
that is sort of like, is okay as a test?
So I installed RoboFont, one of the big popular font programs.
And I made a really simple, almost pixel font-like font
and started testing this.
And it was kind of interesting, and I kept working on this as a side project.
Just sort of a personal side project for a while.
And started getting feedback from my colleagues
and trying it out sort of on a fork build,
a Figma and stuff like that.
And it was really interesting.
It was very interesting.
Ultimately, it was a bad idea
because what happened was that it really did look,
and there's some, if you go to Inter's website today,
if you go to the very bottom,
there's some, if you click around some links, you can find some screenshots of that very original thing but
it did not work well at longer sections of text and it was kind of killed the product
but by doing that i was like oh wait a second why don't i make a font you know that is sort of like
roboto helvetica acura san francisco in that realm right that is sort of like Roboto, Helvetica, Acura, San Francisco, in that realm,
right? A very sort of like a workhorse of a Sans Serif that we could use for Figma that I can use
for UIs myself and stuff. I didn't really have a go-to workhorse typeface for screen. And back in
the day, it would be Lucida Grande or Grande. Oh, by the way, I saw a really fun sign.
It said, someone took a photo of a sign by the road.
And those kind of letters, you find an old style theater, movie theater.
And it said, I thought Ariana Grande was a font.
So Lucida Grande, maybe that's how you say it.
But anyhow, I didn't really have a workhorse.
So I thought, you know, this could be a fun little side project.
And so I started working on that, you know, asked for tips from people.
I joined Type Thursday, the local Type Thursday group here in San Francisco, which is this
super nice group of people who meet once and then and do little critiques and help each
other out.
And I met several people who are just amazing and helped me out so much there's a guy called james of oh no who was really helpful early on he helped me a
little bit with you know what tools should i use is robo font the right thing what plugins do i need
like you can't really draw a rectangle in robo font without a plugin it's a very sort of plugin
driven thing yeah so that's kind of how to got started. And then it just kept tumbling on. And
years went past. And now it's been a couple of years, and I keep working on it continuously.
Now I would say it's pretty close to done, as far as you can get it done. It's probably another
two, three years to go, at least on a regular kind of text version. There's a display version
in the works as well. Was it always intended to be open source, or was that just sort of a happy accident?
How did it, obviously a side project, but didn't mean it was open source. How did you get to the open source nature of it?
That's a great question. This is sort of central to what drove me
to keep working on it. So reflecting a bit over almost the realization
I hadn't really thought about that I didn't really have a good workhorse
UI typeface that would work on
websites. You can't use San Francisco or something on a website, right? Or any other sort of
commercial phone without paying license fees for it. And I think that makes sense for a commercial
website who might want to have sort of a personal edge. Anyhow, reflecting over that, I realized
that for this to be a worthwhile effort,
it needs to be open source.
That's sort of like, Inter is almost, that's almost like why it exists.
To be a really high quality, free to use, and truly free to use.
If you want to make money out of things that you make with Inter,
you can do that, right?
Like fully, truly free.
I felt that that was just missing in the world
yeah i mean how many hours you think you put into this can you add that up i mean is this is it more
than you can add oh it's it's thousands and thousands of hours i mean i would go on vacation
and i would like every second day i would work on it and every second day i would you know do
vacation stuff i would like you know after work and evenings like pretty much all of the weekends at least for the first few years now it's more of a maintainer
maintainer maintainer situation there's uh there's less like for progression work with the typeface
and there's more like oh this version of office 2003 on like windows, when you send it to this HP printer from 2005,
the kerning is off. Let's see if we can figure this bug out. Because fonts are these little
programs, right? They run in a virtual machine. They have code inside them, they have these
programs inside them. So it's actually kind of finicky. And there's a lot of different
implementations of this. If you do use this term, virtual machine, there's a lot of different implementations of this. You know, if you do use this term virtual machine, there's a lot of implementations of it.
Yeah, so that's a big part of it.
But no, it's more hours than I can imagine.
I mean, it's a beautiful typeface.
I think, you know, Helvetica is one of those typefaces
that sort of has this, you know, this being from Stockholm, Sweden.
I mean, you know, that's the face.
And I think the font face that people think about
in terms of like the most popular, I think Inter is like of the face and I think the font face that people think about in terms of
like the most popular and I think inter is like of the same caliber in my opinion like I imagine
that one day there will be a there'll be a documentary if not a podcast documentary
I mean that would be amazing I mean thank you so much Adam that means a lot I actually went to the
was a premiere of this Gary Husevitz documentary called Helvetica years ago, I don't know, 12, 13 years ago with my other
type nerd friends when I lived in Stockholm. We went to this movie theater and he was there
premiering the movie and I remember sitting in this movie theater
with my other type nerd friends and we looked around and it was
just full of people. It was like 100 people or something in there and we were like
dude, all of these other people are as weird as we are.
How cool is this?
Yeah, that's going to be quite the feeling.
Well, I mean, just speaking to the hours and the output,
there's so much depth to this in terms of customizability,
the variable font, all these features,
the ways that you can subset it with different tools.
And on top of all that, I guess the base of what's there, 2,548 characters.
Are each of those handcrafted?
I suppose they have to be.
I mean, like you, or did you start with something
and then you like tweak certain ones and leave other ones alone?
I don't even know how a font's created, so maybe help me out, understand.
Did you handcraft each glyph?
Both yes and no.
So a lot of the, not a lot of the glyphs, but to begin with, a lot of the glyphs were
sort of backfilled, if you will, by Roboto.
Okay.
And so the product is still dual licensed.
There's a license in the source code there for Roboto.
Some glyphs are still Roboto.
It's sort of like if you open the font in a font editor
and you look at the very end of the font order,
so glyphs have a specific order in fonts,
you can find some really fringe glyphs
that is going to look out of style
if you look really carefully.
And those are probably the Roboto glyphs.
But early on, I did use some of the decorative marks
in particular from Roboto,
and then I replaced them as I was going.
But yeah, I mean, the vast majority of glyphs are hand-drawn,
and often it's over the course of months on one of them.
Like the lowercase a, I redo that, I don't know,
at least 100 times.
I would redraw a paper, I would redraw an infigma, I would import it, I would tweak it, I would tweak it, I would tweak it, I'd test it, I'd test it, I'd test it.
One thing that's nice though, which is probably not surprising if you are doing programming, is that these phone tools, and even actually the phone programs themselves, has this feature of components, if you use Figma or Figma's components in a very similar way, if you use React, kind of a component React works the same way, that you can say this glyph is a
component.
And now in another glyph, you can say, use an instance of that glyph here and apply these
transformations to it.
So about almost like a mathematical approach, like a functional approach.
And so to create like, you know, like an omelette or something like a mathematical approach, like a functional approach. And so to create like an omelette or something,
like a character that has some small variations,
like maybe as their critics,
like dots on top of it or something like that,
or a flipped, like an inverse version of a character.
There's a few that are flipped on the y-axis,
a few that are mirrored on the x-axis.
Those are just instances of the other
glyph which means that if i go and i make some tweaks to the lowercase a glyph that will sort
of just trickle through to all of the other glyphs that use that you know that that is based on that
same lowercase a so that saves you a ton of time it also saves the file size from from exploding
you don't have to compile in you in 20 copies of the lowercase a.
So in the font program, it essentially is as a pointer to that a
and a list of transformations to apply.
You must have had to learn a ton of stuff to dig this deep.
I don't know if this made the show or not, but in the pre-call at least,
I think you said most of my movements in my career, I'm paraphrasing, have been to learn.
Less about to ship the thing, but more to learn because that's what you're doing.
And it's evident here.
I can't imagine that you were a font expert by any means prior to.
You were asking which program to use to create a font, so you couldn't have been an expert prior to but i mean to go this deep is would you consider maybe this is boasting but would you consider you've
you've uh reached some sort of mastery around this considering how much work no i'm still i mean i'm
still you know looking up to the best you're a smart artist yeah smart novice i like that
indeed yeah for sure it's the way i operate just in general
with hobby projects and work and everything is there's a huge focus for me on learning
most of my side projects and i usually have 10 15 or so at any given point are most of them are
to learn something not to create a output or to change something at the end of it.
Maybe that sounds, it actually sounds sort of like egoistic.
And I guess it is to sort of learn.
But I really enjoy the learning experience.
And with Inter, it's definitely been a big part of the driver as well.
You know, as we were just talking about a few minutes ago,
two of my drivers were, you know,
I want a workhorse typeface for user
interfaces and the other part was that i want one to exist in the world that is truly free
there's the third part too which is just working on it it's just like the most delightful experience
so in contrast to some other types of of work like programming or designing or something like that
what has been really nice
with this kind of type work is that i can spend 10 minutes on it or i can spend 10 days straight
on it the variance it's almost like comparing video games like you know if you're listening
and you played some video games like if i pick up a nintendo switch and i play zelda breath of the
wild i can play for 10 minutes and i can just put it down and I can resume it
later. And if I try
to play a PlayStation game, I have
to invest at least an hour to just
get started. There are updates and
they're loading screens.
And in a similar way, my
experience with Ninter and some of the other
hobby fonts that I've done
on the side have been in the delight
and low expectations of just making it.
I guess open it up, work
a little bit, close it down,
open it up again, work a little bit.
The type of work is
a thousand tiny things
rather than five
huge things, if that makes sense.
Well, if it's anything
Breath of the Wild, it's got to be fun.
So I don't't maybe i should start
my own font because i could definitely hop in or out of that game but when you started talking
about that a didn't sound very fun to me so you created hundreds maybe or all these different
variations i'm sure they're just slightly different you know this goes slightly down up down
and then you have to pick one, right?
Because you've got to land somewhere.
To me, that sounds like torture.
You have to pick one, though.
That's kind of the beauty.
Is that the beauty or the torture?
Because now you've got all these.
And which one's objectively better?
How do you decide which A enters A at the end of the day?
I mean, that in itself, that's a really good question.
I think that is a very interesting conversation in itself.
So what makes something the right thing?
When can you feel done or satisfied with something?
I would really recommend anyone who feels even remotely curious about fonts
to just make a font by yourself.
20 years ago, or even 10 years ago, it was quite an effort to make a font.
And today, if you have two hours on a Sunday, you know nothing about font making, effort to make a font. And today, you can do it. If you have two hours on a Sunday,
you know nothing about font making,
you can make a font in that time.
So one sort of downside, I would say,
one opportunity, rather,
is that all of the three industrial-strength font programs
are for Macintosh.
So if you are on Linux or Windows,
it's going to be a little tougher.
There are two of them out there.
There's one in development called RuneBender, which is, you know, it's more if you want
to like write some rust or something like that, go check that out.
And the other one is called FontForge, which is this sort of open source thing.
But if you ever use like Java widgets or Qt, like multi-platform programs, it feels a little
bit like that.
No disrespect to the creators of FontForge.
It's a remarkable program,
but I would not say that it's something
that is easy to take on on a Sunday.
But if you do happen to be on a Mac,
you can check out Glyphs or RoboFonts.
Both of them have free versions
that you can get started with for a month or so.
And if you do purchase a license, it's pretty okay.
It's just, you can get started today
in probably even an hour from scratch.
Another way of going, if you're not the,
I want a blank canvas and draw something,
you can just go and clone the inter-repo, right?
And you can run the build script.
And now you can just change it.
Now you can rename it to something else.
It's another way of doing it.
But you never answer the question.
How do you pick the A?
Well, I'm not sure if I picked the A yet,
if that makes sense.
No, I think at this point it feels pretty good.
The A picks you.
I mean, we can go a little nerdy on it.
There's a way I think about iconography,
which I'm also really into, that is very's a way i think about iconography which i'm also really into
that is very similar to i think about typography like a typeface is a family of things like a
particular character must be part of the whole right if you think about icons you can make one
beautiful icon right and you can make another beautiful icon and a third beautiful icon and
when you put them together they might look like crap and you're like what beautiful icon and a third beautiful icon. And when you put them together,
they might look like crap.
And you're like, what?
What's going on?
It's similar to if you make a movie.
You got to have audio, you got to have lighting,
you got to have video, you got to have acting,
you got to have a script.
You have all of these components that goes into the experience, the story of a movie.
If the audio is amazing and the video is crap
and the acting is crap, it doesn't matter that the audio was amazing. the video is crap and the acting is crap it doesn't matter
that the audio was amazing right there's almost a sort of like a pessimistic way of looking at it
is the weakest link in the chain an optimistic way of looking at it is sort of like a there's
an equilibrium somewhere or a balance somewhere so it's almost like if you make the audio worse
in this metaphor with a movie it might be a better experience because it feels less kind of uncannabally so i think like similarly with a typeface you want to think about almost what the
style and the rules are for the system and the look of the characters is almost an effect or
fallout of that set of principles and rules you can of course introduce some like you know little
personality traits almost I would call them like in the A in the lowercase a which I have
a version on on my wall here next to me but on the lowercase a of of inter there's this sort of like
band when it comes down has this sort of like so almost organic band you see that in a couple of
famous grotesques like Helvetica mentioned earlier.
And personally, I just find those really delightful. And that just like really feels nice to me. And at the small scale that Inter was initially created for, those details disappear.
And so that for me felt like an opportunity to introduce a little bit of character
that was not really part of a greater system. Similarly, like the lowercase t and f,
there's a whole bunch of characters
that have these tiny traits of either bends
or something like that.
You can see going through, if you're weird like me,
you'll go and then really look at details like this.
You can see them kind of carrying through the family
and different characters.
So that's how the lowercase a came around.
This episode is brought to you by Sentry.
Build better software faster.
Diagnose, fix, and optimize the performance of your code.
Sentry just shipped their SDK for Next.js.
Now in your Next.js apps, you can capture errors, measure performance, manage releases,
configure suspect commits, and automatically upload source maps to view unminified JavaScript and TypeScript with zero-ish configuration.
You get your events enriched with device data,
breadcrumbs created for outgoing HTTP requests,
release health for tracking crash for users and sessions,
and automatic performance monitoring for both the client and the server.
Check for a link in the show notes for details of this release.
Best of all, our listeners get the team plan for free for three months.
Head to Sentry.io and use the code TheChangelog when you sign up.
Again, Sentry.io and use the code the changelog when you sign up again
sentry.io and use the code the changelog
so we're obviously years later now.
Inter is popular.
You're here on the show.
But at what point did the project gain steam?
Or in your eyes, gain steam?
It's always been interesting to you, but at what point did particular brands begin to use it or it have some sort of popularity to sort of like drive the momentum of not just your time involved, but like you'd mentioned before, a lot of the work in this hasn't been simply just the details of the the topography but more of the technical bits where it works metrics kerning stuff like that like when did you get what you
would call momentum on the project itself not so much the font making it but like momentum people
using it you're seeing it not just on your screen, but elsewhere too.
That is always a special emotional moment.
At least it is for me.
The first time I saw someone who I didn't know used Spotify, that was just, I still remember it.
Like as a movie, I was on the subway in Stockholm and these two women were just sitting on the
tube with a laptop and they had Spotify.
And I was like, what?
I think for me with Inter, there's no defining moment.
I think it happened very slowly.
A lot of people started picking it up early on.
And then there were a couple of big players like GitHub, Unity.
I was at Pixar for reasons of fake money.
And they were like, oh yeah, with our tooling internally,
we use Inter now.
And like, can you help us out?
I was like, what?
That is amazing.
And Coinbase and stuff like that. So there's a lot of you know i see it pretty often that just makes me so happy because
that is the reward right to me that is the reward i think that you know if i could choose between a
million dollars and a million people like that i could emotionally feel being happier because of me. I would choose the people any day of the week.
Yeah, so it just feels incredible to see the...
I don't know if I've had an impact, or at least I don't understand if I had an impact,
but at least the emotional connection that I can make, it's incredibly rewarding.
Yeah.
It is interesting to see your work out there and be like,
I'm always excited when I hear somebody listening to our show.
I'm like, what?
You really listen to our show? It's legitimate? These numbers
aren't fake? That's a good feeling, right? It is a good feeling. When you feel like the thing you
put, your art, right? I call it, I mean, it's just simply your art that you put out there in the
world. You put your art out in the world and you put your effort out there in the world and somebody
enjoys that thing you made, you poured your time into and
your your effort into it's a emotionally rewarding on that front what are some interesting things
about say the project people don't know about like is there posters that you could buy is there
like t-shirts out there you mentioned before that you can make something commercial with it and sell
it like what are some fun usage stories, not just your usage,
but others that have the typeface on it,
have been used in interesting ways?
What have you enjoyed over the years in particular?
If you're listening to this and you have done anything fun like that
with Inter, let me know.
I'm having a hard time answering that question
because I don't know.
In 99% of the cases
I find out about uses
of inter by stumbling upon them.
Maybe it's so that people just assume
that I've seen it or I'm not interested,
but I really would love to see if you
do something fun like a little DIY
like weather monitor thing on your wall
and use inter or whatever. I'd love to see it.
I wanted to ask you a question too
before we continue. I can elaborate more on that,
but yeah, and yes,
there is a post that you can buy,
but I'm curious,
like, do you think that
this reward,
this emotional reward thing
where you're just talking about
and Adam, you were saying
when you hear someone
saying that their listening changed,
like you kind of,
you have this good feeling, right?
Like, do you think
there's a correlation there
to what drives people
to work on open source software?
Well, I think, yeah, I think the simple answer is yes. I don't know
exactly why. I think for everybody it's different. But I know personally for me,
like, we've been doing this for 12 years. We do
it because we love the community. You know, it's fun to produce a podcast.
I never thought that my profession would be a podcast producer or
a host. So much more than just simply that,
but,
and Jared is as well,
but like just putting something out there,
putting your art out there and people appreciating that and not complaining or
that much,
at least,
you know,
is pretty cool.
And so that definitely motivates me.
Like when we had Matt's on the show a couple of years back,
Jared,
when Matt said the creator of Ruby, when he said oh yeah i listened to your show i was like what
matt's matt's listens to our show for real and it doesn't just take the mats of the world for me to
be excited it could be anybody it doesn't have to be matt's the creator of ruby could be you could
be somebody i don't even know that hasn't done, in quotes, anything.
I'm sure they've done something, but in their eyes, maybe it's nothing at all.
It doesn't have to be anybody particularly important for me to be motivated.
I'm just excited that we get to do something that's so fulfilling.
And we show up for people like you to share your story, to hear why Intro was created,
to hear why Playbit got you so excited.
To me, that's why we show up, is for the people the people yeah we've spoken with a lot of open source maintainers over the years and i think one theme
that i hear often which is not this one so i think you know giving a gift to the world and receiving
that knowledge that you're making you know someone's life a little bit better that's like
one of the themes is one that we're talking about now another one i hear often and resonates with me is a sense
of responsibility based on gifts received like just actually a good example tanner lindsley was
just on js party with nick nisi talking about all of his react query open source things and he was
just like hey i was an open source leech for a long time.
I just loved the free stuff.
And I just was like, hey, I can get started without paying money.
And I built a career around that.
And then when it came time to build some libraries,
he was like, I have to have these open source
because I just feel this intrinsic sense of responsibility.
I've received so much from this community
now I'm going to give back
and so that's another I think motivator
that I hear often is just this
I've been given a lot for free
and now I'm going to give some stuff back to people
so that's kind of a pay it forward kind of concept
they give it free so I give it free too
even like a lot of open source companies,
companies with open source products,
that whole thing, when you ask them,
why is it open source?
A lot of them say, well, it has to be.
Not because it's a good business decision,
but because that's how I built my career.
And so I just feel like that's the right thing to do.
That's interesting.
There's just so many facets to open source.
There's just so much to unbox and look at and think about when it comes to human behavior.
Totally.
And motivations can change too, right?
So you can come for one reason and stay for another reason altogether.
That's right.
And that's what we say.
We came for the code but we stayed for the people.
And it's why we say we came for the code, but we stayed for the people. And it's really true.
And the code, honestly, after 12 years of doing this,
the changelog, I've been in the open source dev scene
for longer than that.
Adam started the changelog 12 years ago.
The code to me nowadays is really way less relevant
than it ever was.
Not that it's irrelevant.
It's like the glue that binds us all
together and of course we talk about it because it's important and we want to be well crafted
we want to be scalable or personalized right there's like aspects to it that are important but
it's just way less important than the bigger picture nowadays which is the people and so i
similar to the beginning conversation we talked about the relationships being what's important to you.
In retrospect, looking back at your past,
the relationships that we formed through open source and the changelog are way more important than the individual conversations we had
or the projects they were working on.
Because a lot of the projects, we should do a retrospective
of all the shows we've done and how many of those projects don't exist anymore.
Because a lot of them have come and gone. that's okay that's just part of the the system
of things but you know we can still shoot an email or a tweet over to that person and you know fire
up a conversation again and be back where we were and that's pretty cool it's just a natural cycle
right things yeah like you said it was with ideas ideas, you know. You got to have lots of ideas. And actually, some open source projects weren't meant to exist into perpetuity, you know.
It's like, nope, this is done.
In fact, you're saying enter, where you have a lot of work to do, but like it's gotten
to a point where it's kind of almost done.
And maybe someday it will be just done.
Maybe not, because screens change.
And I don't know, what are the maintenance aspects of a font like this?
What kind of stuff changes when the world changes?
Not much.
I think this is one of the unique things about fonts
as a digital product or artifact.
Software is ephemeral, at least the way I think about software is.
My lizard brain wants to think about software
the way it thinks about things in the spatial, physical world.
Like I have a coffee cup here, maybe thinks about things in the spatial physical world right like
i have a coffee cup here you can hear in the background it's physical and you know we've
evolved over millions of years to deal with this kind of physical spatial world and i think that's
why at least my lizard brain wants to think about a program or a piece of software as something that
exists but really i think software is just very ephemeral what software is now and what it is now
those are two different things, things keep changing
and so I think the majority of things we create in a computer
is actually not the code we write or the programs that we run
but sort of like the, it sounds super cheesy
but kind of the story that it either tells or creates
or helps people tell or create, not the code itself
at least in retrospect, And I think with fonts, it's almost unique in that, and icons to some extent, but not
as much, but a font you made in the 60s or something like Helvetica, and you look at
that today, although it's gone through a couple of minor tweaks, it still works just as fine,
right?
The external conditions or the environmental conditions
affects, I think, topography very little compared to other things that are digital.
That's so true. I mean, that's why Helvetica is so popular
because it stood so long the test of time
to remain a high quality, you know.
I'm not an aficionado of Helvetica by any means
and know the true history in terms of what
made it popular but i'm
assuming that it's because
it's created so long ago
and it's been well enough
to stand that test of
time and has been used so
much and all those reasons
yeah but we have times
too pretty famous right
and times new rome is
kind of yeah or
clarandon really beautiful
and some of those are my
children helvetica comic
fans which is classic as well.
Yes.
Comically classic.
It's gone full circle.
You know, they call it a revolution because it goes in circles.
And I think that Comic Sans has sort of like made
another turnaround that circle, I think.
And now Comic Sans is sort of like,
I saw it in like a presentation by someone.
Who was that?
Brian Kernighan or something?
I don't know.
Some sort of seasoned computer science person.
And it was all Comic Sans.
I was like, I kind of dig this.
10 years ago, I would be like, ooh, that's disgusting.
But no.
It's interesting how these things, I mean, there's fashion.
Even with software architectures and with programming languages and toolkits, there's fashion you know i mean even with software architectures and with programming languages and
toolkits there's fashion but especially i think with topography and design there's fashion and i
think one of the reasons that helvetica is so popular and well known is it kind of transcends
it has historically been so general purpose it's transcended different fashion trends but other things aren't they're
kind of like victim to it and they do go through those cycles and things tend to repeat themselves
and some things that were cool in the 70s and the 80s are cool again but like you said a decade
from now they're not going to be cool but then a decade after that they will be again it just
kind of goes like that it's weird it's a bit like a logotype right or like a mark whatever you want
to call it like a logotype for a company or entity or person or whatever.
There are really two distinct schools of logotypes, right?
Or icons.
It's all the same stuff, I think.
But one school is like, pack a big punch that then just goes away.
And the other one is like, last for a long time to become a symbol.
That's more than just the expression of itself.
And I think like, you know, a good logotype that wants to last for a long time is not hot, is not, you know, popular, does not fall on the path of fashion, right?
Right.
I think this is also very true for a lot of what is often called, think a little like incorrectly like marketing websites like the part of a website that kind of tries to sell the product rather than being the
product that i think that there's similar schools there too where it's like let's just keep it
classic something that can last for a long time versus something that like has you know five years
ago it would be colored confetti on the background and you can't do that today because that's like super unfashionable right and so you have this very sort of quick fashion cycles but if you do
happen to drop in right on that path you can pack a much bigger punch as an example according to
i'm not sure how you say this website but it's 30 sample of helvetica font used in giant brands. Just a few is BMW, American Airlines, LG,
Microsoft, American Apparel, the North Face, Crate and Barrel, Toyota, Motorola, and a lot more.
But it's just interesting how you can see Helvetica used, but then be used uniquely.
That's the same thing for like Futura. Futura is used in a lot of different
logo types and whatnot. It's like, I think Nike is a future, if I recall correctly.
You can correct me if I'm wrong, but you can see, you know, a pretty simple
I could do it in a weekend kind of scenario font
be used in major brands, but then be uniquely used in major
brands and different styles. And that's, I think, is like the
world of typography is just so vast to explore.
One simple, in quotes, simple typeface like Helvetica can be used so uniquely
across these different brands and whatnot.
You mentioned before you'd love to have some feedback from anybody out there
that may see or have used Inter in fun, unique ways.
You have a website on rsms.me slash inter, the website for Inter, erasmus at notion.se.
Is that a public email?
If not, it's made it public.
I just doxed you.
Yes.
Or just erasmus at rsms.me.
I mean, you can just go on GitHub and find it.
So whether I like it or not, it's probably.
Well, the point is, is to invite anyone out there listening to this.
If you've seen it or if you've used it in interesting ways or you've used it on your own site or your own T-shirts or your own apparel or whatever it might be.
It could be posters, could be whatever.
Email Rasmus and tell him
because that feedback loop is crucial to motivation.
If it's not just for interest,
it's for future projects.
Just to say that my art is appreciated.
I would love to see that.
I think that's important.
Or tweet me.
You know what, Rasmus?
It might be a good idea.
I wouldn't go as far as putting it into your license
or anything like that.
I just keep a stock license.
We know that if you tweak a license,
things get hairy. But what if you just keep a stock license. We know that if you tweak a license, things get hairy.
But what if you just put a CTA on the download
or however you get, maybe in the readme,
it's free, all the reasoning.
I'm not sure what your copy there looks like right now anyways,
but how to install is like,
and then the next step is email me
and let me know what you're using it for.
I'd love to know.
It's not a requirement, but it's a prompt.
I think I'll get a lot of responses.
I've been thinking that what I
should have done from the start
was to collect
everything I saw where it's being
used. I've done a little bit of collecting,
but I think that, yeah, that would be really fun.
It would be fun to put up a part of the
website for the interface that
showcases what people have done with it. I think put up a part of the website for the typeface that showcases what people
have done with it.
I think there's a lot of...
Being sort of a workhorse typeface, at least in my experience so far of how it's being
used, it's being used in a lot of UI typography on computers.
Very unsurprisingly, that's sort of its niche, or at least it used to be its niche.
But other ways of using it,
if you made house numbers with it,
or you made a poster, as you were saying,
or a t-shirt, or use it for a human rights campaign,
anything that is outside of that fringe
would be super cool to just compile a little thing
and put it on the website.
I love that idea.
Where can people see the poster?
You said, yes, there is a poster. You
didn't allude to anymore, but what's the details? Yeah. So I grew up a Swede, which I don't know if
this is true for all Swedes, but certainly the Swedes that I know, I think I'm sort of like a
little bit afraid to be commercial. So there's no hyperlink to this thing on the website itself.
You have to go to my own homepage, which is just remove the slash enter part.
I'm doing it now, so I'm not screwing anything up.
Yeah, and then you get a little button there,
or it says shop.
There are two ways to get to it.
We can include that maybe in the show notes or something.
We'll link it out.
Check it out.
But yeah, you can go and get a little post-it there.
That's cool.
It's priced so that it covers my Shopify costs.
Maybe I'll make like $3 per it or something like that.
But yeah, it's priced as low as I could to just cover for the Shopify cost,
which is what the little shop runs on.
Yeah.
Okay, so you can go to shop.rsms.me and you will see it there
because it's the only thing in the shop.
Yeah.
Very cool.
I'm going to buy one of these because I want one.
And two, it reminds me of the design.
When you see it, you have all the weights from 100 to 900 of this on the web page for Inter where you can view what part of this is it.
It's the variable section where you can sort of see the different weights and the slants and whatnot.
And there's a checkbox there that says animate weight and slant.
And if you do that, it animates between the lowest to highest weight
and the slant or no slant angle.
I guess the angle, you call that an angle from zero degrees to 10 degrees.
You see those two animate.
And that kind of reminds me, this post reminds me of that little animation
essentially available there on the variable section
of the interwebsite.
Variable fonts are cool.
It feels magical.
It's Yoast interpolation, which is elegant.
I think the simpler a system is, the more elegant.
What's the support these days on web browsers
with variable fonts?
I think it's a standard, but is it all pretty well supported
across browsers or no?
I think today with all the stable channels,
all the different web browsers, it's supported.
The rendering is still a little so-so.
Now I'm not fully caught up in the last months,
so I could be wrong on this now.
But Chrome, I'll say this, Chrome used to have
two different rendering paths
for variable fonts and sort of like constant fonts.
And this would affect like if you use Linux
with a clear type like sort of they use
as these true type hinting programs
or Windows with that stuff enabled,
there's so many settings.
You might actually like see different pixels being rendered
with the exact same settings
whether you load a
variable font or a constant font. That is disappearing. I think there are also some
things that keep improving when it comes to OpenType features. For example, if you look in
Safari and you compare that to Chrome and you do things like spaces. Maybe I should explain very,
very briefly what OpenType features are before I just keep mentioning it.
So in a font, you can have these little programs.
They're very simple programs.
They're not too incomplete, but they allow you to do things
like contextually-based rules.
So let's say that when you type the word hello,
you want that to say lolcat.
Then what you can do,
you can write this program that says
when the previous characters are H-E-L-L-O,
then substitute all of those with this glyph.
And so Inter uses a lot of these things
to do things like,
if you want to make an arrow that looks pretty,
you can do hyphen and then sort of a greater than
or less than sign
and it will look at that and it's like oh you know i'm gonna go and replace those glyphs
with a custom-made kind of arrow glyph so it looks really nice so you have things like that
there are more things you can do with these programs that's sort of like what these things
are so there are still difference and we're talking about web browsers and it's sort of like the quirks in safari you're gonna get mostly like spaces playing a part in this you can say you know
when had an x and then a space and then a digit like don't do this thing for instance or like
don't transform a turn error and stuff like that and introduce this sometimes too like if you do x is less than three or what is it now forget
x is less than three minus x is less than negative three right that is a valid expression you might
want to write that and not have it be x left arrow three right right and so there are exception
rules too that said like you know do the arrow thing unless these are the conditions so in chrome you won't get spaces won't be included i think what
it does is like it font trending is kind of expensive it's like caching going on the surface
is quite complex from like a layout and rendering perspective while since safari spaces do have an
effect so you know when you do web and you use these features in variable fonts,
make sure to test it in a couple different web browsers.
I think people already do this,
but that's just good to know that there are differences.
We'll get near the end of our time,
but it wouldn't be the changelog
if we didn't talk about the name a little bit.
Because we like naming things and we like to focus on names.
The name is kind of the front door to your project, right? It's the the first thing people see and here i am on merriam-webster
and it says enter a verb to deposit a dead body into the earth oh my god i've not seen that that's
that's what it says here so i assume there's some sort of morbid, hidden meaning behind this.
Maybe you're going for the second one.
It means between, among, in the midst.
What's the genesis of the name?
Well, so it's an interesting story.
Well, first off, I think naming truly is hard.
There's the cliche of cache and validation.
Naming things are the two hardest things in computer science.
And I think naming things
generally is really hard, right?
I was listening to an interview
with someone on a podcast the other day
and it was sort of like
a 45 minute long conversation. It was about
naming in computer science or naming functions
and stuff like that. And I think it's really hard
to give something a good name
because a good name I think
is very contextual it's
something that is contextual not in in like a rational sense of like the object is in this
context but also contextual in like the person viewing its own experience so it means different
things if you're like if you live in bretton and you're into football not hand egg as we are in
here in the u.s but like football you know the ball on the foot then interest probably you're into football, not hand egg as we are here in the US, but like football, you know, the ball on the foot,
then you're probably going to think about the soccer team,
the English soccer team called Inter.
I think it's, is it Italian?
I'm not into soccer, so I'm so sorry if I screwed this up.
But anyhow, my point is that I think naming is really hard.
I kind of accepted this.
I tried to name my things, especially my open source things,
but like the dumbest, simplest names possible.
Also to avoid any sort of legal issues.
And that is a good segue to what happened with Inter.
So Inter actually initially was called Interface.
And I intentionally chose this.
So in the typeface industry, names, it's a big deal.
There's a flat namespace.
And there are registries of names of typefaces and stuff like this.
And for, I think, very obvious practical reasons,
names do matter a lot for typefaces.
You open up something, let's say you sell a typeface.
It's called cat, right?
And now someone installs that
and there's another typeface called cat. The software we have, it has no way of distinguishing
between this cat and that cat, right? Maybe one looks like Helvetica and the other one looks like
Comic Sans. And, you know, the customer calls me up and says, this doesn't look right. And we
printed all these booklets and offset printing, we just spent $12,000 on it. It looks wrong.
And you're like, oh my God, right?
So I think that there are practical aspects of that with naming as well.
Anyhow, there are some pretty good limitations
around what you can legally enforce and not.
And so I think for open source,
it is actually a pretty good idea
to do a little bit of thinking about naming.
So you avoid naming something
that might have the same name within,
at least within the same type of work,
where you can actually get into quite a bit of problems
or at least a lot of hassle.
Anyhow, so I shipped Interface because it's for user interfaces.
And I shipped it and it was great.
And then I got this letter from this uh ty foundry in i think
they're in the uk and i do not like this top boundary but they basically were like oh we have
a typeface called inter face and they're like we own the copyright to the word interface within
all our typography and i'm like that's, right? And I looked it up and sure,
they had filed in the European Union,
they filed a registered trademark for interface
in I think Holland or something like that.
Anyhow, although not legally enforceable
in the United States,
what they did, eventually they contacted GitHub
and did a cease and desist with GitHub
and GitHub operates everywhere. Anyhow, this is a long story. I'm not going to worry with the details, what they did, eventually they contacted GitHub and did a cease and desist with GitHub.
And GitHub operates everywhere.
Anyhow, this is a long story, I'm not going to worry with the details, but essentially I end up
having this pretty long conversation with some people
at GitHub, and eventually I decided to just rename it.
I could fight this in court or something like that,
but what's the point?
I'm not making any money, I'm just spending money
on this stuff. So it was a pretty bad experience too because there was a couple of
people in typhus industry who really is like you know was not nice people right they were like you
you freaking bad words you know like you're so dumb or whatever also a lot of people are very
supportive and also a lot of people contacted me
and said,
oh yeah,
the founder is like the worst.
But whatever.
I respect that.
I just changed the name to Inter.
And I made sure
to register that.
and then,
you know,
now Latino type released
a typeface called Inter.
And,
you know,
a couple of people
even met together
with some people there too.
And they're like,
oh,
but I'm not going to go
and sue them for that
I think that's fine, diversity is great
if they're too type physical
that's awesome
anyhow, if there's any
takeaway from this little
tiny story about inter being called
interface and then being renamed as that
I think now I'll do a little bit more
research, which of course I did
with inter, it was like a big project.
But instead of doing
a day of research,
a few weeks of research before publishing
something with a name.
Lessons learned the hard way.
Well, we all have lessons learned
the hard way, that's for sure.
That's why they're lessons learned and not lessons
unlearned, because that's growth
for you.
Rasmus, it's been fun hearing a lot about uh what you're interested in inter obviously the fun things you have planned
in the future and what play bits got going on and all that good stuff we didn't dig deep into the
zen of play bit we dug deep into other details i was really that and the guiding principles i think
is super cool.
So if you're listening to this, we will link up in the show notes, these websites, which you can dig into deeper.
And hey, we announced his email address here online or on the podcast.
So feel free to reach out about those guiding principles or the Zen of play a bit, which
I think is super cool.
But any parting advice, any parting wisdom for anyone who's sort of looking two feet in front of them with an intense stare?
Someone like you.
Someone who's not like you, who should adopt some of your principles to explore.
I mean, I freaking love the way I live.
I think it's very hard to give advice that's carte blanche or that is sort of undirected.
But I'll give it a try. The more
you look at what other people do, the more you're going to question what you do and the smaller
you're going to feel and the more in the corner you're going to feel. And it's a double-edged
sword because if you don't look at what other people are doing, you're going to miss out on
ideas. I mean, you're going to probably not feel as good for the human aspects of it.
And I think diversity is very important in all kinds of work, diversity in ideas and
in, you know, ways of thinking about stuff.
But still, just be aware that when the more you look at things, if you like look at Hack
and Use all the time, look at all these products, you're probably going to think that like you're,
for example, I'm really into compilers and programming languages something I've you know
been doing as a side hobby for like a real long time and you know if I tinkering away on a compiler
which is a big product and if I were to go to look at things like you know the rust project or
LLVM or something and think that that is what I should aspire to I'm going to be very disappointed
and unhappy
because it's like a massive undertaking
and it's completely unrealistic to do as a hobby project.
So yeah, just avoid comparing yourself too much
to what other people do.
It's very hard to do,
but that's probably one of the generic,
sort of universal things that I've learned
that I wish I could sort of really tell myself
when I was younger.
Another part is, is do what, like if you're looking for a compass of where to go, right?
Professionally or just for fun or whatever, maybe you're trying to figure out who am I, you know,
who do I want to be, is to go where you enjoy things.
Like, you know,end time with 10 different people
and the people you enjoy being with the most
are the people you should be with more.
The things that if you work on 10 different projects
or try 10 different technologies
and the things that makes you feel the best,
those are the things you should do more of.
If you try Rust, you try C++, you try Go,
you try this, you try that.
And if Go makes you feel better, you should
do that, even though it might not be
as shiny and fancy as Rust, or maybe it's
the opposite. It doesn't matter. I think going
where you enjoy things the
most is a really good, one
really good compass needle.
Very cool. Thank you for sharing that wisdom.
If you are interested in compilers
and programming languages, let me know on Twitter, and let's
nerd out on that stuff.
Very cool. We almost started
a war there, Jared, for a second there, talking about
Go and Rust. Oh gosh, I love them all.
It was so close. He backed it off.
He said vice versa.
We saved us all. That's right. We almost had to
go there, but we didn't. We'll save it
for another show. Rasmus, thank you so much
for sharing your hard
work. I think I saw on your site
or on your project site like
100,000 lines of edits or something
like that or just some
a million lines of edits. I can't recall which
but hundreds of hours of meetings
and all the detail that went
into Inter. Really appreciate
you choosing to share that with the world
and showing up. We appreciate you. Thank you.
Thanks so much for having me on the show.
And don't forget to care for a shutter.
That's right.
All right.
That's it for this episode of The Change Log.
Thank you for tuning in.
We have a bunch of podcasts for you at changelog.com.
You should check out.
Subscribe to the master feed.
Get them all at changelog.com slash master.
Get everything we ship in a single feed
and i want to personally invite you to join the community at changelog.com community it's free to
join come hang with us in slack there are no imposters and everyone is welcome huge thanks
again to our partners linode fastly and launch darkly also thanks to breakmaster cylinder for
making all of our awesome beats that's it it for this week. We'll see you next week. Game on.