This 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.
Featuring
Sponsors
Sourcegraph – Sourcegraph is universal code search for every developer and team. Easily search across all the code that matters to you and your organization: find example code, explore and read code, debug issues, and more. Head to info.sourcegraph.com/changelog and click the button “Try Sourcegraph now” to get started.
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 power their internal apps. Learn more and try it for free at retool.com/changelog
Sentry – Sentry 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 sourcemaps to view unminified JavaScript and TypeScript with zero(-ish) configuration. Use the code PARTYTIME
and get the team plan free for three months.
Grafana Cloud – Our dashboard of choice Grafana is the open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Notes & Links
- Playbit - a computing environment which encourages playful learning, building & sharing of software.
- The Inter typeface family + the project page on Rasmus’s site
- Rasmus’s projects
- shop.rsms.me
- The Roboto family of fonts
- InterFace from Dalton Maag
- What notable logos are set in Helvetica or Helvetica Neue?
Transcript
Play the audio to listen along while you enjoy the transcript. 🎧
Rasmus, you have worked at a lot of very cool software companies - Figma, Dropbox, Facebook, early on in Spotify, and now you’re kind of doing your own thing. Do you wanna tell us that journey?
Yeah. First off, thank you for having me on your show. I’ve listened to Changelog a couple times in the past, I 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’ll look up. In other words, I never really pursued a particular career and goal. I sort of really enjoy the things that I’m doing in the moment… You know, to some fault, but mostly (at least for me) it’s been a delightful way of living. But in 2006 or so - very specifically in July or August 2006 - I joined Spotify; I was part of the group, we started Spotify, and that obviously became very successful. It 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, as well as a product designer.
And living in the San Francisco Bay Area, I’m sure a lot of people listening already know there’s just – at least around 2010-2011 there was just this wonderful boiling of people with similar interests in computer science and stuff like that. So you know, I just met all of these interesting people, and I decided to try a couple of other things. I joined Dropbox for a while, I worked on a bunch of different side projects… And then I joined Figma pretty early on, and I worked there for almost five years. Then I left Figma to do my own thing, we can talk a little bit more about that later if you’re curious… But that is the “five-minute what have I done professionally.”
[04:23] Yeah.
There we go.
How would you say you got to the perspective of looking two feet in front of you with an intentional stare, versus a – some people are a bit more… I don’t wanna say wider-scoped, but you seem to have a narrow scope on where you place your attention. How do you think you got there? What made you adopt that practice?
That’s a really interesting question… I’m pretty sure it’s about how I was brought up, my environment and stuff like that. My parents are both very liberal, they exposed me - and I have a brother as well - to all sorts of things when we were kids; different religions, and different ways of thinking… And it was very sort of hands-off. And I think having an upbringing that was - in a contextual way - very focused on creativity… You know, I wasn’t allowed to watch TV unless it was raining; I had to play outside, unless it was raining… That sort of thing, it probably 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, and I get almost sort of consumed by its interestingness.
So what was interesting to you at Spotify, or about Spotify? Either the idea or the technical aspects? What would you zone in on there?
How I came to join 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… And one day I got this phone call from someone, just some number I didn’t have in my address book. I mean, this is pre-iPhone; it was a little flip phone.
Right.
And he was like “Hey, I heard your name from this person (that I knew), Christian, and this other person I knew. I have this idea… Do you wanna grab a coffee?” I was like “Sure.” We grabbed a coffee, and it was Daniel Ek, 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 another cafe with more coffee… Then we went back to my place and we started comparing hacks; he had his laptop with him. And we spent basically the whole day just talking about stuff. Then he’s like “So… Are you in?” and I was like “Okay, let’s do it.”
[laughs] Just like that.
So I was working – I don’t know how much; like 13-14 hours a day. You run your own business, you have to work pretty hard; or at least I was doing that. I loved it though… So I just decided to drop it all, say bye to all the clients and just jump on this thing.
Spotify was pretty brutal, actually. In hindsight – I mean, I was pretty young; or I’m still young, come on… [laughs] I was younger than I am now, a lot younger… And kind of working for 20 hours a day all days was fine, and it was just a lot, a lot of hard work. But it was super-hard work together with amazing people, who I learned so much from, and that to me, thinking back – you know how they say when you go through big experiences in life, you tend to forget about the bad parts and you tend to kind of reinforce the memories of the good parts of that experience? So to me, as I look back at it, maybe it’s a bit idyllic now in my mind, but… Yeah, I wouldn’t change a thing if I could go back.
That’s where nostalgia comes from; you look back at things nostalgically, and you’re like “Those were good times.”
For sure.
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 –
[08:02] It’s called rose-colored glasses.
There you go.
That’s the scientific term for it. [laughter] 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.
Yeah, I totally do. 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, you must be having the time of your life. This is amazing.” And we’re always like “No, we’re exhausted. We’re sweating. We’re angry.” And it’s because we need to slow down and realize that actually when we are older, we’ll look back and these will be the days that we miss and that we remember.
Preach…
So I like that shirt, because when I see it, I’m like “You know what - these are the days, so enjoy them.”
I like that. I love that. I’m gonna adopt that. These are the days.
Yeah.
That is really nice.
Yeah.
It comes down to people, at the end. I think that’s usually where we attach those fond memories to. Or even if it’s not directly a person in your mind, the feeling of the people you had around you… At least it is for me. You talked about your kids… Those are people, right? People you work together with, the experience you’ve had… I think very rarely at least I think back in a nostalgic sense on experiences that I had alone, or with any sort of inanimate objects.
Right. 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 - you were both there. So that relationship, you together in that time is what was great. It’s interesting…
And maybe I should jump into Playbit, because I think this relates a little bit to what I wanna do with Playbit…
Yeah.
So 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. It’s something I’ve been thinking about for a long time, which is this idea of personal software, or personal scale software. Today if you look at things like Hacker News and Twitter and listen to a lot of technology podcasts, there is almost a relentless focus on scale when it comes to software. You look at the Web platform 2, 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 there’s nothing wrong with that, I think… And it surely applies to a lot of challenges that people are working on in technology. But at least when I grew up in 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. You would have 50 different audio players, and one of them were super-weird, and you just happened to like that. You’d send $5 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 2000’s…
So to me, this was something that I cared about, and I was thinking “How could I go about trying to make this happen?” or trying to make this more of a thing, an option for people. So it was really a cultural thing, and that’s what’s at the core of Playbit. So what I wanna 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 4,5 hours of those working on your idea. Not spending 4,5 hours choosing between a million npm packages and databases and deployment systems and stuff… Because that’s the reality today, right?
Yeah.
Yeah, very much so.
Or have a dev environment set up, or pipelines, or ops, or…
Paradox of choice.
[12:14] “How do I ship it?” etc. There is a plethora of choices. So this tweet you have then back (it 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 is sort of a strategic part of Playbit that is software… And that’s what I’m working on. That might be another six months or another year out or so before I ship anything, but I’m pretty sure that I will be mostly wrong, probably like 80% wrong… 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…” And it’s just a ton of work, the way I’m building it… But yeah.
So knowing fully that this is not what it will become - I’m sure you’ve got some clay and it’s molded into what you think it should be six months or a year from now… Just generally speaking, what is it? Is it an SDK? Is it like a framework, a Ruby on Rails kind of a thing? What does it allow us to build? Just kind of give us a little bit more concrete…
Of course. So it’s a portable runtime. This is one of the first things that I realized - what do you need to create the environment to be able to make this smaller scale software. There’s a bunch of things you can take off the table right away. 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 is reproducibility; kind of like a technical term for what you might experience as like “It just works.”
So if you go and you download something and run it in Docker - which I think has become popular for this reason mainly - you can get the same result as whoever rando on Stack Overflow who are saying something… Whereas if you just run some Bash script in whatever shell you’re using - 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. Today, if you contrast it with 20 years ago, we spend a lot more time 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…” Ten years from now I know which runtime I used, so I can kind of run that.
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? I think that’s right, and that’s kind of how I think about the web platform - this sort of portable thing; mostly portable… I mean, if you use fancy things it’ll maybe only work in Chrome, or only work in Safari, but whatever.
I think the issue though with web in this context is that over the last two decades we just focused so much on building big and impressive software on the web. 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. You can play with something like Replit for instance, which I think is super-cool, or Godbolt…
Yeah, it is.
[15:53] 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 LLVM in Clang, and Emsdk, and this version of Python, and that version of this… Another reason I think is that there’s just a lot of information and documentation out there. Just oceans and oceans and fathoms of – there’s just so much. 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 just – we do a web search and we’re like “How to make a rectangle bounce”, and we toss some unique keywords and maybe we’ll find something. And I think you do that with, say iOS development. How do I make a table that does this thing? You’re gonna get a few high-quality results, because there are very few ways of doing something like that. Whereas if you do it with web, you’re gonna get “Here’s how to do it with Next, and Nuxt, and Vue, and React, and Preact… And with WebPack, or with Gulp”, and I can keep enumerating these things…
Keep going, keep going. [laughter] The list is long.
With Esbuild… Yeah, Esbuild is [unintelligible 00:17:03.06]
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… “ It goes on and on, right?
And again, reflecting a little bit over it, there’s really a contrasting thing going on - personal-scale software and large-scale software. For big-scale software where you are investing months in building something, for a ton of people - this is great, what we’re talking about now, right? This diversity and this multitude of options is really good.
Anyhow, so Playbit has a supportable 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 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 macOS with 10.10 with the 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 – well, I guess these terms may 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 lightweight virtualized. And emulating something might be like – there was this guy passing away the other, it was kind of sad, who wrote the Super Nintendo Emulator, BSNES. 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 wanna emulate this PowerPC processor” or whatnot. And it works, but it’s not gonna be very efficient, it’s not gonna have access to hardware, and other things.
So virtualization is essentially just running something as a program on your current OS, but you fake the environment so that when a program pokes at its environment, it looks like it’s process 1. It looks like it’s just running on a new machine.
So Playbit has this portable runtime, it uses the Linux kernel, it is a very small Linux OS. The whole thing boots up in about 2 seconds or so… It uses zfs on stuff inside… And Linux has these nice things that - and this is how Docker Works, which is sort of like a wrapper around these features in the Linux kernel. It has these things called namespaces. There’s a bunch more technology around this; we can probably do a whole episode of this stuff, but… The TL;DR is that namespaces allow you to compose almost like a hierarchy of virtualized environments.
[19:52] So you can start a program – 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 these 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. That means that at any point in time you can save your entire state of your thing, you can take snapshots of the 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 gonna finish this.” I think today it feels a little bit daunting; I might have a web browser with a couple of tabs, I have a terminal or two, I’ve got my text editor, may have a notepad or todo program or something like that… All of those 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? …you don’t wanna 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, because 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 or UI part of Playbit is decoupled sort of 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 WebGPU API thingy that is the display server, and that I compile for MacOS or for Linux or for Windows, and it’s part of like the program that you download and run that starts up this whole thing.
So the experience is a bit like a video game - you start Playbit, it goes full-screen, and now the thing that draws on your screen is not VNC or anything like that; it’s just a local thing that creates a OS-platform-specific window that is essentially a GPU service. Then Playbit sends these WebGPU commands… Technically speaking, I’m using this project called Dawn, which is part of the Chromium project; it’s Chromium’s implementation of WebGPU. Chromium already has a process separation model, which means that what Dawn does (this library) allows you to decouple the rendering from everything else.
Another way of talking about this is imagine you’re in a web browser and you’re using WebGPU, or WebGL - WebGPU is sort of a successor to WebGL. So in WebGL you say “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 on your OS. The same thing is true with Playbit. This allows you to run the Playbit runtime on your local computer, or you can even run it over the network in a remote computer, while you still have a perfect 60 fps high-precision display experience on your screen. I hope that’s not too much in the weeds… [laughs]
Well, one thing we can gather is your passion about this. 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 and 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. That’s half the reason why I don’t start doing certain woodworking projects, because it’s difficult to get momentum to start them, and then stop them; it’s not software, but that 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 explore, you don’t explore.
[24:19] That’s completely right, yeah. When we feel safe… You know, Maslow’s – there’s a pyramid, or staircase, and there’s different ways of visualizing this, but this idea of Maslow’s staircase or pyramid of needs…
Hierarchy of needs.
Yeah… And I think that applies to here. When your more fundamental needs are fulfilled, higher-level needs can be fulfilled. 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 advanced things, like reading books, or creating music, stuff like that.
Yeah.
And I think that is true even in the specifics with computers. 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 anyways, even JavaScript; so it is compiled… Now let’s say that your compiler has this – it takes five seconds. Or I’ve used WebPack; I’ll take a coffee break. But let’s say it takes five seconds - maybe that’s a reasonable amount of time - for the change that you’ve made in the 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. I mean, again, this is your specific example of the greater idea… But if you can reduce that 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 computing environment or something like that that doesn’t go down one-way paths that you can’t go back from… if you rm -rf / right, sudo whatever, that’s usually a one-way street and you’re gonna screw things up. If you do that in a Docker container, you can just kill it and restart it again, right? It’s not a one-way street.
Yeah. It’s ephemeral. You can just try it again. That’s something that Tom Preston-Werner said (one of the co-founders of GitHub) a long time ago in an interview way back before GitHub was the GitHub that it is today… And he said this about Git, because Git allowed you to explore more when it came to source code. He said “Git is permission to mess up, because you can branch and try it, and if you don’t like it, you just throw it away and just forget about it.” So this 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 ol’ 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 pre-Subversion. We used VCS, and often we’d just go and FTP or SSH even into a server and just change some PHP script or Perl script while there’s these 10,000 requests per second hammering it, and we just hope that when we hit Save, we’ve done the right thing.
That’s right.
Yeah, Git is a great example, and it’s something that I think most of us just take for granted today. It’s quite incredible that it allows us to do that kind of exploration. But imagine that in a more fine-grained level. I think that’s where we’re gonna go in the next decade with computers and with software development - the idea or the experience where you just try something and you get instant feedback, almost like drawing on a piece of paper, 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.
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 [unintelligible 00:27:50.15] and you just wait now. And you just wait, you just wait… And now that you see the paint, you’re like “Oh, cool.” And you keep going.
[27:58] A lot of ideas comes when we are doing something else. So we’re drawing this stroke - in this analogy to painting - with our brush on the canvas, and suddenly we see this rabbit and we decide to draw a rabbit. But if we don’t have that feedback loop, if we cannot get into a state where you just feel free to draw a thing and define 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 - out of 10,000 ideas, one of them is a keeper… And 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.
Break: [28:36]
So Rasmus, we’ve had you on our list of people we wanna 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…
We move on, create a new list…
…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, 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 Thank a 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… So you were eagerly waiting your Maintainer, Maintainer, Maintainer T-shirt, and–
Yeah, I actually checked up on that yesterday. Still waiting.
Yeah. 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 and your work… And I was like “Wow, okay.” Then I discovered it was open source, so I’m like “Wow, okay…” I kind of dug deeper, I’m like “This is super-thorough. This is 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 Inter world was, and the brands that were using it. It’s really well used, and I looked into you and you were working at Figma… I’m like “Wow, okay. This is super-cool. We’ve gotta talk to this guy.”
And then I forget what had happened, and then obviously Maintainer Week happened and you got thanked, and you’re getting a T-shirt that says “Maintainer, Maintainer, Maintainer.” The first person who understands what that means raise the flags, I wanna know… But Inter 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 Ballmer reference?
[31:58] Yes…? [laughs] Well, there’s a couple of references. Also Beetlejuice. Have you ever seen Beetlejuice?
Oh, yeah, yeah.
You know, because we say his name three times in a row and he shows up; that’s kind of how it is on GitHub issues. If you just complain enough times, a maintainer shows up. So there’s a couple of references.
Oh, I like the Beetlejuice one.
They’re interweaving… But definitely Steve Ballmer, because GitHub, maintainers…
Developers, Developers, Developers…
Yeah, exactly.
And Microsoft owns GitHub now… Maintainer, Maintainer, Maintainer… We’re trying to hit all the references.
So we’ve trimmed the ‘s’. Instead of Maintainers, 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 there to solve some problems…
Sometimes at your service… [laughs] Until they burn out and they’re no longer at your service, which is bad.
Yeah. Plus, say it three times is good. There you go. But Inter is super-cool… I was gonna say - what’s the back-story, Inter, all that good stuff…
Oh, gosh… First off, I’ve done a couple fonts in the past, but never at the scale of Inter. And some led to what we were talking about before; I was talking a little bit about how I look down two feet in front of me, and I focus 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, 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 fairly small UI fonts. 11 dips specifically. And Roboto is this amazing typeface, which is (as far as I know) designed to work at a variety of different applications and sizes. And we were struggling a little bit with the eligibility of it. Some of our very early users too were having some trouble with it. So I was thinking “How hard would it be to make a font similar to this that only works at 11 points/dps? Can I just make a font over a weekend that just 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. It was kind of interesting. And I kept working on this as a personal side project for a while. I started getting feedback from my colleagues trying it out, sort of on a fork build of Figma, and stuff like that… It was really interesting. It was very interesting; ultimately, it was a bad idea, because what happened was that it really did look – and if you go to Inter’s website today, if you go to the very bottom, if you click around some links you can find some screenshots of the very original thing… But it did not work well in longer sections of text, and I just kind of killed the project.
But by doing that, I was like “Wait a second… Why don’t I make a font that is sort of like Roboto, Helvetica, Agora, San Francisco sort of like a workhorse of a sans-serif that we could use for Figma, that I can use for UI’s myself?”
I didn’t really have a go-to workhorse typeface for screen. Back in the day it would be Lucida Grande… By the way, I saw a really fun sign. Someone took a photo of a sign by the road, those letters that you find at old-style movie theaters, and it said “I thought Ariana Grande was a font.”
[laughs]
That’s funny.
[35:55] So Lucida Grande - maybe that’s how you say it. Anyhow, I didn’t really have a workhorse, so I just thought “This could be a fun little side project.” So I started working on that, asked for tips from people, I joined the local Type Thursday group here in San Francisco, which is this super-nice group of people who meets once a month and they will critique and help each other out. I met several people who were just amazing and helped me out so much.
There’s a guy called James [unintelligible 00:36:21.02] who was really helpful early on. He helped me a little bit with what tools should I use. Is Robofont the right thing? What plugins do I need? You can’t really draw a rectangle in Robofont without a plugin. It’s a very plugin-driven thing.
Yeah, so that’s kind of how it got started. And then it just kept tumbling on, and years went past. 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 2-3 years to go, at least on the regular 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? Obviously, a side project, but it 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 a realization I hadn’t really thought about, that I didn’t really have a good workhorse UI typeface that would work on websites… You know, you can’t use San Francisco or something on a website, or any other sort of commercial font without paying license fees for it. Now, I think that makes sense for a commercial website; you might wanna have a personal edge. Anyhow… Reflecting over that, I realized that for this to be a worthwhile effort, it needs to be open source. Inter – that’s almost like why it exists… To be a really high-quality, truly free to use. If you wanna make money out of things you make with Inter, you can do that. It’s fully, truly free. I felt that that was just missing in the world.
Yeah. How many hours have you put into this? Can you add that up?
Oh, my God…
Is it more than you can add?
Oh, it’s thousands and thousands of hours. I mean, I would go on vacation, and every second I would work on it, and every second day I would do vacation stuff… After work, in evenings, 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 less forward progression work with the typeface and there’s more like “Oh, this version of Office 2003 on Windows 98, 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; 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. To use this term “virtual machine”, there’s a lot of implementations of it. So that’s a big part of it. But no, it’s more hours than I can imagine.
It’s a beautiful typeface. I think Helvetica is one of those typefaces that sort of has this – you know this being from Stockholm, Sweden; it’s the face, and I think the font face that people think about in terms of like the most popular… And I think Inter is of the same caliber, in my opinion. I imagine one day there will be a documentary… If not a podcast, a documentary about Inter.
Ha-ha…!
I mean, that would be amazing. Thank you so much, Adam. That means a lot. I actually went to the – there was a premiere of this Gary Hustwit documentary called Helvetica (years ago; 12-13 years ago) with my other type nerd friends that 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?!”
[laughs]
Yeah…
[40:06] That’s gotta be quite the feeling. Well, 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. Or did you start with something and then you tweak certain ones and leave other ones alone? I don’t even know how a font is created, so maybe help me 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 back-filled, if you will, by Roboto. So the product is still dual license; there’s a license in the source code there for Roboto. Some glyphs are still Roboto. It’s sort of like the – 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 very carefully… And those are probably the Roboto glyphs.
But early on I did use some of the diacritic marks in particular from Roboto, and then I’d replace them as I was going. But yeah, the vast majority of glyphs are hand-drawn, and often it’s over the course of months on one of them.
Wow.
The lower-case ‘a’ - I redrew that at least a hundred times. I would redraw it on paper, I would redraw it in Figma, I would import it, I would tweak it, I would tweak it, I would tweak, I would test it and test it and test it…
One thing that’s nice though, which is probably not surprising if you are doing programming, is that these font tools, and even actually the font programs themselves have this feature of components. If you use Figma, Figma is composed in a very similar way. If you use React, a component in React works the same way. You can say this glyph is a component.
Now, in another glyph you can say “Use an instance of that glyph here, and apply these transformations to it.” So almost like a mathematical approach, a functional approach. So to create an umlaut, or a character that has some small variations - maybe it’s diacritics, like dots on top of it or something like that, or a flipped/inverse version of a character… There’s a few that are flipped on the y axis, a few that are narrowed 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 lower-case a glyph, that will sort of trickle through to all of the other glyphs that are based on let’s say the lower-case a. So that saves you a ton of time, and it also saves the file size from exploding; you don’t have to compile 20 copies of the lower-case a. So in the font programs it essentially is just 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. And 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. It’s evident here… I can’t imagine that you were a font expert by any means prior to it. You were asking which program to use to create a font, so you couldn’t have been an expert prior to. But to go this deep is… Would you consider - maybe this is boasting, but would you consider you’ve reached some sort of mastery around this, considering how much work–
No, I’m still looking up to the best, and learning…
You’re a smart novice.
[43:55] Yeah, a smart novice. I like that. Indeed, yeah. For sure. The way I operate just in general, with hobby projects and work and everything - 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. Most of them are to learn something; not to create an output or to change something at the end of it. Maybe that sounds sort of like egotistic, 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.
As we were just talking about a few minutes ago, two of my drivers were I just wanted 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 you’re just working on it as just like the most delightful experience.
So in contrast to some other types of work, like programming or designing or something like that, what has been really nice with this kind of type of work is that I can spend ten minutes on it, or I can spend ten days straight on it. The variance – it’s almost like comparing video games; 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 ten minutes and I can 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 there are loading screens… In a similar way, my experience with Inter - and some of the other hobby fonts that I have done on the side - have been in the delight and low expectations of just making it. I’ll just open that up, work on it 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 like Breath of the Wild, it’s gotta be fun. Maybe I should start my font, because I can definitely hop in or out of that game. But when you started talking about that a, it didn’t sound very fun to me… [laughter] You’ve created hundreds, maybe; all these different variations. I’m sure they’re just slightly different; this goes slightly up/down… And then you have to pick one, right? Because you’ve gotta land somewhere. To me that sounds like torture.
Yeah, 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 is Inter’s a, at the end of the day?
That is 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 you can do it – if you have two hours on a Sunday and you know nothing about font-making, you can make a font in that time.
One sort of downside, I would say - or one opportunity rather - is that all of the three industrial-strength font programs are from Macintosh. So if you are on Linux or Windows, it’s gonna be a little tougher. There are two of them out there; there’s one in development called RingBender, which is – if you wanna write some Rust or something like that, go check that out. And the other one is called FontForge, which is this open source thing… But if you ever use Java widgets or QT/multi-platform programs, it feels a little bit like that. No disrespect to the creators on FontForge. It’s a remarkable program, but I would not say that it’s something that is 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. You can get started for a month or so. And if you do purchase the license, it’s pretty okay. You can get started today, and probably even in an hour, from scratch.
[48:04] 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 wrapper, and you can run the build script, and now you can just change it and rename it to something else. That’s another way of doing it.
But you never answered the question, how do you pick the a?
[laughter] 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.
Maybe 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 similar to how I think about typography. A typeface is a family of things. A particular character must be part of the whole. If you think about icons, you can make one beautiful icon, 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?! What’s going on?” Similar too if you make a movie. You’ve gotta have audio, you’ve gotta have lighting, you’ve gotta have video, you’ve gotta have acting, you’ve gotta 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. There’s almost 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 there’s an equilibrium somewhere, or a balance somewhere. So it’s almost like if you make the audio worse in this metaphor with the movie, it might be a better experience, because it feels less kind of Uncanny Valley.
Similarly, with a typeface you wanna think about almost what the style and the rules are for the system. And the look of the characters is almost an effect or a fallout of that side of principles and rules. You can of course introduce little personality traits (I would call them) in the a, in the lower-case a, which I have a version of on my wall here next to me… But the lower-case of Inter there’s this sort of like bend – when it comes down, it has this sort of like almost organic bend. You see that in a couple of famous grotesques, like Helvetica you mentioned earlier… And personally, I just find those really delightful; it really feels nice to me. And at the small scale that Inter was initially created for, those details disappear. 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, the lower-case t and f… There’s a whole bunch of characters that have these tiny traits of either bends, or something like that. If you’re weird like me, you’ll go and look at details like this and you can see them carrying through the family, in different characters.
So that’s how the lower-case a came around…
Break: [51:00]
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 gained 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 typography, but more the technical bits - where it works, metrics, kerning, stuff like that. When did you get what you would call momentum on the project itself? Not so much the font making it, but 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 use Spotify - that was just… I still remember it, like it’s a movie. I was on the Subway in Stockholm, and these two women were 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 big players, like GitHub, Unity… I was at Pixar for reasons of Figma, and they were like “Oh yeah, with all our tooling internally we use Inter now. Can you help us out? “ I was like “What?!” That is amazing. And Coinbase, and stuff like that.
So there’s a lot of – I see it pretty often. That just makes me so happy, because that is the reward. To me, that is the reward. If I could choose between a million dollars and a million people that I could emotionally feel being happier because of me, I would choose the people any day of the week. 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’ve had an impact, but at least the emotional connection that I can make is incredibly rewarding.
Yeah. It is interesting to see your work out there. 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. I call it – I mean, it’s just simply your art that you put out there in the world. You put your art out there in the world, you put your effort out there in the world, and somebody enjoys that thing you made, you poured your time into, and your effort into. It’s emotionally rewarding on that front.
What are some interesting things about the project that people don’t know about? Is there posters that you could buy? Is there T-shirts out there? You’d mentioned before that you can make something commercial with it and sell it… What are some fun usage stories? Not just your usage, but others that have the typeface on, or have been using it 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 and I’m not interested, but I really would love to see if you do something fun, like a DIY, a weather monitor thing on your fall and you use Inter - 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 poster you can buy. But I’m curious, do you think that this emotional reward thing we were just talking about, and Adam, you were saying when you hear someone saying that they’re listening to Changelog, you have this good feeling, right?
Oh, yeah.
Do you think there’s a correlation there to what drives people to work on open source software?
[55:56] 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 - we’ve been doing this for 12 years, and we do it because we love the community. It’s fun to produce a podcast. I never thought that my profession would be a podcast producer, or a host… It’s so much more than just simply that, and Jerod is as well… But just putting something out there, putting your heart out there and people appreciating that, and not complaining - or that much, at least - is pretty cool. So that definitely motivates me.
When we had Matz on the show a couple years back, Jerod, what Metz said (the creator of Ruby), when he said “Oh yeah, I listen to your show”, I was like “What?! Matz? Matz listens to our show? For real?” And it doesn’t just take the Matz of the world for me to be excited; it could be anybody. It doesn’t have to be Matz, the creator of Ruby; it could be you, it could be somebody I don’t even know, that hasn’t done “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 Inter was created, to hear why Playbit has got you so excited. You know, to me that’s why we show up, is for the people.
Yeah, and 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 giving a gift to the world and receiving that knowledge that you’re making someone’s life a little bit better, that’s one of the themes, the one that we were talking about now. Another one that I hear often, and it resonates with me, is a sense of responsibility based on gifts received. Actually, a good example - Tanner Linsley 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. 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 gonna give back.
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 gonna give some stuff back to people.” So that’s kind of a pay it forward kind of concept.
Yeah. “They gave it free, so I give it free, too.”
Yeah. Even 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, 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 why we same “We came for the code, but we stayed for the people.” It’s really true.
Yeah.
And the code, honestly, after like 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 and we want it to be scalable, or personalized. There’s aspects to it that are important. But it’s just way less important than the bigger picture nowadays, which is the people.
[59:53] Similarly, at the beginning of the conversation we talked about the relationships being what’s important to you in retrospect, looking back at your past; the relationships that we’ve formed through open source and the Changelog are way more important than the individual conversations we had or the projects that we’re working on… Because a lot of the projects – like, 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. But that’s okay, that’s just part of the system of things. But we can still shoot an email or a tweet over to that person and fire up a conversation again and be back where we were… And that’s pretty cool.
It’s just the natural cycle, right? Things…
Yeah, like you said with ideas. You’ve gotta have lots of ideas. And actually, some open source projects weren’t meant to exist into perpetuity. It’s like “No, this is done.” In fact, you’re saying Inter, where you have a lot of work to do, but it’s gotten to a point where it’s kind of almost done… And maybe someday it will be just done. But 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. 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, that you can hear in the background - it’s physical, and 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.
So I think the majority of things we create on a computer is actually not the code we write or the programs that we run, but the – it sounds super-cheesy, but kind of the story that it either tells or creates, or helps people tell or create, and 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 fine. The external conditions or the environmental conditions affects topography very little, compared to other things that are digital.
Yeah, 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–
Without having to change.
I’m not an aficionado of Helvetica by any means; I don’t know the true history in terms of what made it popular, but I’m assuming that it’s because it was 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, I mean – we have Times, too. Pretty famous. And Times New Roman kind of version of it…
Times New Roman, yeah.
Or Clarendon really beautiful and some of those much older than Helvetica.
Comic Sans, which is classic as well…
Yes, very comical classic…
It’s come 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 and circle, I think. I saw it in 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, and I was like, “I kind of dig this”, you know?
Yeah.
Ten years ago I’d be like “Oh, that’s disgusting.” But now I like it.
It’s interesting how these things – I mean, there’s fashion. 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 why 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. So things that were cool in the ’70s and the ‘80s are cool again. But like you said, a decade from now they’re not gonna be cool, but then a decade after that they will be again. It just kind of goes like that. It’s weird.
Yeah.
[01:04:12.07] It’s a bit like a logotype, or like a mark, whatever you wanna call it… Like a logotype for a company, or entity, or person, or whatever… There are really two distinct schools of logotypes, or icons; it’s all the same stuff. 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.”
Right.
And I think a good logotype that wants to last for a long time is not hot, is not popular. It does not fall on the path of fashion.
Right.
I think this is also very true for a lot of what is often called incorrectly marketing websites; the part of a website that kind of tries to sell the product, rather than being the product. I think there are 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 is – five years to go it would be colored confetti on the background, and you can’t do that today, because that’s super unfashionable. 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 in a much bigger punch.
As an example, according to – I’m not sure I can say this website, but it’s 30 sample of Helvetica font used in giant brands. Just a few: BMW, American Airlines, LG, Microsoft, American Apparel, The North Face, Crate & 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 Futura. Futura is used in a lot of different logotypes and whatnot. I think Nike is a Futura, if I recall correctly. You can correct me if I’m wrong, but… You can see a pretty simple, “I could do it in a weekend” kind of scenario of a font be used in major brands, but then be uniquely used in major brands and different styles…
I think the world 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’d 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 the website on our rsms.me/inter - the website for inter. TheRasmus@notion.se. Is that a public email? If not we just made it public.
Yes. Or just rasmus @rsms.me.
Okay.
I mean, you can just go on GitHub and find it, so…
Gotcha.
…whether I like it or not, it’s public.
[laughs] Well, the point 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, it could be whatever - email Rasmus and tell him, because that feedback loop is crucial to motivation. If it’s not just for Inter, it’s for future projects, just to say that “My art is appreciated.”
I would love to say that.
I think that’s important.
Or tweet me.
Yeah. You what, Rasmus, might be a good idea? I wouldn’t go as far as putting it into your license, or anything like that. I’ll 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 – you know, maybe in the readme. It’s like “It’s free.” I’m not sure what your copy there looks like right now anyways, but how to install, and then the next step is like “Email me and let me know what you’re using it for.”
[laughs] Yeah, yeah.
Just “I’d love to know.” It’s not a requirement, but it’s a prompt.
That could be fun–
I think you’d probably 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 - yeah, I think that would be really fun; it would be fun to put up a part of the website for the typeface that showcases what people have done with it.
[01:08:17.05] 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 its niche; or at least it used to be its niche. But other ways of using – you know, if you made house numbers with it, or you’ve made a poster, as you were saying, or a T-shirt, or used 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’s a poster.” You didn’t allude to it anymore, but what’s the details?
Yeah, so I grew up a swede. I don’t know if this is true for all swedes, but surely 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 where it says “Shop”. There are two ways to get there; we can link that maybe in the show notes or something, if you wanna check it out.
We’ll link it up.
Totally.
But yeah, you can get a little poster there.
That’s cool.
It’s priced so that it covers my Shopify costs. Maybe I make like $3 or something per it, 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. [laughs]
Very cool. I’m gonna 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, on the web page for Inter… Where you can view – what part of this is it? It’s the variable section, where you can see the different weights, and the slants, 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 higher weight, and the slant or not slant angle. I guess the angle - if you call that an angle - from 0 degrees to 10 degrees. You see those two animated, and that kind of reminds me - this post reminds me of that little animation essentially available there on the variable section of the Inter website.
Yeah, variable fonts are cool. It feels magical. It’s just 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 web browsers, or no
I think today, with all the stable channels and 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 ‘ll say this - Chrome used to have two different rendering paths for variable fonts and constant fonts. And this would affect - if you use Linux with ClearType like they use these TrueType hinting programs or Windows with that stuff enabled (there’s so many settings), you might actually 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 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 Turing-complete, but they allow you to do things like contextually-based rules.
[01:12:08.23] So let’s say when you type word “Hello”, you want that to say lolcat. Then what you can do is 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.” Inter uses a lot of these things to do things like if you wanna 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 say “Oh, I’m gonna go and replace those glyphs with a custom-made 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 what these things are. So there are still different – I mean, we’re talking about web browsers, and it’s sort of like the quirks… In Safari you’re gonna get mostly spaces playing a part in this. You can say “When I add an x amount of space and then a digit, don’t do this thing”, for instance. Or “Don’t transform it to an arrow” and stuff like that.
And Inter does this sometimes, too… Like, if you do “X is less than 3”, or what is it – “X is less than 3, minus x is less than -3”, that is a valid expression and you might wanna write that and not have it be “X left arrow 3.” So there are exceptions rules too, that say “Do the arrow thing, unless - these are the conditions.”
So in Chrome spaces won’t be included. I think what it does is font rendering is kind of expensive it’s like caching going on under the sufrace, it’s quite complex from a layout and rendering perspective… Well, since Safari spaces do have an effect - when you do web development and you use these features and variable fonts, make sure to test it in a couple of different web browsers.
Yeah.
I think people already do this, but it’s just good to know that there are differences.
We’re getting 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 in on names. The name is kind of the front door to your project, right? It’s the first thing people see. And here I am, on Merriam Webster, and it says “Inter (a verb) - to deposit a dead body into the earth.”
Oh, my God… [laughter] I have not seen that. That’s hilarious.
Come on, Jerod…
That’s what it says here…
[unintelligible 01:14:30.26]
Is there some sort of morbid, hidden meaning behind this, or…? Maybe you’re going for the second one. It means “Between. Among. Amidst.”
Yeah, probably–
What’s the genesis of the name? What’s it mean?
Well, so it’s an interesting story… First off, I think naming truly is hard. There’s a cliché of cache invalidation and naming things are the two hardest things in computer science… And I think naming things is generally 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 just about naming in computer science, naming functions, and stuff like that… And I think it’s really hard to give something a good name. A good name is very contextual; it’s something that is contextual not in like a rational sense, like the object is in this context, but also contextual in the person viewing its own experience. So it means different things.
If you live in Britain and you’re into football - not handegg, as we are here in the U.S, but football - you know, the ball and the foot - then Inter, you’re probably gonna think about the English soccer team called Inter. I think it’s – is it Italian? It is… 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 try to name my things, especially my open source things, with 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.
[01:16:05.08] Inter actually initially was called InterFace, and [unintelligible 01:16:07.06] 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. And now someone installs that and there’s another typeface called Cat. The software we have has no way of distinguishing between this cat and that cat. 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. We printed all these booklets with offset printing, and we’ve just spent $12,000 on it, and it looks wrong”, and you’re like “Oh, my God.”
So I think that there are practical aspects like 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. Avoid naming something that might have the same name, at least within the same type of work, or you can actually get into quite a bit of problems, or at least a lot of hassle.
Anyhow, so I chose InterFace, because there’s four user interfaces… And I shipped it, and it was great. And then I got this letter from this type foundry in – I think they’re in the U.K. And I do not like this type foundry, but they basically were like “Oh, we have a typeface called InterFace.” And they were like “We own the copyright to the word ‘inter face’ within all of typography.” And I’m like “That’s ridiculous.” And I looked it up, and sure, they had filed in the European Union a registered trademark for InterFace in 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.
This is a long story, I’m not gonna bore you with the details, but essentially, I ended 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 the typeface industry who really were not nice people. They were like “You freaking bad-words”, you know… Like, “You’re so dumb”, or whatever.
Wow [laughs]
Also, a lot of people were very supportive. And also, a lot of people contacted me and said “Oh yeah, that foundry is the worst.” But whatever. I respected that, I just changed the name to Inter, and I made sure to register that. And now, Latinotype released a typeface called Inter, and a couple of people, I meet together with some people there too, and they were like “Oooh…” [laughs] But I’m not gonna go and sue them for that. I think that’s fine; diversity is great. If there are two typefaces called Inter that’s awesome.
You’re not gonna call them a bunch of names…
Anyhow, if there’s any takeaway from this tiny story about Inter being called InterFace and then being renamed, this/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.
Yeah.
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.
Yeah.
[01:19:54.12] Rasmus, it’s been fun hearing a lot about what you’re interested in, Inter obviously, the fun things you have planned in the future, and what Playbit’s got going on, and all that good stuff. We didn’t dig deep into the Zen of Playbit, we dug deep into other details; I was really… that and the guiding principles I think was super cool. So if you’ve listened 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 Playbit, 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 freakin’ 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 gonna question what you do and the smaller you’re gonna feel, and the more in the corner you’re gonna feel. And it’s a double-edged sword, because if you don’t look at what other people are doing, you’re gonna miss out on ideas, you’re gonna 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 ways of thinking about stuff… But still, just be aware that the more you look at things – if you look at Hacker News all the time, or look at all these products, you’re probably gonna think that you’re… For example, I’m really into compilers and programming languages, something I’ve been doing as a side hobby for a really long time… And if I’m tinkering away on a compiler, which is a big project, and if I were to go look at things like the Rust project, or LLVM, or something, and think that that is what I should aspire to, I’m gonna 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, universal things that I’ve learned, that I wish I could really tell myself when I was younger.
Another part is do what – like I said, if you’re looking for a compass of where to go, professionally or just for fun, maybe you’re trying to figure out “Who am I? Who do I wanna be?”, just go where you enjoy things. Spend time with ten 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 ten different projects or you try ten different technologies, the things that make you feel the best, those are the things you should do more of. If you tried Rust, you tried C++, you tried Go, you tried this, you tried that, and if Go makes you feel better, you should do that, even though it might not be as shiny or fancy as Rust; or maybe it’s the opposite, it doesn’t matter. I think going where you enjoy things the most is 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. [laughter]
Very cool. We almost started a war there, Jerod, for a second, talking about Go and Rust…
Oh, gosh…
It was so close…
He backed it off [unintelligible 01:23:20.26] He said vice-versa and he saved us all.
That’s right. We almost had to go there, but we didn’t. We’ll save that for another show. Rasmus, thank you so much for sharing your hard work. I think I saw on your project site 100,000 lines of edits, or something like that, or a million lines of edits, I can’t recall which… Hundreds of hours of meetings, and all the detail that went into Inter - I 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 each other.
That’s right.
Our transcripts are open source on GitHub. Improvements are welcome. 💚