The Changelog: Software Development, Open Source - The story behind Inter (Interview)

Episode Date: July 19, 2021

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.

Transcript
Discussion (0)
Starting point is 00:00:00 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
Starting point is 00:00:28 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.
Starting point is 00:01:11 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
Starting point is 00:01:49 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.
Starting point is 00:02:53 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
Starting point is 00:03:52 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
Starting point is 00:04:28 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
Starting point is 00:05:07 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.
Starting point is 00:05:53 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,
Starting point is 00:06:18 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,
Starting point is 00:06:49 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,
Starting point is 00:07:05 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.
Starting point is 00:07:24 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
Starting point is 00:07:52 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.
Starting point is 00:08:07 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
Starting point is 00:08:17 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
Starting point is 00:08:30 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
Starting point is 00:09:11 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
Starting point is 00:09:36 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.
Starting point is 00:10:08 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.
Starting point is 00:10:34 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
Starting point is 00:10:58 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.
Starting point is 00:11:39 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
Starting point is 00:12:01 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
Starting point is 00:12:26 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.
Starting point is 00:13:05 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?
Starting point is 00:13:23 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.
Starting point is 00:13:54 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.
Starting point is 00:14:27 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
Starting point is 00:14:59 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.
Starting point is 00:15:20 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?
Starting point is 00:15:48 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?
Starting point is 00:16:20 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.
Starting point is 00:16:41 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.
Starting point is 00:17:09 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?
Starting point is 00:17:22 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.
Starting point is 00:17:45 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.
Starting point is 00:18:03 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
Starting point is 00:18:47 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
Starting point is 00:19:03 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
Starting point is 00:19:32 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,
Starting point is 00:20:12 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,
Starting point is 00:20:33 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
Starting point is 00:20:51 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
Starting point is 00:21:20 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
Starting point is 00:21:37 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.
Starting point is 00:22:06 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
Starting point is 00:22:26 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.
Starting point is 00:23:07 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.
Starting point is 00:23:38 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.
Starting point is 00:24:08 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
Starting point is 00:24:50 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?
Starting point is 00:25:15 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.
Starting point is 00:25:32 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,
Starting point is 00:25:50 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?
Starting point is 00:26:07 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.
Starting point is 00:26:20 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
Starting point is 00:26:49 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
Starting point is 00:27:10 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,
Starting point is 00:27:25 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.
Starting point is 00:27:43 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?
Starting point is 00:28:15 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.
Starting point is 00:28:38 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.
Starting point is 00:29:47 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,
Starting point is 00:30:26 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.
Starting point is 00:30:50 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.
Starting point is 00:31:00 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.
Starting point is 00:31:26 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,
Starting point is 00:31:51 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.
Starting point is 00:32:16 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.
Starting point is 00:32:29 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.
Starting point is 00:32:37 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
Starting point is 00:32:44 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,
Starting point is 00:33:09 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
Starting point is 00:33:32 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.
Starting point is 00:34:12 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.
Starting point is 00:34:38 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
Starting point is 00:34:56 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
Starting point is 00:35:33 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.
Starting point is 00:36:07 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
Starting point is 00:36:45 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
Starting point is 00:37:23 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.
Starting point is 00:37:56 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
Starting point is 00:38:31 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.
Starting point is 00:39:11 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
Starting point is 00:39:34 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?
Starting point is 00:40:10 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.
Starting point is 00:40:38 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.
Starting point is 00:40:58 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
Starting point is 00:41:18 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,
Starting point is 00:41:42 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,
Starting point is 00:42:27 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
Starting point is 00:42:52 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.
Starting point is 00:43:28 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
Starting point is 00:44:11 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,
Starting point is 00:44:43 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
Starting point is 00:45:21 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
Starting point is 00:45:39 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
Starting point is 00:45:56 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
Starting point is 00:46:23 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?
Starting point is 00:46:33 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.
Starting point is 00:47:02 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,
Starting point is 00:47:23 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.
Starting point is 00:47:46 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.
Starting point is 00:48:05 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.
Starting point is 00:48:24 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.
Starting point is 00:48:41 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?
Starting point is 00:49:07 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
Starting point is 00:49:26 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
Starting point is 00:50:16 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.
Starting point is 00:50:51 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.
Starting point is 00:51:30 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.
Starting point is 00:51:57 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?
Starting point is 00:52:31 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
Starting point is 00:53:18 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,
Starting point is 00:53:40 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...
Starting point is 00:54:10 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
Starting point is 00:54:32 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,
Starting point is 00:55:09 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
Starting point is 00:55:27 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
Starting point is 00:55:43 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
Starting point is 00:55:53 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
Starting point is 00:56:02 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,
Starting point is 00:56:26 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.
Starting point is 00:56:41 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.
Starting point is 00:57:15 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
Starting point is 00:57:57 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.
Starting point is 00:58:23 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
Starting point is 00:58:42 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.
Starting point is 00:59:03 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.
Starting point is 00:59:21 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.
Starting point is 00:59:42 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
Starting point is 01:00:14 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.
Starting point is 01:00:50 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
Starting point is 01:01:11 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
Starting point is 01:01:39 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
Starting point is 01:02:10 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.
Starting point is 01:02:39 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
Starting point is 01:02:52 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
Starting point is 01:03:04 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,
Starting point is 01:03:21 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.
Starting point is 01:03:37 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
Starting point is 01:04:14 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.
Starting point is 01:04:43 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
Starting point is 01:05:37 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
Starting point is 01:06:19 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?
Starting point is 01:06:56 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.
Starting point is 01:07:21 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.
Starting point is 01:07:34 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.
Starting point is 01:07:45 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.
Starting point is 01:08:04 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.
Starting point is 01:08:20 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.
Starting point is 01:08:43 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.
Starting point is 01:09:01 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,
Starting point is 01:09:30 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.
Starting point is 01:09:44 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.
Starting point is 01:10:04 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.
Starting point is 01:10:38 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.
Starting point is 01:11:00 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,
Starting point is 01:11:19 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,
Starting point is 01:11:38 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.
Starting point is 01:12:07 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
Starting point is 01:12:27 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
Starting point is 01:12:50 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
Starting point is 01:13:50 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
Starting point is 01:14:17 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?
Starting point is 01:14:52 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
Starting point is 01:15:11 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
Starting point is 01:15:32 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.
Starting point is 01:16:00 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.
Starting point is 01:16:25 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
Starting point is 01:16:50 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,
Starting point is 01:17:16 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.
Starting point is 01:17:39 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.
Starting point is 01:18:15 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
Starting point is 01:18:33 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
Starting point is 01:19:05 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.
Starting point is 01:19:14 and then, you know, now Latino type released a typeface called Inter. And, you know, a couple of people even met together
Starting point is 01:19:20 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
Starting point is 01:19:30 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
Starting point is 01:19:47 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
Starting point is 01:20:03 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
Starting point is 01:20:38 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
Starting point is 01:21:10 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
Starting point is 01:21:45 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.
Starting point is 01:22:15 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.
Starting point is 01:22:43 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,
Starting point is 01:23:02 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.
Starting point is 01:23:18 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.
Starting point is 01:23:33 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
Starting point is 01:23:50 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.
Starting point is 01:24:06 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.
Starting point is 01:24:20 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.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.