21: Geoffrey Litt: Software You Can Shape
Geoffrey Litt (Website, X) is a designer, engineer, writer, and researcher at Ink & Switch, where he champions malleable software: the idea that ordinary people should be able to mold the digital tools they rely on every day. Ink & Switch is an independent research lab focused on how computers can help us think and work. While researching and writing, Geoffrey and team also build products and prototypes to explore how their ideas can exist in practice. Geoffrey got his PhD at MIT CSAIL, where he built on his inspiration around computational media like spreadsheets, hoping to push more software toward the ethos of end-user programming, but without the technical complexity. In a sense, why should using software and changing it be any different? Previously, he built software for teachers at Panorama Education, which he joined out of school as one of the first employees.Geoffrey and collaborators recently published a definitive piece on malleable software and we discussed it in detail. We dig into why most modern apps feel like sealed boxes rather than flexible tools and environments, and what changes when your app, document, or workspace, feels more like Lego than machinery. Geoffrey makes his case that we want software tooling to feel like a chef knife, not an avocado slicer, and we talk about how the best designed tools help users up a smooth slope of learning and ability. He argues in favor of deeper understanding, illustrated by one of my favorite ideas: The Nightmare Bicycle.
Appears in
- Uploaded
- Uploaded May 26, 2026
- File type
- TXT
- Queried
- 0
Full document
Showing the full document.
Speaker A: Welcome to Dialectic episode 21 with Jeffrey Litt. Jeffrey is a designer, engineer, writer, and researcher at Ink Switch. Ink Switch is an independent research lab focused on tools for thought. Essentially, how can computers give us more leverage as we think and work? His focus there is malleable software, the idea that regular non-technical people should be able to change, edit, and tinker with the software tools they use every day. Jeffrey's obsessed with spreadsheets because they're what you could call computational media. The idea that using software and changing or editing the software should be one and the same.
We talk all about how more software could feel like spreadsheets and what is required both from a design and an ecosystem and infrastructure perspective to make this true. As you might imagine, AI and LLMs are a significant lever to help make more software malleable, as in theory, anyone can edit code at the speed of thought. While I think this conversation will be particularly interesting for designers and those who make software, I also think that anyone who uses software will be challenged by and hopefully inspired by Jeffrey's ideas. At the root of all of this is a notion that we should care about our tools, our processes, and our environments, not as an ends, but as a means to working on and creating the things we care most about.
And while that applies to software, I think it applies to our lives too. Steve Jobs comes up at the end of the conversation, and I couldn't help but think of that incredible quote of his from years ago, where he says that the minute you can understand that you can poke life, and if you push in, then something will pop out the other side, that you can change it, that you can mold it. That's maybe the most important thing. I think Geoffrey embodies that deeply, and I hope you enjoy the conversation with him.
Here he is. Good to be here with you. Speaker B: Good to be here. Speaker A: Sorry for this. Jeffrey Lip. Speaker B: Me too. Speaker A: In what seems to be summer in DC. Speaker B: It's unusually warm. Yeah, it's, it's, uh, summer is here for sure. Speaker A: We have lots to chat about today. We, it's clear we could do this for a long time on a long range of topics based on our lunch before this. I think we're going to stay relatively narrow for a little while at least.
And we're going to talk about an idea that you've spent at least, I think, 5 years working on, which is at root about software and programming, but really about this idea you have of malleable software. I'll read from you first. You say, the best environments come from adaptation. When the people living or working in a space pay attention to their own needs and gradually evolve to meet those needs, the result is beauty and quality. Everyone deserves the right to evolve their digital environments. It's the only way to fulfill our creative potential and maintain a sense of agency in a world that increasingly resides in software.
It seems like you've been chasing after this idea and this dream for a while, as I mentioned. Maybe starting zoomed out, why is this idea so interesting to you and why is code and software broadly the creative medium of choice that you've been so attracted to? Speaker B: You know, I think it all started from, um, I find it almost painful when people can't change their surroundings, the, their environments, their tools. Whenever I see an example of someone fighting against the grain and unable to do the creative work they want to do, or unable to focus the way they want, and it's because there's some tool in their life that it's either pushing a weird incentive on them or just isn't configured the way they want it, it's this visceral feeling of that person is lacking agency right now, and they've been robbed of something really important.
One specific story maybe that was one of my waking up to this moments, I guess, was I used to work at a startup building education technology software for schools. And we would make these data reports where we would think really hard about what's the best report for K-12 schools to see. And then of course you get on feedback calls and people are, there's a lot of stuff that is missing or that's wrong. And sometimes it's tiny stuff like, Hey, could you change this one word in the UI? Because at our school, that word is really contentious.
And something I learned working at a startup is usually you're supposed to say no. If you're a good product manager, you're screwed if you say yes. And so a lot of your life is telling people we can't do that just for you. And I think in Silicon Valley thinking, there's this is kind of valorized. It's like, it's great. You end up with a simpler thing. Don't just give people a faster horse. But sometimes I think actually people know what they need and the only reason we don't give it to them is because we assume this kind of mass-produced product.
And it's true, if you're building it in the factory, you obviously can't build it for just you or just me. But I started getting really intrigued by, could there be another way to think about software that grants people a little more control and agency over their lives? And to answer the second part, you know, I think the reason software matters to me is it's the medium that I chose to start building in when I was younger, I guess because I could and I didn't have to ask permission. And it's taking over our lives, right?
How much time do we spend? Like, I'm at my desk, but really I'm in my phone or in my computer. Speaker B: You know, I think it all started from, um, I find it almost painful when people can't change their surroundings, the, their environments, their tools. Whenever I see an example of someone fighting against the grain and unable to do the creative work they want to do, or unable to focus the way they want, and it's because there's some tool in their life that it's either pushing a weird incentive on them or just isn't configured the way they want it, it's this visceral feeling of that person is lacking agency right now, and they've been robbed of something really important.
One specific story maybe that was one of my waking up to this moments, I guess, was I used to work at a startup building education technology software for schools. And we would make these data reports where we would think really hard about what's the best report for K-12 schools to see. And then of course you get on feedback calls and people are, there's a lot of stuff that is missing or that's wrong. And sometimes it's tiny stuff like, Hey, could you change this one word in the UI? Because at our school, that word is really contentious.
And something I learned working at a startup is usually you're supposed to say no. If you're a good product manager, you're screwed if you say yes. And so a lot of your life is telling people we can't do that just for you. And I think in Silicon Valley thinking, there's this is kind of valorized. It's like, it's great. You end up with a simpler thing. Don't just give people a faster horse. But sometimes I think actually people know what they need and the only reason we don't give it to them is because we assume this kind of mass-produced product.
And it's true, if you're building it in the factory, you obviously can't build it for just you or just me. But I started getting really intrigued by, could there be another way to think about software that grants people a little more control and agency over their lives? And to answer the second part, you know, I think the reason software matters to me is it's the medium that I chose to start building in when I was younger, I guess because I could and I didn't have to ask permission. And it's taking over our lives, right?
How much time do we spend? Like, I'm at my desk, but really I'm in my phone or in my computer. Speaker A: I think it's a portal. Speaker B: It's a portal. And I almost feel like if we can't figure out how to give people agency in their digital worlds, that's so much of our lives now that we might even start losing the feeling that we own or control anything. If we spend all our times in platforms that dictate every detail for us, I think there's a way of thinking that might be lost, and that's really scary to me.
And on the flip side, it's really exciting to imagine a world where more people feel— there's this famous Steve Jobs quote, "Everything around you was invented by someone sort of just like you," I think is the paraphrase. And I think that's a really exciting way to think about things. Speaker A: It's a great way to open up the conversation. I also just think, I think if you asked, if you surveyed young people today, particularly 20-year-olds, we are starting to see what you just described, which is that people feel as if they have no control over their own life.
And that is a, that's a terrifying thing. Speaker B: Part of it, I think, is everything in the technology world has become more complicated. Like, it used to be that you could open up the car and understand a lot of what was going on. Now there's like 100 computers in there or something, right? You can't open up your iPhone and meaningfully repair it or anything. And I think, um, in my own life, I think about, you know, I currently rent an apartment and there's a really big difference in mentality. I think when you start thinking a little bit more like an owner and not a renter, it could be something as simple as a toilet is an object that I can understand, right?
And like do something about, as opposed to, oh no, like call for help immediately. And I just— it's something I try to cultivate in myself over time and grow that part of myself is like, can I actually understand what's— what my environment is built of and take more agency over shaping it? Yes. Speaker A: Yeah, it's— I found that overwhelmingly And I don't know if you would even explicitly think of yourself as a designer, but that feels to me to be the most— it's the way you started your answer— the most design-oriented philosophy of the world, which is like, when I encounter friction, I want to shape it and I want to fix it or tweak it or make it a little smoother.
And I, yeah, I think it's a really powerful gift to imagine giving to other people. I want to talk more about it before we go deeper. And you started to talk about this maybe a little bit, but why, at a super high level too, why should people, why do you think more people should program? Why should more people, and granted what that means might change or be in the middle of changing, but why should they be interested in using code as a creative medium? Speaker B: Yeah, I mean, to be clear, you know, I don't have a strong opinion on whether people should be programming more.
I think, as you said, that's a, what that even means is changing fast right now. And frankly, I think the fact that until now you've needed to learn to program to shape your digital environment is actually one of the biggest problems in our software world. And so it's not that I'm against people learning to program, it's just that I think programming is not— more people programming is not my goal. The reason I want more people to get involved in crafting their software is that I think especially in creative work, there are certain types of work that basically can only emerge out of the correct creative environment.
That's— I think of it as like it's almost shaped like a leather shoe around the person rather than the person trying to contort themselves to fit into some, some tool. And you see this with them. I love looking at photos of people's creative spaces, like their studios, and there's amazing ones like Stewart Brand when he wrote this great book How Buildings Learn, had this like I think it was like a shipping container or something, and he put up like a bajillion photos on the walls and was sort of surrounded by the space he created, this container literally to do his best work.
And I really feel like for myself, the choice of tools matters. The tools that I use to write with people, the tools that I use to draw and think with meaningfully affect the outcome of my thought process. It's not just kind of an auxiliary. Speaker A: Environments matter. When you're in a room, what does a room feel like? Speaker B: Yeah, it matters a lot. And this goes back to, um, the original promise of computers was to let people create the ideal environment for themselves to do their best work. I think there's some great thinking from pioneers like Doug Engelbart, who is known in a shallow way for inventing the mouse, but in a deeper way, he actually kind of invented the idea of computers as a way to augment the human intellect in a way.
And he has this great example he gives of Imagine you had to write an essay with a brick tied to your pencil and think about how much that, that quote unquote like de-augmentation would affect your ability to think. And now imagine the inverse of that. What's like, what's, what's a tool that would accelerate or not necessarily accelerate that would deepen your ability to do your best work. And I, I just find that, that potential so intoxicating. And I think computers, Computers are probably the, you know, the only tool we've ever invented that are a universal simulator that can, it's a meta medium that can kind of do anything.
And so the ceiling on how, how cool that could be for people in terms of our ability to think and create is just so, so, so high and we're so far from hitting it. And so I think that's the potential that excites me, you know? Speaker A: Yeah. It's easy to forget that this is a very new medium too. And if you think about it in the sort of super abstract of a physical world and a digital world, we are only in the very early innings of getting accustomed to the dynamics of this new.
The other thing I think it's really powerful to think about is just that, that Stewart Brand idea you talked about, like the environment, like those environments are never, the environments that feel like that are never top down. Like they are never constructed and pre-designed. They always, it's like more like a garden. It's like a very Jane Jacobs kind of idea, which is 100%, which is cool. Speaker A: Yeah. It's easy to forget that this is a very new medium too. And if you think about it in the sort of super abstract of a physical world and a digital world, we are only in the very early innings of getting accustomed to the dynamics of this new.
The other thing I think it's really powerful to think about is just that, that Stewart Brand idea you talked about, like the environment, like those environments are never, the environments that feel like that are never top down. Like they are never constructed and pre-designed. They always, it's like more like a garden. It's like a very Jane Jacobs kind of idea, which is 100%, which is cool. Speaker B: They, they, have to evolve, I think, slowly and as the needs arise. And, you know, they sort of gradually form around a person and a way of working rather than being planned up front.
I think of, um, you know, I think Christopher Alexander has been an influence on both of us, and he has this really lovely idea that you shouldn't really focus too much on the blueprints for the house when you build a house. Actually, you should roughly make a plan, adjust the windows as you build it because you'll see where the sun's coming in, and then crucially, you know, You shouldn't actually build the whole house. You should kind of build part of it and then start living in it and wait and see.
And as things come up, you'll, you'll finish it off or evolve it over time. And I find that way of thinking to be— I really think that's how a lot of the best things come to be in the world. Speaker A: Yeah, they're iterative. Iterative. The irony too is that that's really hard to do with bricks. Or with wood or whatever. It should be easier with, with, with the kind of digital plastic idea of code. Uh, let's, let's dive in a little bit more. I have a smattering of quotes of yours that kind of in some ways encapsulate some of what we were just talking about and also kind of set up how I want to talk about what malleable software kind of is as you think about it.
First, you say, in the physical world, the act of crafting our environments comes naturally because physical reality is a malleable place. Some of what we were just chatting about. You go on to say, many small tweaks Taping a Post-it note to the wall, rearranging some drawers, moving a piece of furniture can be done instantly, instantly without asking anyone's permission. We can also take on larger changes that require more effort and skill, like building workshop or innovating a kitchen. We work and live in a physical space that we can control. This is both the Stewart brand and the Christopher Alexander, the architect.
You then say computerizing work led to a loss of agency. Previously, new ideas took minutes to try with a roll of tape. Now they could take hours of complex configuration if they were possible at all. Why even bothering imagining new processes. The team developed a sense of learned helplessness. Software ought to be the ultimate medium for free expression. We are not bound by the laws of physics. In practice, the structures we have today for creating software too often get in the way. For skilled developers, they introduce mountains of incidental complexity, making it far harder than it should be to build great user experiences.
And for end users without much programming expertise, using a computer usually boils down to prefabricated experiences created by developers without much hope for modification. And then finally, the— this is the dream of malleable software, editing software at the speed of thought. Obviously a bunch of the themes we were just talking about, but what you're implying here, and clearly what you've spent so much of your work on, is that as much as that vision you opened the conversation with is amazing, like, that's not really how software is. It's, it's that great irony.
I guess my first question is like, Why is it so critical that these mediums or formats or tools or whatever they end up being be extremely reactive and editable in that like speed of thought type of way? And then maybe more personally, how have you edited your tools and your environments, whether it be digital, digitally or physically? How has that kind of informed some of this? Speaker A: Yeah, they're iterative. Iterative. The irony too is that that's really hard to do with bricks. Or with wood or whatever. It should be easier with, with, with the kind of digital plastic idea of code.
Uh, let's, let's dive in a little bit more. I have a smattering of quotes of yours that kind of in some ways encapsulate some of what we were just talking about and also kind of set up how I want to talk about what malleable software kind of is as you think about it. First, you say, in the physical world, the act of crafting our environments comes naturally because physical reality is a malleable place. Some of what we were just chatting about. You go on to say, many small tweaks Taping a Post-it note to the wall, rearranging some drawers, moving a piece of furniture can be done instantly, instantly without asking anyone's permission.
We can also take on larger changes that require more effort and skill, like building workshop or innovating a kitchen. We work and live in a physical space that we can control. This is both the Stewart brand and the Christopher Alexander, the architect. You then say computerizing work led to a loss of agency. Previously, new ideas took minutes to try with a roll of tape. Now they could take hours of complex configuration if they were possible at all. Why even bothering imagining new processes. The team developed a sense of learned helplessness.
Software ought to be the ultimate medium for free expression. We are not bound by the laws of physics. In practice, the structures we have today for creating software too often get in the way. For skilled developers, they introduce mountains of incidental complexity, making it far harder than it should be to build great user experiences. And for end users without much programming expertise, using a computer usually boils down to prefabricated experiences created by developers without much hope for modification. And then finally, the— this is the dream of malleable software, editing software at the speed of thought.
Obviously a bunch of the themes we were just talking about, but what you're implying here, and clearly what you've spent so much of your work on, is that as much as that vision you opened the conversation with is amazing, like, that's not really how software is. It's, it's that great irony. I guess my first question is like, Why is it so critical that these mediums or formats or tools or whatever they end up being be extremely reactive and editable in that like speed of thought type of way? And then maybe more personally, how have you edited your tools and your environments, whether it be digital, digitally or physically?
How has that kind of informed some of this? Speaker B: Yeah. Um, so first of all, I wanna say, yeah, you're quoting from an essay that I wrote with collaborators, uh, Josh Horowitz and Peter van Hardenberg at the research lab InconSwitch, where I, I work on this research vision. And I just wanted to say this is all— a lot of it is our collective thinking. And we have a lot of collaborators at the lab too who've contributed to the work that's gone into this. So it's by no means, you know, a solo effort.
Speaker A: That should be a good blanket statement on— I'm going to quote you a lot, but yeah, that— Speaker B: and that applies to, you know, the whole way I think about this is heavily influenced by a lot of other people. To answer your question, maybe I'll start with a story of modifying tools in the moment that actually comes from writing the essay that you're quoting from. So I was writing this piece and we have an in-house writing tool, collaborative writing tool that we use, and it's designed to be malleable ideally.
And the piece felt really long and we got some feedback, hey guys, this is way, way too long. It took— Speaker A: It's not a short piece, or at least when I read it, it wasn't. Speaker B: And we want to go go in depth and be rigorous, but also, um, we want to respect people's time and really be, be concise. And so I was trying to figure out why is it too long, like where's the fat? And I couldn't really tell from scrolling, it was just too long. So what I wanted was I realized I just wanted like an outline with a word count on each section so I could kind of feel it out.
And I guess, you know, maybe I could have gone to the App Store and tried to find some way of doing that, or maybe there's some website where you can do that, but it's not something that's immediately obvious how to, to find, you know. But it was a need that I had. So in our system called Patchwork, where I was writing this thing, what I was able to do is tab over to my AI-assisted IDE and say, hey, I want a view of the essay that I'm writing with an outline with word counts.
And, you know, couple minutes later, it's done. I run one command, and in our environment now, that is a new tool I have in my arsenal. That's running on top of the existing essay that we were already working on. And I can share that tool with all of my collaborators and we can have conversations around it. And as the essay updates, the tool shows the latest word counts, right? And so I think to get to the first part of your question, the reason that it has to be in the moment is so often—
Speaker A: By the way, how long did that process take that you just described? Speaker B: Um, I think it literally, it took about 5 minutes is my guess. Um, and there's, there, and importantly, there's two halves of that. One is AI code generation has unlocked tremendous velocity that wasn't possible before. But two, there's something that our environment has that I think a lot of AI coding tools out there don't have today, which is it's a story for composing smaller tools together into a larger workflow. So I could go into Cloud Artifacts and make a tool that can do an outline word count of a Markdown document, but then how does that access my existing document?
Do I like keep copy pasting it in every day? And, and what we want really is an environment where those new tools that we create so quickly actually have a place to live. Speaker A: Yes. Speaker B: In an environment, almost an operating system, you can think of it as where it, it's sort of expected that you're gonna be making new stuff constantly and integrating it together with stuff you already have. And I think— Speaker A: which is how the real world works. Speaker B: That's totally how the real world works.
Yeah. There's— Speaker A: you don't need an API to use your hammer in your work, a new hammer in a workshop. Speaker B: You can buy a new hammer or a new knife and bring it into your kitchen or your woodshop, and it instantly starts working together with all the other tools you already have. You don't go build a new kitchen. Speaker A: Yes. Speaker B: Every time. Right. And I think a lot of what we talk about in the essay is that the way that software is built today sort of assumes that like each company runs a kitchen where they make all the knives and they make all the spatulas and there's no ability to like go buy a different knife at the store and bring it in.
There's no ability to compose tools. And so that's sort of a goal that we're trying, reaching for with this environment. And the reason it matters So not every tool is, is possible to build in the moment. And it's, it's by no means like a universal thing that has to be true. However, there's a lot of things that are good ideas that if, if it was going to take me a day, I don't have a day to build that thing. I'm focusing on writing this essay. And so the, if I can—
Speaker A: In more, less than even between 5 minutes and a day is just like some amount of focus and like train of thought and friction and like all of this nuance that like you might be willing to go take 5 minutes, but an hour would break. Speaker B: There's a critical threshold there where if you can stay in flow and change something, then it becomes worth doing. And that's, I think, a huge— Speaker A: like a person in a workshop who might modify a tool while they're building something. Speaker B: Absolutely.
And, you know, woodworkers, I'm not a woodworker, but I've talked to woodworkers about, they call them jigs. You can build a custom thing to help you with one project. Speaker A: And yeah, yeah. I interviewed these, this couple CW&T and they're like, they're these industrial designers who just, their, their workshop is literally all, basically they build tools that they sell, but they mainly build tools for themselves. Speaker B: That's so cool. Yeah. And I mean, those, those custom personal tools, some of them might be easier or harder to build, but obviously there's a ceiling on like how much effort you're going to put into something that's not even, it's not, it's not a product that I'm shipping.
It's just a scrappy— Speaker A: Or by the way, you run the risk of becoming the optimized, like one of the things I was thinking about reading a lot of your stuff is the like classic Apple Notes bell curve meme. That's the downside. The, the, the downside case of being a tweaker type person is like you get overfocused on your tool and you stop focused on focusing on the work. Speaker B: Yes, 100%. And that's absolutely a trap for anyone who enjoys thinking about tools for thinking. You know, I guess in some sense, uh, I'm now on a multi-year sidetrack of building not just tools for thought, but a platform for building tools for thought.
Speaker B: Yes, 100%. And that's absolutely a trap for anyone who enjoys thinking about tools for thinking. You know, I guess in some sense, uh, I'm now on a multi-year sidetrack of building not just tools for thought, but a platform for building tools for thought. Speaker A: It's bigger than just you, which I think makes it a little more tolerable. Speaker B: Um, but yeah, I think you're— I like evaluating people's tooling based on their end output, not on how cool their tooling is, you know? And so, um, I'll, I'll take positive lessons from anyone who's shipping good things into the world, not from someone who has like the coolest Obsidian setup or whatever.
Speaker A: Yes, we love Obsidian. Speaker B: Yeah, I think we're both Obsidian fans, but, uh, there's, there's a correct amount of investment. Speaker A: I've spent a lot of time doing what you just described, thinking I was going to make a quick tweak with, even with ChatGPT and then getting stuck and yeah. Speaker B: Yeah. Speaker A: Okay. We're going to, we're going to come back to a bunch of the things you just said, but I want to stay high level for just a little bit longer. One metaphor that you referenced a bunch of times, I kind of continue to see coming up, is Alan Kay's, like, notion of popping open the hood, which I think is a really beautiful metaphor.
It's also a little ironic, given that I'm not sure most— if they drive, most people probably aren't popping open the hoods of their cars, or they're driving a Tesla and it's a frunk. Um, but the essence of it is beautiful. There's another metaphor here, which is like just exposing the seams of something. Conversely, I suppose, we live in a world that increasingly tells you you don't need to understand how a system works. You don't need to even see the internals, understand the internal dynamics. Arguably, that's what's happening to software right now.
Why— uh, Steph Ango, who I've interviewed, who I think you've— you're loosely familiar with, has a great essay on like, don't delegate understanding, that's playing with this a little bit. But yeah, what's your case, maybe in the specific software case, but more broadly, like why, why should we actually want to pop open the hood sometimes and understand how systems work? Speaker B: This question is plaguing me right now, so I'm glad you asked it. You know, um, as you alluded to, I think we're— AI is kind of a tricky moment because I think it's making more things possible without developing deeper understanding.
And so this question feels urgent. I think the, the reason that resonates with me goes back to— so you talked about Alan Kay, Popping the Hood. He wrote this great essay in the '80s about this idea of what would it feel like to pop up in the hood of software and what would you see? And the reason he wanted people to do that was that he wanted people to, he says he wants people to be able to edit their tools the way they edit their documents. It's, it's very directly this malleable software vision that we talk about.
And he says the way you're going to do it, here's how you do it. You have people use the thing, but then surreptitiously as they use it, they're accidentally learning how it works. And that's great because then the moment they think of something to do that they want to work differently, or if they just need to repair it or something, they've already developed that knowledge. Speaker A: Yes. Speaker B: And if you don't learn how it works as you use it, then the moment something is wrong, it's broken or doesn't work the way you want, you're starting from zero.
And I think that's a really lovely way to think about the value of understanding. I wrote a blog post about this metaphor called The Nightmare Bicycle, which touches on this. Big fan. Yeah, it's a, it's a, this lovely idea from this book called Changing Minds by Andy DeSessa, which I think is one of the best books ever written about computational thinking and the value of understanding stuff. Speaker A: It's also, when I initially, you mentioned a few times, I haven't read it, but I did a little more digging. My initial impression was that it was a software book.
It doesn't seem to be at all. It seems to be a book largely about education in like a, even in kids and sort of first principles thinking and this kind of idea? Speaker B: Absolutely. I would say that it's a book that falls into some of the tradition that Alan Kay started where programming isn't just about building apps. Programming is about developing your own mind. And I think De Sessa's work falls in that tradition. Seymour Papert and Logo are another reference there of the point of using the computer isn't to, yeah, it's, You, you being changed by it, your, your thinking being changed by it is the point, you know.
But anyway, to get back to this, this nightmare bicycle idea, he has this story where he says, you know, he had this nightmare about this, this bicycle, this hypothetical bicycle where the gear shifters are not numbers, they are buttons that have modes on them. It's like gravel mode, uphill mode, downhill mode, like what, like puddle mode, whatever. And It comes with this manual that says if you're going uphill, hit uphill or whatever. Speaker A: It's intuitive. It should be. Speaker B: It's intuitive. And he says, you know, you can imagine the product manager that came up with this because they would say something like, people can't understand numbers.
We need to show them how to use it. And the thing he points out is this might be fine if you're only sticking within the 4 buttons that are there. And then the moment you hit downhill on gravel. What do you do? Because those 4 buttons aren't teaching you anything about how it works under the hood. And so you're not developing a more general framework, a kind of physics. Speaker A: Yes. Speaker B: To think about what can this thing do and how do I make it do what I want?
And the thing is bike gears are actually not that hard to understand. Speaker A: No. Speaker B: Most people can figure it out just fine. And you don't even need math understanding really. It's just you get some experience with it and you start to feel how it works and you're gonna— Speaker A: You, it would be very hard to understand. My theory is having learned it a long time ago, it would be very actually hard to understand looking at a piece of paper, but incredibly quick while riding a bike, to tie it back to your— Speaker B: Totally, yeah.
And I think it's, um, it's kind of a really damning critique of a dominant design philosophy in Silicon Valley products. Maybe it's actually better to expose more of this mechanism so that people can again surreptitiously develop that understanding of the, of the innards, and then that has all these secondary benefits. Speaker A: Yes, you give the example of The microwave that has the popcorn button is another example of this. Speaker B: Yes, another nemesis of mine is the popcorn button on the microwave. Speaker A: A little less bad, but quite frustrating.
Are there, are there software examples that come to mind either on either end, either in the bad case or in the actually how bicycles are that are like intuitive in a really wonderful way that we maybe take for granted because we're used to them? Speaker B: Great question. I think there are some lovely positive examples of software doing it well. Spreadsheets is one that I always go back to as one of the greatest inventions in software history. And one of— there's a lot of different things that are great about spreadsheets, but one of them is that they, I guess, are made for accounting, kind of.
And maybe that was their initial nexus. Yeah, but we've all made spreadsheets for all sorts of stuff, right? You can plan basically anything on a spreadsheet just by throwing together some tables. You can do financial stuff like budgeting, but you can do a roadmap. There's all sorts of things you can do. And what's great about spreadsheet is it doesn't try to force any particular use case. It just gives you kind of a bag of ingredients and you, you learn how cells work. You may learn how formulas work. You learn how to color things in.
And with those few primitives, there's a lot of different use cases that you can serve once you start, start building up that knowledge. Yes. And the other thing that's great about spreadsheets that's related is you don't need to be a super expert to get started. Yes. Just like, you know, you can actually ride a bike without knowing how to change gears and it might be kind of, uh, difficult at times, but you'll, you'll power through it. Spreadsheets, you don't even need to know much about formulas to get started. And so I think that's, um, an example of a pattern that it's not just spreadsheets.
There are other examples of software that has this kind of, um, combinable Legos quality. I think of like Notion is a, more recent example that I like, um, Trello. There's, there's various products out there that have this, this quality. Speaker A: You have referenced this— I think the, the term originally comes from Web Straits— but this idea of computational media, which is at least adjacent or similar to malleable software, if not very related. I think to me at least, the spreadsheet feels like the quintessential example. I wanted to read that definition from the Web Straits page about it that I thought was pretty cool.
They say computational media is software that blurs the distinction between documents and applications and between developer and user. We define 4 principles that modern computational media should adhere to. It should be 1, malleable, so that the user can change shape— change and shape software to their personal needs. 2, shareable with others and enable collaboration. 3, distributable across a variety of heterogeneous devices and operating systems. And 4, computable, by supporting custom computation from within a document. I love that you brought up spreadsheets. You clearly obsess with them. I think I found your PhD thesis and you literally open it by saying like, all of this is basically based on the idea that like, why can't making apps be as easy as making a spreadsheet or using a spreadsheet, which is pretty amazing.
The other thing I think that's cool in there is that it, it has that element of the, of the bicycle, which is the learning curve is explicitly tied to using it. And it can be as usable by the most basic person as the most complex person. Are there other elements that you find yourself coming back to about spreadsheets that make it for the, like, the template for computational media? And maybe as an additional question, like, should we think about malleable software and computational media as effectively pointing at the same thing, or are there slight differences you would point out?
Speaker B: That's a great question. Um, I'll start with the first one. What? So, oh man, there are so many things that make spreadsheets great. Um, I think I really love spreadsheets. So here's, here's another one from the list that is, is really important that I think is also a quality of most good computational media is that they allow for informality. This is something that we're obsessed with at Ink Switch. We think a lot about how physical media like pen and paper are incredibly good at allowing informality. You can sketch anything.
And yes, even if you don't know quite where it fits, or even if you don't even know how to write it down in words, you can, you can express it. And then you can figure out later how to clean it up and categorize. Speaker A: That's the other thing, by the way, no APIs. Speaker B: Yes. Speaker A: Like, which is ridiculous, but like, uh-huh, real. Speaker B: You own, you own your information. Uh-huh. And digital media tend to be really, really good at formality. So a database of a million sales records is probably better to manage in software than in a filing cabinet.
Speaker A: Right. Speaker B: But they often are really bad at informality, at letting you express things before they're ready to be categorized or captured in, in a formal way. And I think this is really true of a lot of software, which forces you into premature formalism. Mm-hmm. Of how you think about something. So a concrete example is, We've, we've tried building a couple new computational mediums for different use cases. Uh, recipe management and travel planning are two of the big ones. And let's take, uh, a travel planning situation, right?
There are apps out there that will help you plan a trip. And what that means is you can ingest all of your hotels and your flights and all that stuff. And it shows you this pretty picture of what your trip is gonna be. And then it's like, okay, well, it's a pretty picture. It's a pretty picture. And it's like very nicely formatted and everything. And the mockup looked great. Right. And then it's like, okay, now I want to jot down a few notes about what's going to happen this day. Oh, and then I might be doing this one of these two days.
Oh, and here's a list of restaurants and ideas for things to do. And where do you put all that stuff? Often, you know, I'm thinking of apps like Kayak Trips or TripIt. There's others. They have a database schema. And if your thoughts don't fit into that schema for what they think a trip is, you're screwed. And so we developed, and this is me with collaborators Paul Sonntag-Egenomics and Obenauer, developed this computational medium called Embark where we said, okay, let's start from something that looks more like an Apple note or an Obsidian note.
And you're just writing stuff down about what you want to do and it's completely unstructured. And then can you gradually start giving it a little bit of structure, just as much as you need? So maybe you'll organize it by day and maybe you'll seperate out some things and maybe you'll, you'll tell the computer, you know, oh, this, this hotel, it's actually this Google Maps link. And so then your computer can do stuff with that. And it sort of goes from a very sketchy thing to gradually having the, uh, the computer be able to help you out more.
But it's very smooth and you never have to like hop into a specific rigid way of thinking, you know? And I think that's something spreadsheets are, are really, really good at. It also causes the biggest problems with spreadsheets, frankly, you know, you, you messed up the formula or like the table didn't, the range didn't get extended. And so there are, there are problems with it, but I think people often completely forget about those problems and try to, or about the good parts and try to, they try to solve the problems.
They say, you know, we can't run our business on spreadsheets. We need 10 SaaS products to do it for us. And they forget that actually the spreadsheet had these amazing benefits that you're losing, you know? Yes. Speaker A: Yeah. I think of, um, and I'll link to Embark, which, which isn't, there's, there's no, like, that's not usable. I dig, I dug around a little bit. Speaker B: Uh, we never, we've not publicly released it. Uh, we, there are reasons for that. Um, it's, and, you know, it's not intended as a commercial product.
I should say this was a research exploration for us where the goal isn't you can use it. The goal is we and you see the ideas and get inspired to sort of build a better computing fabric. Yeah. Speaker A: In any case, I'll link to it. And there's a vibe in it of you're comparing it to like 4 different windows of the travel planning thing. It's almost, I think of like, um, I don't know, we're sitting next to like one of these like boards where you can stick pins in and you can imagine like layering on more and more context as you go in this very bottom up way.
And it, it, it really makes me think of like the magical promise of computing is this like magical substrate that you can imagine like if you had a magic bulletin board that like as you stuck stuff to it, it updated, it would be really cool. And there's, there's little threads of that, which I, which I found pretty awesome. We're gonna talk a lot about the very tactical side of, of designing valuable software. But before we get there, one last kind of like high-level thing or philosophical thing I should say, which is a couple metaphors you use that I found really helpful.
The first is around Legos. You say it's very valuable to have someone think through an entire unified product experience and make it all fit together in a coherent way rather than having to put together pieces. So kind of a case for like the toy out of the box, but also, and you're, this is from an essay where you're talking about Foam, which was an early kind of Obsidian-like editor. You say, I think this is a neat way of creating value in software. The essential value of Foam isn't code. It's the opinionated curation of existing building blocks.
And so it's like, if one end of the spectrum is the prebuilt toy that comes out of the box, the other end of the spectrum is just like, you have to build it entirely yourself. Lego is like a cool metaphor. You've talked about it in the context of like, you can build exactly the Lego set that they tell you to build with the instructions, or you can go wild mode, play mode. Is the construction element of Lego still too much friction, maybe? Speaker B: Great question. I think this is a, a really important point where I don't wanna be misunderstood, which is that the vision of malleable software is not that everyone should build everything from scratch.
That would be a, an enormous waste of time. I think, um, other people are making great stuff. Often I have lots of apps that I use that are 95% perfect for me. I love them. I agree with the taste of the creator. However, I think the point of the Lego analogy is that when someone gives me a Lego set and I love 95% of it and I hate that that turret is in that position, it's no problem. I just take the turret off and move it and it's built out of pieces I already know how to use and I understand, and I can do that last mile tweaking.
And eventually, you know, maybe if I keep playing with this Lego set for a year, it might look pretty different at the end. But it's not like I started from zero, right? I think that's that's kind of a philosophy that I find, um, really could be applied more to software. Speaker A: Granted, I think it's worth noting, and we'll, we'll probably talk more about this later, Lego is one company and one very explicit design language, and there's a whole bunch of aspects. Speaker B: For sure. Yeah. There's a big tension there of, uh, they have an API standard that they adhere to, which is critical, right?
Yeah. Speaker A: If only there was a dictator who told us exactly. Speaker B: Yeah. And I think we think a lot about that problem ourselves of how do you, create the— the LEGO standard is very prescriptive and very precise, but it's also open-ended enough to enable a lot of stuff. And so how do you— what's the equivalent of that in software? I think also LEGO, you can mix and match. If there's a part of that set and a part of that set that are both good and you want to make, you know, a spaceship that has those wings in that cockpit, you can probably figure it out.
And the problem— one of the problems with apps is that, um, so there are certain app categories that I really care about that. Let's take email for example. I'm— I don't use email very much at work, but, uh, it is one of the big pains in my life. So I try to go to any lengths possible to manage it reasonably. And I think a lot of people maybe feel similarly. And I have found so many email clients that are 80% of what I want, but they're each a different 80%. And I keep thinking to myself, you know, if I could just have the categorizing algorithm from that one and the inbox view from that one, that would be the perfect email client.
Um, and I would even probably pay for both products, you know, just to have the ability to mishmash them like that. But, um, the way we build software today, that is not a thing. Speaker A: Not even close. Speaker B: We are so far from having software being built in a way where that is possible, like a Lego mix and match. And what it means is that basically I need to go all in on one company doing everything right and just go with their, their, their strengths and their warts. And I have, I have no ability to mix and match.
Speaker A: And yeah, it's telling that the kind of quintessential strategy for many people in software today is literally just, oh, I only use Apple or I only use Google. Speaker B: Yeah. Speaker A: Like that's the extreme, extreme of it. Speaker B: Totally. Yeah. And again, back to the physical analogy, I think there are a lot of non-software places where we have more modularity than that. We talked about the kitchen, you can swap in a different knife and a different cutting board and different pots and pans, and it's, it's a pretty modular thing.
And there are, there are levels to it. Like, maybe it would be a lot harder to change out the handle of the knife separately from the blade. So there are kind of nesting layers of this stuff. But I think in software we tend towards like these big monolithic things instead of starting from more modular pieces. Yes. Speaker A: The second metaphor of the two I mentioned, also from that foam essay, you say, but foam is more like a recipe than a final dish. A recipe tells a good combination of ingredients and you get to make the food yourself, substituting ingredients to your liking along the way.
And then one other quote, you say, yes, the restaurant food is truly better in many ways, and there's a role for restaurants in society, but I wouldn't want to live in a world where there— where no one cooks. And food is something we can only choose off a menu. Software is increasingly heading to that place. There's a few other kind of related ideas. You, uh, I love this little essay you link to about like an app can be a home-cooked meal. You have an essay yourself. You say your pie doesn't need to be original.
You're talking about like the notion of like every time you bake a pie, it doesn't have to be compared to every pie that's ever been baked, which is really beautiful and empowering and cool. And it ties a little to the Lego idea. If I were to be critical, I would say both Legos and home cooking are much closer, much more on the play or leisure end of the spectrum than the utility end. They're not as serious, at least in most cases. And so I'd love for you to riff a little bit on why you think malleable software also applies on this more serious end of the spectrum for people doing real work, people coordinating, people working on teams.
I think it's like, it's a little bit like the Apple Notes thing again, which is like, oh, serious people use Apple Notes instead of tinkering with their Obsidian or whatever. Speaker B: Yeah. You know, I think you're getting at an interesting aspect of malleability, which is that maybe there are two different reasons to do it. One is because you get better, more productive tools, or somehow you do better work sort of as a means to an end of an output. Speaker A: Which goes back to the importance of lightweight flow, lightweight edits.
Speaker B: Yes, totally. Yeah. Like there I was not trying to enjoy making tools. I was trying to make a good essay. Speaker A: Yes. Speaker B: And then there's a second thing, which is more about the inherent enjoyment or meaning we find from engaging with the world in a certain way. Speaker A: Yeah. Speaker B: I take your point on cooking home-cooked meals. I might push back a little and say, actually, home cooking is pretty serious. Like, it's the main way that most people feed themselves and what you feed yourself matters.
Yeah. And when you think about, you know, how are you going to eat in a healthy way? How are you going to have your kids have memories of a certain culture. This is— it's true, it's personal. And it's totally true that there's also an inherent— I enjoy cooking and I find meaning in the act. Speaker A: Maybe you're even meal prepping at the beginning of the week on Sunday. Speaker B: Yeah, yeah, it's great pushback, you know. But I think it's, it's, um, it's also— it is true for me that I would not be able to eat the food that I want if I couldn't cook at home.
I mean, maybe if I I like hired a personal private chef or something I could, but no amount of restaurant and meal kit is going to suit my needs. And I'm pretty particular about the food that I want to eat. I like food a lot. Speaker A: Right. Speaker B: And so I do think even in these smaller scale, more local and personal use cases, sometimes it is the case that the ability to tailor it to me is one of the most important things. And no amount of like professional skill at a mass production factory far away is ever going to make up for that kind of ability to make it.
You know, I cook for me and my wife and I know what we both like and I can kind of adjust things and make it so that something we're both going to love. And again, we've, we've tried meal kits and it just fails to deliver on that. Speaker A: Totally. It's a, it's a great pushback. There are a couple of threads there that I think we'll come back to. Both the notion that you know better for yourself than others and the notion that maybe we actually, in the software metaphor, might soon have a professional private chef that can cook for you, which I think is interesting.
I want to go a little more grounded first. Feel free to push back as much as you want on this, but as, as I was reading through and kind of thinking about this, I'm sort of seeing there is like two core buckets for valuable software today. One is designed Malleable software. So you could think about this as like a settings menu to a robust plugin architecture like Obsidian to something like spreadsheets, like native computational media. The other is like hacked, uh, malleable software, which would be like, you write a ton about browser extensions, but I think another great example would be games modding, which is really cool.
It seems that you are particularly inclined to the hacking category of things. I mean, I think you give a lot of love to both, both. Maybe I find the hacking thing particularly interesting. And so my question is, one, would you edit that, push back on that framing at all? And two, perhaps almost philosophically, do you think there's an opportunity to reclaim hacking in the broad sense, particularly in a way that makes it more accessible? Because right now I think it's sort of like a very small subset of people can hack.
And then for the rest of the people that it goes back to the root of the philosophy of all of this, which is that like, should software actually be something that anyone can tinker with? Speaker B: These are totally, you're absolutely right. They're different philosophies and I think they're both good, but they're really different from one another. And we think a lot about the trade-offs. The, the best thing about the hacking approach, the modding, the browser extensions is that you don't need to wait for the person who made the thing to give permission or to like set up the interface to hook into.
You just do it and you're, and they can't, you don't need their permission and often they can't even stop you. They might be able to make your life harder, but. Speaker A: Which you make an amazing point about. AdBlock is a super simple version of, right? Speaker B: Although I'll point out, I think AdBlock gets a lot of attention among browser extensions and it is the most popular extension. And there it's very adversarial. The websites like don't want you to do it and you're doing it. So. That is a thing.
And I think often it's not that the, the original creators of the app want to stop you. It's just that they're busy. So one, one analogy I think about in physical space is like, imagine, imagine if like every time you wanted to stick a Post-it on the wall, you had to call up the wall maker company and say like, can you install like a hook for me to add a Post-it note to the wall, please? Speaker A: Oh, you get, you have another example of just like painting your wall. Does the homeowners association approve of green?
If so, we'll apply it to everyone. Speaker B: If not, no. Yeah, exactly. And it would be so ridiculous to block tiny tweaks on the original creator, but we do that all the time in software. You can't change a single word. You can't change a single color. Speaker A: Totally. Speaker B: And I think what's great about hacks is that they're a way around that. And especially for tiny tweaks, you can often get away with just kind of like messing around from the outside without official support. As long as the platform is built in such a way that enables that.
This is something we think a lot about is, you know, browser extensions work because the Chrome team did a good job designing a certain interface. Speaker B: If not, no. Yeah, exactly. And it would be so ridiculous to block tiny tweaks on the original creator, but we do that all the time in software. You can't change a single word. You can't change a single color. Speaker A: Totally. Speaker B: And I think what's great about hacks is that they're a way around that. And especially for tiny tweaks, you can often get away with just kind of like messing around from the outside without official support.
As long as the platform is built in such a way that enables that. This is something we think a lot about is, you know, browser extensions work because the Chrome team did a good job designing a certain interface. Speaker A: It's actually both of those things at the same time. It's the upfront design decision that enables the hacking. Speaker B: Exactly. But it's, it's an upfront design decision at a lower level. Speaker A: Yes. Speaker B: It's a foundational platform that thought about this so that they did that once and then all the app developers don't have to think about it.
And this is, I think, a really consistent pattern in systems that I like for malleability is assume app developers don't have time to think about this. They're not anti, they're not pro, they just, it's whatever. Can you make it so that when they ship software, it naturally inherently is gonna be moddable? And I think the web platform is probably the best platform out there in terms of this right now. Much better than iOS, for example. And so I think that's really, that's really cool. There are problems too. Browser extensions have a lot of issues.
They break security and privacy are like a complete nightmare. And that's a big challenge for— Speaker A: yeah, it's telling. There are very few browser extensions. Almost all the best ones are incredibly lightweight. You give this amazing example of so much of what you're talking about in the, like the Bank of America, like checkbox extension, but it's, it's like stuff like that. It's not robust apps. And I think that's kind of illustrating the point you're making. Speaker A: yeah, it's telling. There are very few browser extensions. Almost all the best ones are incredibly lightweight.
You give this amazing example of so much of what you're talking about in the, like the Bank of America, like checkbox extension, but it's, it's like stuff like that. It's not robust apps. And I think that's kind of illustrating the point you're making. Speaker B: Yeah, there's a depth that— there's a, there are limits to what you can reasonably do hacking around from the outside. But again, like back to the earlier point, often it's 95% good. And what I need changed sometimes isn't that big. Speaker A: Yeah. Speaker B: It's just tweaking around the edges.
And for that, I think hackable software platforms are great. Something we think about a lot at Ink Switch is how can we do better than browser extensions? So what would it look like to create a platform that's even more malleable than the browser? And I think a couple aspects we think about are one, AI exists now, so everyone can code to some approximation and it's going to get more and more true. How would you design an operating system that people are using from the ground up, assuming that everyone's going to be constantly writing code, which is not the assumption that we started from in today's operating systems.
And second, at Ink Switch, we've done a lot of work around this thing we call local-first, which is a philosophy around owning your data. It relates to file, not app, which, um, Steph was talking about on your podcast. And that's another piece that for us fits in because one of the big problems with browser extensions is in cloud software, you don't own the data or the software. It's like running off on some server. And most, actually most things I want to change in websites can't be done in browser extensions. Because of that fundamental architectural choice where all of Google Docs is running on a server.
I don't own it in any meaningful way. And so we think about in our work, can you give people not only ownership over their data, but also ownership over the software in a deep way so that this hacking approach could be applied to any part of your software and you can change, you know, anything. Speaker A: Yes. Yeah. Many ways, a lot of this in practice is about making more stuff hackable and making hacking more lower friction, more possible. Speaker B: Exactly. Hmm. Speaker A: Now a quick break from the episode to talk about something for dialectic listeners from Hampton.
Hampton is a membership for founders and entrepreneurs that provides both in-person and online community for support, advice, and accountability in the founder journey. One critical part of being an entrepreneur is managing your own financial life. I think unfortunately for most of us, talking about finances, even with close friends, is a little bit taboo, let alone getting a more holistic view from a wider set of peers or people. So fortunately, Hampton surveyed over 100 of their members with net worths from $1 million to over $100 million and asked them a wide range of questions about their money, how they spend it, how they're doing with regard to their financial goals, what their quote unquote number is, how close they are to it, the timeline to get there, tactical stuff like risk tolerance, a breakdown across their investment portfolios, how much they're in cash relative to the year before, how much they pay themselves, how much they're burning monthly at each of those wealth ranges, even stuff like estate planning and philanthropy.
It's a fascinating dataset that Hampton's added editorial and commentary over the top on too. And it takes a topic that is typically opaque, or at the very least you'd only have a small handful of data points on, and gives a much more transparent different look at it. I found it really valuable to look through. And if you're interested, I've linked Hampton's 2024 Wealth Report in the description. You can also just go to com, click reports in the menu, and fill out some basic information to get the report. Thanks again to Hampton for supporting Dialectic.
Now back to the episode. I want to talk more about— to me, you are clearly a design-oriented person, and so much of this is about design. Whether it be at the high-level system type stuff we were just talking about or in the very micro. We already talked about the nightmare bicycle, which was one of my favorites. At root, so much of this thinking, the, the, the ideological and philosophical underpinning of this is basically the fundamental belief that people understand their own needs well and are competent, can learn, and should be trusted.
That's the kind of like simple explanation of the nightmare bicycle, right? It's like In some ways it's sort of like being paternalistic. It's saying like, I don't trust people to be able to do stuff. Another idea you explore here that I think ties into this is this idea of a smooth slope or a gentle slope. And in many ways, like the funny thing with the bicycle analogy is like, this is the great benefit of software is that it is adaptive. It isn't like you make one decision once on the handlebars and like, that's how it is.
The gears are the way they are. To me, there are sort of, it's almost like two slopes. In, in this kind of design space. One is a slope of agency or learning, which is like the bicycle or really any high skill floor problem, uh, problem. And then the other is a slope of malleability, which is like, how malleable should it be? Obviously those two things kind of like run into each other, I suppose. But I'd be curious for you to think about like, is there any world where you might actually like you want these thoughtful, gentle slopes, but you also might like over-design the slope of malleability such that it develops some of the elements of the nightmare bicycle.
Does that make any sense? Speaker B: Yeah, I totally see what you're getting at. So let me start by telling people a bit about this idea of the gentle slope and what it means. So we talk about this in our essay on malleable software, but there's this lovely paper by Alan MacLean and some co-authors where they They introduced this idea of the gentle slope, and the idea is you want to go deeper and deeper into customizing some system. And often in software, at some point you kind of hit a wall where it's basically like, past this point, good luck, you're going to have to learn to program or something.
And they call that a cliff because you kind of have to instantly learn a ton more stuff to make one more step forward. Speaker A: You make this point with the browser extension. It's either like you can use a browser extension or you can learn a crazy amount to be able to make one. Speaker B: Exactly. Making browser extensions is not easy, even for programmers. It's like, leave the browser, open some API docs, like write a bunch of code, like distribute it through an extension store. There's all these barriers. And the idea of the gentle slope is if you want to do something that's a little more complex or more involved, you should only need to learn a little bit more stuff or go a little bit deeper.
And we want to minimize the amount of upfront cliff learning that you have to do to get further. I think about this in the analogy of physical space. So obviously there's a big difference between moving a Post-it note, moving a desk, and moving a wall, right? Those are not the same thing. But I do think physical space often has a reasonably gentle slope in the sense that to move a desk, I don't need to hire a general contractor. I can ask my friend to pick it up with me and move it.
And as I get deeper into like crafting this space, there are going to be skills I have to learn and people I have to cooperate with, but there's kind of this like linear relationship. In software, I think the way that this analogy applies is like, it's as if you had to hire a construction crew to move a Post-it note or something. It's this very incommensurate, uh, like amount of effort invested versus like the thing you were trying to do. Speaker A: Yes. Yeah. Speaker B: Yeah. Speaker A: The only solution, like we only have one way of moving things and it's a, it's a moving team.
Speaker B: Exactly. Speaker A: You can't move it with your hands. Speaker B: It's like a, it's a backhoe or something. And so in the browser extension example, we think a lot about, okay, what are other things you could do to smooth that slope? So if I can make a theme and change a color in the browser, then I don't need to learn how to make a browser extension if that's all I wanted to do. Speaker A: Right. Speaker B: So there's— Speaker A: Yeah. The browser company explored some productizing some models.
Speaker B: I think that's a perfect example of take some part of what people want to do and make it easier to do and put and establish that linear, that linear curve. And It doesn't mean things aren't ever hard, and it doesn't mean you can magically do everything easily or that you can do everything yourself and that you never have to work with anyone. All it means is that easy, simple stuff shouldn't be ridiculously complicated. Speaker A: Well, and critically too, there's an, there's a broad idea that I'm a huge believer in that I think I originally sourced from this guy C.
Thi Nguyen, who writes about games and agency. And it's like, what a good game designer does is they make the ability and goal tension like consistently in the right Delta, like it's never too out of whack. Speaker B: Totally. And I love thinking about game design, um, as an inspiration for this stuff. I'm not a game designer and I sort of almost wish I had that, that skill set because I think those people are often doing some of the coolest work in terms of like what I guess we call onboarding.
Yes. Speaker A: Um, but it's, it's all agency. That's it. Speaker B: Yes. It's, um, they think a lot about how do you organically develop people's skills by staging the learning process into small bites appropriately and disclosing it naturally in the course of using the thing. That's where, you know, I might push back a bit on your idea of those two slopes of learning and malleability. I think they're, they're very related and they might be the same slope. Um, while you use the thing, you should learn more about how to use it.
And part of using it is changing it. That's just a natural progression. Speaker A: Um, but it's, it's all agency. That's it. Speaker B: Yes. It's, um, they think a lot about how do you organically develop people's skills by staging the learning process into small bites appropriately and disclosing it naturally in the course of using the thing. That's where, you know, I might push back a bit on your idea of those two slopes of learning and malleability. I think they're, they're very related and they might be the same slope. Um, while you use the thing, you should learn more about how to use it.
And part of using it is changing it. That's just a natural progression. Speaker A: It's a little paradoxical and it's not really how A lot of things are in the real world. It's this sort of unique part of software and it's an ideal frame of software that isn't always the case, which is I think what maybe is causing it to feel. Speaker B: It's definitely not always the case, but I think, um, it's, it's more like a person, like a per— Speaker A: as, as we, like a person is, we, we, this is a classic trope of like, we think about ourselves as always in stasis and as other people as static.
It's like, no, we're both reflexively changing all the time and software is as you earlier said in another conversation, like it's, it's a relationally dynamic medium, which is really important. Speaker B: Yeah. And you know, earlier you, you talked about computational media and blurring the line between document and application. And I think that's relevant here because in some sense, the problem is that we think of using and changing as two things that are separate, but with a document, like, are you using it or changing it? I don't know. It's a material and you're doing stuff to it.
It's just. One process. Speaker A: Great. Speaker B: Um, and I think software ultimately would be better in a lot of cases if it felt more like that. So you don't enter a separate mode to like change the software. It's just a natural part of, of using it. You know, when you think far future, imagine like, imagine hypothetically if we have a, an AI that can, in a snap of your fingers, tweak any part of your software instantaneously. Literally at the speed of thought. At that point, you know, what does it even mean to use a piece of software?
You might ask if a feature exists, and if it doesn't exist, it will materialize instantly on the fly, you know. And so I think we could see a lot more interesting blurrings happening as we figure out the cogent stuff and we figure out what does better foundations look like for this. Speaker A: You know what's funny is like, this is, this is how TikTok works. Am I training the algorithm or am I watching? Speaker B: Like, totally. Yeah. Speaker A: You wouldn't think about it that way, but it's very— Speaker B: I don't know how I feel about that comparison.
It makes me nervous, but yeah. Speaker A: I think those guys are masters at that notion though, of like incrementally moving you up a curve or taking you somewhere. It's, it's not even fully conscious. And again, maybe in a dark pattern. Speaker B: Yeah. Speaker A: And you could say the same thing about match-3 games in some sense. Speaker B: I think games are a healthier example to learn from, hopefully. Speaker A: I guess what I'm pointing out is there's a notion that like, this guy Gabe Laydon, who is a game guy, and he, he talks about this notion that like the, the only game in the future might be like a game where you open it and depending on how you play level 1, you end up in Match 3 or League of Legends.
Speaker A: I guess what I'm pointing out is there's a notion that like, this guy Gabe Laydon, who is a game guy, and he, he talks about this notion that like the, the only game in the future might be like a game where you open it and depending on how you play level 1, you end up in Match 3 or League of Legends. Speaker B: Yeah. Yeah. Yeah. Speaker A: And like, that's inside of, I think, what you're starting to point out. Speaker B: Totally. Speaker A: Okay. You referenced it briefly earlier, but one of the core parts of this most recent essay is this notion of tools over apps.
Uh, you say decomposing applications into composable tools. And there's a broad, it's not exactly the same idea, but there's a broad notion I think today that software is extremely like container first or container oriented, which you might even describe as sort of like the combination of the tool and the environment, like bundled together. You use a lot of these metaphors that think about allowing tools to be open and dynamic and free and move across different environments. The, the classic metaphor in the, in the piece being this idea of a chef's knife that you can carry around the kitchen.
There's one excerpt where you say a fluid workflow where all your tools, materials are always at hand is impossible in the world of big box applications. It's as though you have to carry ingredients from one end of the kitchen to another every time you want to use a tool. The other funny metaphor uses the, like, the avocado, avocado slicer, which you say like apps are avocado slicers, which is this ridiculous tool that I didn't even know existed that has like 3 parts that are all good at kind of slicing an avocado.
And your critique on the piece is like, you just learn to use a chef's knife. Like, you will be so much better for it rather than buying this stupid piece of plastic. There's some of this too, and you brought up Embark earlier, a few of these ideas you built, which is like creating sort of like little spaces for a set of tools to exist inside in versus the Nightmare of Google Maps and Kayak and Flight. And I was doing this this week. I'm trying to book some travel from Europe. It's like ChatGPT, like, does the flight exist?
That allow you to edit the medium while editing content, which I think is really powerful. There's just an excerpt on those two that I thought, thought was cool. You say both Potluck and Embark provide a gentle slope. They start out as user-editable content and layer on interactive behavior optionally and gradually. They also support tools, not apps, using documents as a substrate for composing tools. You can gather all the relevant information for a project in one document, and then all the tools in that document can easily access the context, and then you can visually compose tools within the document.
And so I guess my, my sort of interpretation of this is almost as though you're really talking— you're, you're certainly oriented around tools, but it's actually about two, two ideas. It's about creating substrates or environments and flexible tools. And like those two things are both pretty needed if the earlier thing is like the app is the integration of those two in a way that's bundled. Is that, is that the right way to think about it? Like, can they be thought about independently or do they— I have a bunch more questions, but do they need to be thought about kind of in that combined way?
It's both the kitchen and the chef's knife. Speaker B: Yeah. I think that's a reasonable way to split it up. And in some ways, designing the substrate or the environment might be the harder part. And, you know, the reason I think the reason we don't have this isn't just because someone was evil and didn't want it. It's because it's really hard to do well in software. Speaker A: Yes. Speaker B: And it has a lot, it comes back a lot to that stuff about formality we were talking about. A lot of the difficulties is when you represent stuff in a really formal way that's really particular to your way of thinking about it, then it's no longer compatible with the way someone else is thinking about it.
And that's very different from physical reality. Like, yes, an apple is just a thing. Yeah. Speaker A: There is already a defined substrate. Speaker B: Totally. Yeah. Speaker A: It's somebody decided on. Speaker B: It's a substrate someone who knows decided on and we all really understand it well because because we were, where our brains are wired to know what's possible in a substrate. And that, that's a, I think a really high bar that we might not quite be able to hit in software, but it's, it's worth treating that as a north star.
Speaker A: But we take it for granted that we're like the extreme opposite end of the spectrum. Speaker B: Totally. Yeah. Speaker A: It's just, there's no shared substrates at all. You, you're living on little islands. There's no, yeah. Speaker B: And so, you know, some of the sub-problems that I think there's been lots of really interesting ideas in computer science about how to solve these challenges, but I don't think we've fully figured out the answers yet is one, how do you represent information in a way that different tools can work with it even if they have different opinions about how to think about that information?
Speaker A: Yes. Speaker B: We did a project at Ink Switch called Cambria where the idea was, um, sort of letting different views of information coexist at the same time so that different apps could kind of see it in a different lens while having some shared underlying thing that they can both use. That's one problem. Speaker A: Yes. Speaker B: We did a project at Ink Switch called Cambria where the idea was, um, sort of letting different views of information coexist at the same time so that different apps could kind of see it in a different lens while having some shared underlying thing that they can both use.
That's one problem. Speaker A: This is basically just effectively another way to do what Stefan and the Obsidian guys are, or the local-first folks are doing with files. Speaker B: Absolutely. Yes. How do you, what's the file format? Speaker A: Yeah. Speaker B: And Obsidian is a great example where they've picked Markdown mostly as their, as their bet. And there's a lot of really good things about that, especially the fact that it's already in use, but that also prevents them from doing certain things. Right. Speaker A: And yeah, by the way, JSON has a bunch of benefits.
Speaker B: Totally. Yes. Every one of these formats, the, the big dimension that I think is, is the hardest to get right is how much structure and specificity and domain specificity do you want to encode in the information? So JSON is great. It's very general, can represent a lot of things, but it doesn't necessarily get you that much. Just saying it's JSON is like, okay, what, what are the fields in it? You know, I could have a Microsoft Word document. That's another file format. It's now open. It's very, very, very complicated because it's accumulated decades of the Microsoft Word feature set, you know?
And, and so I think getting the level of representation right is really tricky. I'm optimistic that AI will help here because one of the things that AI is really good at is translating information across formats. Yeah. Speaker A: You add in MCPs, whatever, right? Speaker B: Exactly. And also it's really good at interpreting less structured information. And so I think it's possible that maybe the, the shared substrate will be less structured, like it could be a folder of PDFs that all of our apps use because that's how the world worked before apps is like, it was all pieces of paper that we—
Speaker A: You add in MCPs, whatever, right? Speaker B: Exactly. And also it's really good at interpreting less structured information. And so I think it's possible that maybe the, the shared substrate will be less structured, like it could be a folder of PDFs that all of our apps use because that's how the world worked before apps is like, it was all pieces of paper that we— Speaker A: Yeah, we have OCR search. Speaker B: We have OCR in our heads and it's pixel, you know, like that's how it worked. And so maybe, maybe that works, uh, for, for, for tool composition.
I don't know. Anyway, data, data representation is one challenge. Also just like, how do you make user interfaces that feel good when they're made up of different parts? So if someone good makes an app that's, that's nicely designed, then it's, it's very cohesive, right? It all fits together. Speaker A: Yeah. Notion, Notion by default is way snappier than Obsidian, even as a very small— Speaker B: Totally. Yeah. They're very opinionated about their blocks and, you know, I'll note like they, they let you embed third-party stuff, but when you do, it feels really weird.
Like if I embed a TLDraw whiteboard in a Notion, it's really obvious that it came from a different planet. Yes. And. I think some amount of that is okay and inevitable. A sort of mishmash scrappy aesthetic, I think, is fine. And maybe something we should try to get more used to. It reminds me of like a house where someone actually collected stuff over 20 years versus a house that like some developer like designed and you can tell that it's— Speaker A: You know what I was thinking of is like, um, I went to Florence for the first time last summer.
Florence is Notion. Like it was, there were basically two design periods. It has the exact same design language and like, it's really cool, but the city is like trapped captain, this 1500s or at least the 1900s. And New York has problems, but it's pretty cool too. Speaker A: You know what I was thinking of is like, um, I went to Florence for the first time last summer. Florence is Notion. Like it was, there were basically two design periods. It has the exact same design language and like, it's really cool, but the city is like trapped captain, this 1500s or at least the 1900s.
And New York has problems, but it's pretty cool too. Speaker B: Another influence that reminds me of is, uh, what about old European villages? Often those— so this connects to Christopher Alexander's work. I think there's a way that things can be beautiful that's not top-down. And Alexander talks a lot about this idea of patterns that can compose so that there's coherence. Yes, it's not random. But also it's not all uniform and factory produced. I think that's a really powerful idea, not just at the aesthetic layer, um, it also goes deeper than that.
But you can get a ton of coherence out of everyone build your own house, but you know, here's the local vernacular, this is what a roof should be made out of, and these are the colors that we like to use because that's what we use. Speaker A: And there can be a lot of creative freedom inside those conditions. Speaker B: Exactly, exactly. And It's not quite what people call a design system, I think, which tend to be much more prescriptive and top-down. It's closer to an open-ended set of patterns that people intuit how to apply.
And I think, you know, we think a lot about— a crude way of saying it is, can you make the right 50 built-in UI components so everything has the same look and feel? That's actually sort of what macOS and iOS do. I was gonna say, they give you 50 components and like a 300-page book. Telling you what feels good and how, how things work in this world. Speaker A: In some sense, Apple, this is, there's a lot to critique about Apple, I would argue, especially in the platform level, but this is one of the things they're best at, is doing this in a way that both seems to be empowering to developers and somewhat cohesive.
Speaker B: Absolutely. I'm a huge fan of Apple products, which I agree with you. There's a lot to critique in the way that they're, I don't think that they value malleability very much, but I don't think they value developers very much. That is also true. There's That's a whole separate conversation, but, uh, they definitely value a cohesive user experience. And I think I don't like bad user experiences. I don't love Linux on the desktop because it doesn't feel good to use. And so I think there is an inherent tension between skilled professional designers crafting everything really well and people doing stuff on their own.
And the synthesis might be this kind of pattern language. Speaker A: Yeah. On the, on the note of the environment and substrates, any thoughts on how this is going to evolve in the sense of like, I don't know, you, you, I think you spent a little time at and written about Dynamic Land as one kind of extreme example, Brett Victor, like how substrates of the future, maybe an additional question to tack onto that would be that one thought I continue to have as you make all these wonderful metaphors is that software or bits broadly basically lack dimensionality, at least until we get to VR.
And so some of these like metaphors around the ergonomics and the malleability and spatial feel and even like the Post-it note, like they're good, but like they aren't totally exactly apt. So yeah, I mean, it's a very open-ended question and maybe just totally postulating, but any either stuff like Dynamic Land that you've seen or other examples or just kind of speculation on how maybe we actually might get more freedom in the environment substrate space as HDI changes. Speaker B: So Dynamic Land, for those who don't know, it's basically, it's sort of a room-scale computing experience.
And the way it feels is that you sit at a table with people and you think about stuff and you have magical materials on the table that come alive and do more than paper can do. Speaker A: That's sort of my bulletin board from earlier. Speaker B: Exactly. It's the magic bulletin board. Things start animating. You can run simulations. That's their vision. Speaker A: It literally just, I think it's like projectors on the ceiling. Speaker B: It is. Although, um, Brett, so first of all, you know, Brett's a huge influence on my work and actually one of my co-authors on the malleable software essay, Josh Horowitz, who I've also collaborated with in other ways, uh, worked at Dynamic Land and built a lot of their stuff.
It is projector based, but that's not the point. I think they would say. Speaker A: No, I'm just trying to fill in, like, people can look it up a video, but like what you just described sounds fantastic. Speaker B: I just know that they would be, they would be, uh, I think what that team wants people to focus on is it's a prototype of how the thing should feel. So it doesn't matter how they built it. What matters is, yeah, you have things coming live on the table. Maybe things are even moving.
Yes. Uh, automatically, you know? Speaker A: Yeah. I, I guess what I'm trying to clarify is there's no, you're not wearing glasses. There's no VR. Speaker B: No VR. Yes. Speaker A: It's in the real world. Speaker B: And I find that really— Speaker A: with pieces of paper. Speaker B: I, I, so I visited a few times and I, I was not involved at all in it, but I got to feel what it was like to be there. And the thing I found most compelling and awesome about it was you can sit around a table and make eye contact and I can see what you're looking at and I can point at stuff.
Speaker A: So cool. Speaker B: Uh, when we wanna change the color of something, we just can like scribble on it with a pen. Uh, they have some cool examples of leaning into physics. Like if you wanna make a, a spinner, just like make a spinner, you know, use a thumbtack and a piece of paper and that's your spinner, right? Speaker A: So cool. Speaker B: Uh, when we wanna change the color of something, we just can like scribble on it with a pen. Uh, they have some cool examples of leaning into physics.
Like if you wanna make a, a spinner, just like make a spinner, you know, use a thumbtack and a piece of paper and that's your spinner, right? Speaker A: Yeah. Speaker B: So it's this lovely, kind of starting from physicality. Speaker A: Uh, it's combining the two, the tension we've been talking about this whole time, like that this, that so much of your work is trying to make aspects of the digital world more like the physical world. And they're just like, let's literally combine them. Speaker B: Exactly. And I find that, I think it's a really bold and inspiring approach.
It's not what I'm doing partially because I work remotely, which sort of doesn't work with their, uh, you know, around a literal table vision. Yeah. But I think, I do think a lot about— Speaker A: I think it's fairly like, I, I think I read somewhere that Brett said he hasn't programmed on a real computer in a long time. Like he only programs in Dynamicland. Speaker B: I mean, that's pretty cool, right? Another thing that I find really inspiring about their research approach is they really have tried to live in the thing that they were making.
And that's a legacy that I think they drew inspiration from. Computing pioneers like Doug Engelbart, who I think they thought that the way you build a good thing is you try it out yourself for years and you really go deep on living in that space. And that's something we try to do at our lab too. Speaker A: Um, very Apple-esque. Brett, I mean, that's where Brett came from. Makes sense. Speaker B: For sure. It's prototype-based and experience-based. It's not theoretical. Yeah. We try to do that at our lab. We call it living in the future.
Sometimes it feels futuristic. Sometimes it feels like we took step backwards by accident, you know, but that's, that's sort of all part of it is, um, being accountable to make something that really works for you is I think a really important part of a design process. So I find that inspiring. Cool. Speaker A: Um, very Apple-esque. Brett, I mean, that's where Brett came from. Makes sense. Speaker B: For sure. It's prototype-based and experience-based. It's not theoretical. Yeah. We try to do that at our lab. We call it living in the future.
Sometimes it feels futuristic. Sometimes it feels like we took step backwards by accident, you know, but that's, that's sort of all part of it is, um, being accountable to make something that really works for you is I think a really important part of a design process. So I find that inspiring. Cool. Speaker A: We talk a lot about the sort of, to extend the metaphor, the kitchen. On the note of the knife and tools, maybe a simple or too basic question, but like, what is the difference in this context between a feature and a tool?
Like, uh, in, in Embark, a lot of those things you're describing, like you talk about them as all, there's all these tools that live in this spreadsheet. And granted, I would argue probably that AI is only going to collapse feature and tool in theory, but like, is there, is it worth distinguishing between those two? Or, or maybe more broadly, like, how do you think about what the object of what a tool is in this idea, assuming that you have different substrates and environments? Speaker B: One way I think about that is Maybe there's not a hard boundary, but there's a spectrum from something more like a feature to more like a tool.
And I would say an avocado slicer is more on the feature end and a knife is more on the tool end. And what I mean by that is, you know, the press release for the avocado slicer that they wrote before they designed it said, we have this person in mind. They're like a 32-year-old product manager at Google and they need, they're hosting a dinner party and they need to slice 10 avocados. We're going to make a perfect thing that does avocado slicing. And what are the stages of avocado slicing? And, you know, how can we make it so easy and so intuitive they don't need to learn anything to use it?
And it's very driven by like a, a problem in a specific problem, a specific scenario with zero attempt to generalize further. Um, and then a knife on the other hand is very different. I think it's more like a, it's a, it's a mechanism. It's like a It's an object for cutting stuff. Speaker A: You know what the, you know what the, uh, the avocado thing is, is more like an appliance. Speaker B: Yes. Appliance, I think, is a, is also a slippery word, but I agree that appliances are often closer to the, like, do one thing.
Speaker A: It's like, do the job for me so that I don't have to. It's like a toaster. Speaker B: Yes. Speaker A: I mean, in this case, not literally. You still have to do, but you could imagine an avocado slicer that is like a toaster, which is like, put it in the box and it slices. Speaker B: Yeah, exactly. And I think like when I, I think one of the qualities of a good tool is that you can do different things with it and you can keep getting better at it and learn to use it.
And there are good examples in software of this. You know, we've talked about some of them. I think parts of spreadsheets and parts of Notion have this quality of you learn this primitive and can apply it in a lot of different ways. Yeah. Speaker A: Programming language, even if you wanted to. Speaker B: Absolutely. Once you know a good programming language, you can do a programming languages are, you know, an advanced Lego kit, I think. Um, so totally. Speaker A: Yeah. There's one little bit where you mentioned one kind of non-obvious benefit of Substrate or environmental interoperability, or at least the notion of being able to bring your own client to something is being able to act.
It's not actually like the notion of I'm gonna try every notes app. It's that I've used the same thing forever. Like I've used the same code editor forever. Which I think is very cool. I'm curious if you have any personal examples of that and maybe more broadly, like what, what do you, we were talking about this a little bit. What do you makes a great tool? What makes it, what's like a chef knife of software or even just one that like you have gotten to go deep on and gotten to enjoy?
Speaker B: This is an aspect that I've come to appreciate more over time as like I rack up years. I think I used to be really interested in what's like the coolest new best tool that I could pick up right now and try, try them all. Speaker A: The mid-curve. Speaker B: Yeah, exactly. Yep. I've been through the curve. Maybe I've made it to the other side. I think something I really value now is thinking on decades scale in terms of longevity. Like what are tools that I plan to use my whole life and what's going to be worth investing in that's actually going to last that long.
Speaker A: And we don't think about— sorry to interrupt you. We generally, this is inside of all this, we don't think about digital stuff in this way. And only now that we've— people like, I mean, people around our age have been using it for a little longer, but like when you started, it was like, it was all new, or it was— the internet was new, right? Speaker B: Exactly. And now I'm thinking about where do my notes live so that I can use them when I'm 50? Speaker A: Yes. Speaker B: Uh, where do my photos— all the photos I've ever taken in my entire life are in this photo reel, and I think it's backed up somewhere.
And I, if Apple keeps being good, it should all be fine. But wait, is Apple going to be good in 20 years? I don't know. And a lot of the local-first file-over-app philosophy, I think, is applying this to your data. But I also think it applies to software. And there's a paradox in malleable software that I find really funny. There was a study that, uh, Wendy Mackay, who's an HCI researcher, did at MIT and back in like the '90s where she asked people, why do you change your software? And one of the top reasons was because they shipped an update and I didn't like it and I just wanted to keep it the way that it was before, which is hilarious.
And we've all been through this, right? Speaker A: Yes. Speaker B: And I think if you, if you come from a product mindset, you tend to think of those users as bad. It's like they're the ones who want to stay in the past and they don't want to learn the cool new stuff that we're shipping. Why don't you want to use our cool new stuff, man? But there's another way of looking at it, which is is if I own my environment and I like it the way it is, you don't get to come in and change it.
Part of owning a house is if you like the way the house is, you get to live there forever, right? Speaker A: And there are affordances, by the way, that come from having used this knife for 5 years or lived in this house for 5 years. Speaker B: Exactly. And sometimes software feels like I've been using this knife to cut onions for 5 years, and then one day I show up to cook dinner and it's like, hey, we've made a new knife, it's way better, try it out now. And by the way, we threw away the old knife, it's not there anymore and it's been deprecated.
And I'm Oh no, this is terrible timing. Uh, you could have been more polite, but also like, I didn't need the new one anyway. Speaker A: And so, yeah, I think that's, um, and we know these, we use these tools all day. You notice a gram of weight in a knife. Speaker B: Exactly. You cannot, it is not worth investing in learning the thing if it's not going to stay usable and stay predictable. And so I think it's, it's sort of an ironic thing that part of ownership is keeping things the same as well.
Speaker A: Yes. We texted about this a little bit beforehand, but one idea that ties into this tool and, and environment framework that I already briefly alluded to earlier, earlier is, is the notion of a container around code at all. And, and that sort of being what software or apps are today. I'm hesitant to make this only about AI, but it feels like the dominant kind of frame around it, which is We now have a world where you can ask a really smart— choose whatever metaphor you want— butler, assistant, appliance to just do the thing for you.
Capture intent. And like, I don't need to know how it happens. I don't need tools. I don't need apps. I don't need software. You have this, and this gets to maybe the tension here, but you have this line in one of your essays where you say chat will never feel like driving a car, no matter how good the bot is, which is great. And we were texting, you're like, Yeah, but also Waymo. Like, it's like we're almost moving from like, we used to drive and then we had cruise control. Now you just have Waymo.
And so I guess my question is where and when and why will we actually still have tools? And like, how do you think about where we're going as like the containers around this stuff start to dissolve? I think for what it's worth, one of the core things you're driving at in the tool framework at all, tools over apps, is you're sort of pointing at this, but like in a world where you can edit code at the speed of thought, you don't actually need to write programming. Like you don't need to program yourself.
You just ask the butler to do things for you. I have some of my own ideas. I think you're getting at some of them with the, the chat and driving a car idea. You have another example where you say like, what if ChatGPT produced a spreadsheet for you? But yeah, I'd love, I'd love your thoughts on like where containers and tools should show up beyond just intent. Speaker B: This is something I'm grappling with right now, and it's— we— I want to try to unpack it with you. I think there is a bit of a trap that I'm trying not to fall into, which is that I have a lot of creative friends who love direct contact with the work.
I think I'm sort of that way too. A simple way of putting it is I like writing words. It feels good to do that activity, right? Speaker A: Independent of the output. Speaker B: Independent of the output. Exactly. And that is a separate question from, do I actually need to be involved in the details to get the best output in this context? And I think unbundling those two things is like a vital first step to trying to figure out what's going on here, because from the perspective of providing economic value to the world, people— no one cares what I feel about doing the work.
It's about, is the output good? Speaker A: Yes. Speaker B: So to a first order, there might be something you can say, which is like, look, look, if the bot gets good enough, you can keep doing the thing as a hobby, but you don't need to do it anymore because the AI can just do it for you. So I think that's one possible stance. However, I do think that when you're trying to do certain kinds of creative work, being involved in the details is the only way to get to the unique output that would have come from you.
And there's just no shortcut. Speaker A: I would certainly claim that with writing today. But again, I could still be underrating. Speaker B: So I think it's obvious with writing. Uh, so writing is the, is the clearest case because writing is thinking. Coding is harder for me. A lot of, to take me, myself as an example, a lot of the work I do is prototyping user interfaces. And much of the code that I write when prototyping user interface, not only am I going to throw away the code, probably the code doesn't really matter.
What matters is how it feels to use. Speaker A: I would certainly claim that with writing today. But again, I could still be underrating. Speaker B: So I think it's obvious with writing. Uh, so writing is the, is the clearest case because writing is thinking. Coding is harder for me. A lot of, to take me, myself as an example, a lot of the work I do is prototyping user interfaces. And much of the code that I write when prototyping user interface, not only am I going to throw away the code, probably the code doesn't really matter.
What matters is how it feels to use. Speaker A: Yes. Speaker B: And so in that case, I'm finding a lot of use for AI in helping me do that task. I'm moving faster and I feel that I'm able to prototype and get to the interesting parts faster. However, I do sometimes wonder, oh man, am I accidentally losing opportunities to notice things? You know, in the process of AI is making a lot of micro decisions that I might have been more involved with before, and maybe if I had been involved in that decision, I would've had a spark of an idea that I'm not having now.
And so I try to monitor that and think about, you know, what's the quality of the time I'm spending? And I, one way I try to think about it is if I'm doing serious work, I don't think there's a way to reduce the amount of time that I'm spending on it. That's not my goal. It's more like, can I ramp up the quality of the time I'm spending so that every minute is like high leverage, focused on the important bits? Yes. And you know, maybe that's a way to get better results.
Yeah. Yeah. Speaker A: There's a, there's an essay I read a while ago called Reality Has a Surprising Amount of Detail. I don't know if you've come across it. Speaker B: I love that essay. Speaker A: That's great. And it, it's inside of, it's, I don't know, I, I, me editing this, I could have AI transcribe it. Well, I do do that. You can have AI, um, do everything. And yet I, I'm sitting with the same tension though as you, which is like, I don't know if it's just fear. I, I, I've actually, I used to work with lots of Twitch streamers and YouTubers and stuff, and they would always have this like, oh, I can't, I can't let somebody else edit the videos.
Only I can do it. And what they all eventually found is that like, no, you, if you actually take the time and train a person, you have more time. But yeah, it's, I think the question is, maybe we'll come back to, but the question is like, where do you want to, you don't get to spend a lot of your time on much, but where do you actually want to spend a lot of your time? Speaker A: There's a, there's an essay I read a while ago called Reality Has a Surprising Amount of Detail.
I don't know if you've come across it. Speaker B: I love that essay. Speaker A: That's great. And it, it's inside of, it's, I don't know, I, I, me editing this, I could have AI transcribe it. Well, I do do that. You can have AI, um, do everything. And yet I, I'm sitting with the same tension though as you, which is like, I don't know if it's just fear. I, I, I've actually, I used to work with lots of Twitch streamers and YouTubers and stuff, and they would always have this like, oh, I can't, I can't let somebody else edit the videos.
Only I can do it. And what they all eventually found is that like, no, you, if you actually take the time and train a person, you have more time. But yeah, it's, I think the question is, maybe we'll come back to, but the question is like, where do you want to, you don't get to spend a lot of your time on much, but where do you actually want to spend a lot of your time? Speaker B: Yeah. And I think One question that I've been trying to overlay on this is when is it worth it to get in the details and when is it possible to delegate?
Editing a YouTube video is a great example of a tricky case. I think the more variability there is in the output and the more subjective and taste-driven it is, the more important it is to be involved in the details, I think. And at the far extreme of this is something like art, maybe, which I'm not an artist, but I basically think humans being involved in the details of art is inherently part of the artistic process. And maybe on the other far extreme, let's go back to that Waymo example that I was, you know, lobbing at you, right?
Like often I just want to get somewhere and there's not any variability in the output. I know where I want to go. Yes. Driving the car, I'm not going to change my mind about where I'm going. So if I have this clear objective, it's verifiable and it's optimizable along like, however you can get me there. Cheaply and fast, I will take, and safely, I'll do it. Literally, it doesn't matter to me. It's a black box. I think in those cases it's appropriate to delegate because it's a closed-ended problem. I think about, this I think is sort of a roadmap for where I think AI coding is going to go, which is basically any subtask that has very clear criteria for what success looks like is going to be automated.
They're going to train models. Speaker A: Yeah, like no knowns, basically. Speaker B: Exactly. And, and this, this surface of specifiability, I think, doesn't always match what we intuitively think of as difficult, necessarily. So I might have a goal that's like, make this thing 100 times faster and make it 100 times cheaper to manufacture and make it 100 times more robust. Or I could have a more insidious goal, like make the conversion rate 10x. And these are clear goals that can be measured. And I think AIs will eventually figure out how to just optimize any metric.
Speaker A: It's a math problem. Speaker B: It's a math problem. And it might be really difficult by human standards to do some of those tasks, but we'll figure it out. And so the tasks that are left for me to work on are the ones where we don't know what the answer is. Yeah. Speaker A: On one last note on the container idea, which is one, one thing that I think you rightly got at, which is like, what am I, where do I want to go through the work and the complexity and use tools for my own purpose?
But on the other end, like, I'm curious what you think is just broadly going to happen to like software people use. Like, presumably people will talk about this world like you're just going to have a master agent that like, like, why do you even need user interfaces? Why are you still interested in designing user interfaces? Are you just designing for like hobbyists who are doing this for fun? Like, I don't think so. And so I'm curious, obviously that's like a really broad idea, but like, to what extent do you, what types of use cases and applications, like, and maybe a simpler way to ask this might be like, where do ergonomics still matter?
What, where are the cases where like chat isn't as good as, like, it's not a steering wheel. It's never going to feel the same. Speaker B: Yeah. I sort of regret the steering wheel analogy as a choice a bit because I think Again, maybe in most cases it doesn't matter that much where you steer. Maybe a better example is a chat will never feel like holding a paintbrush. I think we can sort of map this distinction we're making about things where the output is known versus unknown to input-output modalities in an HCI sense of what modalities are going to be best for the kinds of interaction we want to have.
I think if you have a fuzzy intent, and you want to say it in natural language and have something go do it, go do something for you, maybe natural language is a perfectly fine way of voice or chat is a good way of specifying that. I do think often on the computer to human side, text is not sufficient and we really want more visual stuff like showing on-demand interface. Speaker A: I was just travel planning on ChatGPT and it's actually not that a wall of text is not a good UI.
Speaker B: People know that though, and I think that will— Speaker A: We'll have generative UI. One other thought here that you get at with the, like, what if ChatGPT produced a spreadsheet is, like, chat isn't really a computational media, but presumably we're going to start getting— ChatGPT is going to start generating me UIs that I can play with on the fly or whatever. Speaker B: Totally, yeah, and there's layers there of, um, maybe we'll be making new computational media within chats and stuff. But yeah, I think Direct manipulation, by which I mean like clicking on stuff and moving things, this metaphor of like the screen has objects on it that you can think about, it engages a different part of our brain.
Precision is way more involved. You can point to stuff and there are big advantages there. I'm really excited about hybrid modalities. Like an idea that I'm obsessed with is hybrid voice and pointing. So I want to Minority Report style, you know, use my fingers and my voice simultaneously and say, you know, right. There's a famous HCI paper from decades ago that's called Put That There, where it's this really old demo, but this guy's just pointing at stuff and saying, "Put that there," and it moves it there. It's a perfect demonstration of the power of this hybrid modality.
I think that's going to be really cool. There's all these different mashups, but I think you can basically break the problem down into what are the pros and cons of each input and output method and what tasks are appropriate for them. And go from there. I do think, I will say, I hope we get a new operating system at some point. Speaker B: Totally, yeah, and there's layers there of, um, maybe we'll be making new computational media within chats and stuff. But yeah, I think Direct manipulation, by which I mean like clicking on stuff and moving things, this metaphor of like the screen has objects on it that you can think about, it engages a different part of our brain.
Precision is way more involved. You can point to stuff and there are big advantages there. I'm really excited about hybrid modalities. Like an idea that I'm obsessed with is hybrid voice and pointing. So I want to Minority Report style, you know, use my fingers and my voice simultaneously and say, you know, right. There's a famous HCI paper from decades ago that's called Put That There, where it's this really old demo, but this guy's just pointing at stuff and saying, "Put that there," and it moves it there. It's a perfect demonstration of the power of this hybrid modality.
I think that's going to be really cool. There's all these different mashups, but I think you can basically break the problem down into what are the pros and cons of each input and output method and what tasks are appropriate for them. And go from there. I do think, I will say, I hope we get a new operating system at some point. Speaker A: I mean, using the eye tracking on the Vision Pro was pretty magical. Speaker B: Yeah. Speaker A: It felt a little bit like what you were just describing, or like the Dynamic Land type of stuff.
Speaker B: Uh-huh. And I don't know. Yeah, maybe it will, maybe it will be VR/AR. I'm not sure. Speaker A: Yeah. Speaker B: I think AI might disrupt our way into a new operating system emerging. I really believe that the big deal isn't gonna be a new IDE for developers. The big deal's gonna be a new environment for users to live in. And so we'll see. Speaker A: Yeah. Speaker B: I think AI might disrupt our way into a new operating system emerging. I really believe that the big deal isn't gonna be a new IDE for developers.
The big deal's gonna be a new environment for users to live in. And so we'll see. Speaker A: Yeah. On that last note too, of precision, you, uh, you have a line where you say any creative endeavor where the person is reaching for greatness benefits from precise control. And then as Theseus or Linus, someone we both know, says, great creative tools allow for virtuosity, which I think is the— maybe that's in the creative sense, to your point, but like there's still a lot of room for that. One other bit about design that I found incredibly just interesting and surprising.
And the more time I spent on it, like resonant that you pointed out briefly is about empathy. And I suppose this is probably pretty different than most designers' view on design and most people's view on design. And as you said earlier, like the average sort of Silicon Valley orientation. Is a set of quotes that I'll read in full. You say, in some domains, the problem is obvious and the solution is really hard., the prompt might be make cheap, cheap, clean energy. The rest is engineering. But in my experience, most design is the opposite.
The hard part is understanding the needs and the solutions fall naturally, maybe with a bit of editing from a pro. In these domains, I believe empowered end users will beat external experts every time. I think it's possible to have great respect for the craft of design while also respecting the that people know their own circumstances and can learn to design quite well themselves. And then finally, perhaps most strongly, I'm pretty pessimistic that it's possible to design truly great software for someone other than yourself, especially if that person is operating in a complex environment.
You talked about it at the top of the conversation around designing for teachers earlier on in your career. And the, the, the root of this that I think probably comes up verbatim or close a few times is like, maybe we just need more people to design software. If you're right, if the hard part is actually understanding needs, why aren't more people capable designers? Speaker B: Yeah, you know, to, to fill in that backdrop a little bit, the, the, the story that led me to this conclusion actually was designing for teachers.
I was a designer-developer. We had a lot of former teachers on the team. We were doing the correct thing and talking to teachers and principals all the time. But I had never been in the classroom. And I always felt like, man, I'm just operating off of this, like, kind of hazy view of what a teacher's day is like. And I hated how I would constantly be blindsided by new things I hadn't understood about being a teacher that I think I would have understood if I had been one. Speaker A: You're like trying to understand the bicycle gears on a piece of paper.
Speaker B: Something like that. Yeah, exactly. I'm like, I'm, I'm reading like a book about it and I haven't experienced it enough. And, you know, a lot of it is like stuff that isn't part of the formal job specification either. It's like, when do teachers do stuff? Like, when are they on their computers? How much time do they have? Like, I know they're busy, but like, what exactly does that feel like? And it's just, I, I, there's all this design thinking stuff about maxing out your empathy and, you know, to, to To credit design thinking, I think one of the strategies people use is not only deep ethnographic embedding, but get as close as possible to actually doing it yourself.
So maybe some people might say, I should have gone and become a teacher for a year and then I would've been in better shape. And I'm sure that's true. But I also think to push it further, maybe 100% of teachers are not going to be good designers of software. But I do believe, and I actually know from talking to certain ones, but some of them are. Some of them combine the lived experience and the deep understanding with a certain way of thinking and a design mentality about improving stuff. And maybe let's say it's 10% of teachers.
How many of those people are currently empowered to do anything in their software worlds? Speaker A: Yes. Speaker B: Not many. Yes. And I, I sort of see sometimes the mission is like we have a 1% of people can build software today. We don't need to get it to 100%, we just need to get it to 10%. And that 10% is going to be distributed across every profession and every corner of the world. And we just need those local experts to learn enough to do useful stuff. Speaker A: I love this idea.
It also, I think, starts to get us to like, we've been talking a lot of theory, how this is like really going to start to improve in practice. Like how are we going to get more valuable software? I think we haven't talked extensively about like the multiplayer side of this. You frame it as sort of like communal creation. This idea of the local developer, the best version of this that I found was when you're talking about like the one guy in the office who makes, who is like great at Excel.
It's like, actually most people aren't great at Excel, but like, you know, a guy who can do it for you, which I think is great. There are two sets of quotes that I wanted to read that I think nail this. The first is just broadly on like the single player versus creating what I think you call malleable infrastructures. And there's even more fundamental reason to think of malleable— malleability through a communal lens. We use computers together. A product team needs a single system for tracking projects. A department at a hospital needs a single system for patient intake forms.
A community organization needs a single video for system conferencing. These communities are certainly not well served by one-size-fits-all applications. but the solution can't be every user for themselves. Malleability. Instead, malleability— malleable infrastructures need to help communities build and maintain shared solutions to their problems. And then on the local side, studying spreadsheet use at companies, Bonnie Nardi found local developers, amateur enthusiasts who could write bits of code for their coworkers and guide their team up a gentle slope of spreadsheets. Malleable software can look to examples like this. Clay Shirky termed this pattern situated software, describing how his students were able to rapidly build software for their communities by taking advantage of so— social infrastructure, or context-sensitive information.
On an even more intimate level, Robin Sloan memorably described how an app built for his family could be a home-cooked meal, as we talked about. Whether it's 1% or 10%, like, these local people, what do we need to do for them? How do we— you also talk about in this context of like increasing software literacy, which is really cool, like compared to reading rates or literacy rates in the past. But like, yeah, I guess what are the characteristics of these people? Are they basically your market? Like, what do these people need?
Is it everything we've been talking about? Are there specific frames you think about in terms of the person in the— Speaker B: Yeah, I love this term, um, local developer. Another one that I like, uh, from Alan MacLean's work that I cited earlier is software handyman, I think is the way to think about it. This like local person who's like, knows more than you. Yeah. Knows maybe a little, maybe a lot more than you, but isn't like some, they're not like a construction crew. They're kind of a, mid-tier person, and probably you could learn to do most of what they do if you owned a home and cared and learned it.
Right. Um, you don't need to be a super professional. There's kind of this, this middle zone, and I think that's where local developers fit in. Speaker A: Mm-hmm. Speaker B: You know, I think to, to your question of what do we need to do to empower them? So Bonnie Nardi, who's, um, an HCI researcher who's done a lot of foundational work in this field, including this book called A Small Matter of Programming, she, I believe, coined the term local developer and, and this work that was studying spreadsheet use. And they noted a couple interesting things about spreadsheets.
So we're going to add to the list of 10 reasons why spreadsheets are great here. So they kind of pinpointed what is it that makes spreadsheets good for working with local developers, right? So there was a couple things. One is that the novice person can still do a lot of it themselves. Like they can enter all the numbers and they only need to ask for help for the parts that they can't do. And when the expert comes in, they kind of work in the same shared space as what, as where the other person already was working.
So they're just entering formulas that you could have typed yourself. This is not like, you know, there's the zone you do and then the other person's operating behind some wall that you can't see. You kind of share the space and what that lets you do is there is education that can happen. Speaker A: Yeah, it's not magic. Speaker B: It's not magic. It's all there. And you can, you can pick up some of the formulas. You can read what they did and Maybe you can tweak it and then you can copy paste it next time.
And there's a lot of sort of, sort of like tacit transfer that can happen from coexisting in that space. And I think that is to put a point on it, like in software, often what you have is there's the, the lobby where you work, and then if you want anything changed, there's some hidden like boiler room somewhere, which is the code that you never see. And the developer might say, sure, we'll do that feature for you. And then they do it. And it magically appears, but you don't know, you can't see it, you can't edit it.
So I think what we need to enable the software handyman, the local developer, is actually not necessarily just tools for those people. We need everyone to be working in these spaces where you can more easily bring in help. And I'll note, so increasingly, you mentioned this earlier, that help could be AI. So I'm really enamored by this idea that the local developer could be your AI. And that has all these nice consequences where, again, the goal isn't that you delegate to them in the end. Actually, the goal might be that you end up not using the AI anymore.
If your local AI teaches you all the spreadsheet stuff you need to know, you don't need them anymore. That's actually, I think, a pretty cool endpoint. Speaker A: Yeah, it might be a little optimistic, but it's certainly possible. Speaking of AI, you say, you said, uh, well, hold on. Speaker B: I want to say one thing about that. Like, yes, I think often people respond to this vision by saying, man, this is like, you're being very optimistic about human nature. People don't want this, right? And I think If you're talking short term, you totally might be right.
I'm not sure. But if you're trying to make a startup that's going to make $1 billion by next year, maybe this whole thing is a bad idea. However, I really believe that people respond to their culture and their environment in terms of how much agency we feel. The way we're brought up really shapes the way that we act. And so one of the reasons I care about this is that I think if every teenager lives in their iPhone, and there you can't change anything in your iPhone, then the— there'll be a self-fulfilling prophecy of like this pessimistic view of people as passive consumers.
And I think there's a lot of forces in our society that are pushing us that way. And so anything that can nudge us the other way, I think even if it doesn't apply to most people today, it could contribute to a more positive feedback loop. Speaker B: I want to say one thing about that. Like, yes, I think often people respond to this vision by saying, man, this is like, you're being very optimistic about human nature. People don't want this, right? And I think If you're talking short term, you totally might be right.
I'm not sure. But if you're trying to make a startup that's going to make $1 billion by next year, maybe this whole thing is a bad idea. However, I really believe that people respond to their culture and their environment in terms of how much agency we feel. The way we're brought up really shapes the way that we act. And so one of the reasons I care about this is that I think if every teenager lives in their iPhone, and there you can't change anything in your iPhone, then the— there'll be a self-fulfilling prophecy of like this pessimistic view of people as passive consumers.
And I think there's a lot of forces in our society that are pushing us that way. And so anything that can nudge us the other way, I think even if it doesn't apply to most people today, it could contribute to a more positive feedback loop. Speaker A: Mediums shape us very deeply. I read, um, I read Neil Postman, Amusing Ourselves to Death, earlier this year, and he makes this argument about, like, obviously culture is being shaped by television, but his stronger argument is that we ourselves are being shaped in terms of how we think.
Yeah, you embody that, you know, in a line, you say customizing software in this way is an uphill battle because the tools and infrastructure that we use to develop and deploy software treat users as passive recipients rather than Active co-creators. Since you brought it up, let's, let's talk about it a little bit more. As I mentioned earlier, this is an agency story. I think at the end of the day, like that, you sort of have to believe in agency to be doing what you're doing. I am definitely sympathetic to like the environment argument.
The mediums affect people. I think at the end of your piece is where this came from. You're talking about culture and you're like, how do we cultivate a movement towards personal agency where people want to modify their environments broadly and digitally or physically? It seems like the world is like broadly moving to like, people don't want home cooking. They want DoorDash, like let alone software. Like, is there something at root that, is there a seed of agency that you are pulling on? Or you just think that like we're all plastic and you can push the, the pendulum either way?
Like maybe that's a more philosophical question at a very broad level. And if, if, if If so, like at the very least, what, what types of environments or constructs do you think are gonna make people— we want, we, we want our, let alone software, we want our entertainment to be automated. That's, that's the way things are going. Speaker B: Bleak, huh? I can only speculate. I don't know the answer. Speaker A: Or feel free to speak personally too, if that's easier. Speaker B: Sure. Yeah. I mean, I guess I have a sort of an axiomatic belief that most people are pretty plastic on this dimension.
And I think every experience that you have where you do something and it matters enforces the idea that what you do matters. And every, every experience that you have where you try to do something and you're not allowed to, or it doesn't matter. Reinforces the idea that what you do doesn't matter. And I think that loop can be really, really strong. And there's all sorts of, I've seen, you know, sort of cute ideas to take the DoorDash example, right? I've seen someone posted at one point a design that was like, it was like a DoorDash menu that had home cooking as like one of the options in addition to all the restaurants.
And I think a tricky thing is that in the DoorDash example, what you're fighting against is a, company who's incentivized to make you forget that delivery food is not the only option. They want you to think, oh, I have 1,000 choices. Yes. How great. Yes. What I'm supposed to do is pick one of the 1,000 choices and I'm good. Speaker A: Same thing with Netflix. Same thing with TikTok. Speaker B: Yeah. And there's like very strong and heavy forces pushing that. And so I don't know the solution exactly, but I think It's true of a lot of people that it's probably true of everyone to some extent that what you see on the menu and how people around you behave really, I think it's true of me.
I'll say I'll speak for myself. It has an effect on, I'm, I, I don't think I was always a particularly high agency person. And I think of it also as a trait that I'm constantly trying to get better at. And I have role models in my life where I see them doing stuff. I'm like, wow, I want to just do stuff more like that person. And I think a lot of it is, you know, The way the education system works, like get good grades, get into a good college, don't think too much about why you're here, is a philosophy that doesn't inspire a ton of agency.
Whereas, you know, an alternate approach of like, what's a project you want to do and why, and what do you need to learn to do that project, is a different way of thinking. And it took me, I would say sadly, it sort of took me like until late college or after formal education to realize. Speaker A: Same thing with Netflix. Same thing with TikTok. Speaker B: Yeah. And there's like very strong and heavy forces pushing that. And so I don't know the solution exactly, but I think It's true of a lot of people that it's probably true of everyone to some extent that what you see on the menu and how people around you behave really, I think it's true of me.
I'll say I'll speak for myself. It has an effect on, I'm, I, I don't think I was always a particularly high agency person. And I think of it also as a trait that I'm constantly trying to get better at. And I have role models in my life where I see them doing stuff. I'm like, wow, I want to just do stuff more like that person. And I think a lot of it is, you know, The way the education system works, like get good grades, get into a good college, don't think too much about why you're here, is a philosophy that doesn't inspire a ton of agency.
Whereas, you know, an alternate approach of like, what's a project you want to do and why, and what do you need to learn to do that project, is a different way of thinking. And it took me, I would say sadly, it sort of took me like until late college or after formal education to realize. Speaker A: I don't think that's, I think that's probably how the world works. For most people. Speaker B: And it felt a little bit, you know, better late than never. But I wish someone had, had started this loop for me when I was 15 and not 25.
Speaker A: And I think our school system is actually probably inversely correlated to this. You're probably better off if you aren't in a traditional school system to be— Speaker B: to, to click this 100%. I— the more I reflect on my school experience, the more radicalized I get against grades and a lot of the way education works because I think it is a very agency-robbing experience in many cases. It's tricky though. There's— I'm not saying there's a role for skill development and formal practice and stuff. I just think that, you know, I'll actually tell a story of, um, one of the things that got me to where I am right now was I did this little one-week retreat at this thing, at this place called Recurse Center, which is— they call it like, I think, a programmer's retreat or something It's basically, you're a programmer and you want a place to just go get better at your craft or think about stuff.
And it's, it's a room with a bunch of other curious, hungry people. And you go there and you do what you want to do. And there's like no curriculum. It's intentionally extremely open-ended. And part of that process, most people go for like 3 months, but part of the process is figuring out what you want to do and having some false starts and having some existential angst and there's a lot of like, it's nothing's being spoon-fed to you and it's very inefficient in that way and that you probably spend half the time in weird spirals.
Speaker B: to, to click this 100%. I— the more I reflect on my school experience, the more radicalized I get against grades and a lot of the way education works because I think it is a very agency-robbing experience in many cases. It's tricky though. There's— I'm not saying there's a role for skill development and formal practice and stuff. I just think that, you know, I'll actually tell a story of, um, one of the things that got me to where I am right now was I did this little one-week retreat at this thing, at this place called Recurse Center, which is— they call it like, I think, a programmer's retreat or something It's basically, you're a programmer and you want a place to just go get better at your craft or think about stuff.
And it's, it's a room with a bunch of other curious, hungry people. And you go there and you do what you want to do. And there's like no curriculum. It's intentionally extremely open-ended. And part of that process, most people go for like 3 months, but part of the process is figuring out what you want to do and having some false starts and having some existential angst and there's a lot of like, it's nothing's being spoon-fed to you and it's very inefficient in that way and that you probably spend half the time in weird spirals.
Speaker A: Right. Speaker B: But at the other end, what you get is this like renewed conviction and sense of like, oh, I figured out what I actually want and where I want to go. And now I'm super, super motivated to pick up these 10 skills that I need to get there. Yeah, because I've heard Yeah, and that's why I ended up going to grad school. I was not planning to do that and I realized, oh, okay, now I know. Speaker A: It's a big gap too, 5 or 6 years after school.
Speaker B: Yeah, I wasn't going to do— PhD is a terrible deal. You don't get paid much. You got to work really hard and write all this stuff. But I realized, okay, to execute this vision that I've come to, now I'm devouring these classes and books and stuff. For me, that, that sequence of like mess around, do it wrong, figure out what you— where you want to go first, and then get a coach to help you learn works way better. And I think school just like completely screws that up most of the time.
Speaker A: Yes, because you're not doing it for you. Speaker B: Exactly. Yeah, you're doing it for someone else's made-up sequence that doesn't apply to where you are right now. Yes. Speaker A: You— it's a little more tactical and less philosophical, but you've written about like how can we programming feel more like a video game. You have this like little blog post about like this Claude debugging, like GUI you built, like maybe that's one like very simple version of this. And it's, I don't think it's surprising at all that like lots of kids who are addicted to video games or Minecraft end up becoming programmers.
But do you think like, is that like one version of the type of like context or environmental way that you can push people more this way? Speaker B: Totally. I think an even better example of this in this context we're talking about is Seymour Papert, who's an early pioneer of constructionism and education philosophy around exactly what we're talking about. Do projects, don't be fed facts. He had this whole web of ideas around— He talks about how do you learn French as a kid? You live in France. Boom, it happens automatically.
How could you learn math like You just need Mathland, and if you live in Mathland, you'll pick up math. And so he thought— Speaker A: That's what video games can be. Speaker B: He thought of, yeah, and I don't know if he would call it a video game exactly, but he thought of designing these environments like Logo, this programming language. Speaker A: Yes. Speaker B: Not really to teach programming. Actually, his goal was more to teach math. And he thought that if kids lived in that place, sort of immersed in these concepts, they would naturally pick up what they needed in order to do cool stuff.
Like in that, in that, in Logo, it was like, I want to make a turtle draw a circle. That's really Awesome. You know? Speaker A: Yeah. Speaker B: And so I think that's a huge inspiration for me. You mentioned some debugger projects I've done. I think that's, that could be one ingredient. I believe that like being able to intuitively visualize what the heck is going on is really powerful as like one ingredient and feeling like you're, you're seeing it and getting it and you want to participate in it. It's literally being able to pop up in the hood and see something, you know?
Speaker A: Yes. Speaker B: And, um, a big pro— a big problem with software is that you can't do that. Speaker A: Yeah. Speaker B: When I was in 5th grade, my teacher let me take apart a vacuum cleaner and it was epic. I didn't really get what was going on, but it was just like, oh my God, I can unscrew this thing and see what's there. Speaker A: Lots of engineers with stories like that. Speaker B: Yeah. And I think kids, kids have a ton of agency from, from birth, I think.
And kids are really naturally curious. And I, I think a lot of this is just creating prepared environments where you can let that take its natural course and things will work out fine. Speaker A: On that note, especially given maybe the lack of connecting to the school part, at least initially, you seem to be someone who has like a very strong default towards like hacking and tinkering and experimenting. Where do you think that comes from? Maybe it was the vacuum cleaner, but— Speaker A: On that note, especially given maybe the lack of connecting to the school part, at least initially, you seem to be someone who has like a very strong default towards like hacking and tinkering and experimenting.
Where do you think that comes from? Maybe it was the vacuum cleaner, but— Speaker B: I don't know. I think I'm the kind of person where once I get an idea for how cool something might be. I just have to try it and see, and I'll ride that wave for like a day. Speaker A: Yeah. Speaker B: And I get kind of obsessed. And so I think I just enjoy that like first initial seed of something and playing out all the implications. And where does that come from? Speaker A: Because by the way, what you're tapping into, how do you induce agency?
You get somebody excited about something. Anyone will do anything if they're excited about it or they want something. But there's like a curiosity there that is like connecting in a way that like, this is what video games are good at, is like they help the kid connect in a way that they'll actually be motivated to do something. But I think that that's the question that like, I mean, obviously we don't get to choose what we care about, but I'm curious, is there even, have you found a pattern in the things that are attractive to you in that way?
Speaker B: You know, maybe one thing I'll say is I love, so I love it when work that I do changes the way that other people see the world or, or think about stuff. And to me, that part is really important. It's not just me doing something. It's like other people reacting to it. And I guess as a kid, you know, I would like make weird animated videos and send them to my friends and they would like laugh at them or whatever. And that was cool. I think now in the internet age, one thing I find powerful about living on the internet to some extent is you can just put stuff out there and so many people can see it and react to it.
And, you know, I think Twitter is a medium that we both participate in a lot and for better or for worse, for Seriously. Uh, but the for better part is like, oh man, I can, I can assemble the 100 people in the world who are wanting to nerd out about this super niche thing and we can talk about it and I can say something and people will listen if it's— Speaker A: Global show and tell. Yeah. Speaker B: Yeah. And that possibility of changing how people see stuff, it's just, I think I find that really exciting.
The idea that ideas matter and And sure, making things real matters too, and execution matters, but like ideas can be really, really powerful. And so it's just fun to get stuff out there like that. Speaker A: Yeah, there's obviously plenty of risk of over-rotating on this front, but like ideas maybe have never mattered more, which is a cool, cool thought. Speaker B: Maybe. Speaker A: A couple of things that I just wanted to hit quickly before we wrap up on the malleable software stuff. I brought it up briefly. The AI thing hanging over so much of this.
You had a tweet in March 2023. You said, if it seems likely to me that all computer users will soon have the ability to develop small software tools from scratch and to describe changes they'd like to make to existing software that they're already using. And then, by the way, one funny thing is that a lot of software is actually built like this under the hood. Engineers don't make things from scratch these days. They find libraries and assemble them into products where the seams are hidden from the user. You were talking about foam in the foam model.
The modules are exposed, giving me the power to open the hood. One view here would be that like all software is just going to be malleable because like all software is going to be amalgamated and not handmade. Like maybe that's optimistic or maybe that's likely. Speaker B: I disagree. I disagree. And, or at least I think that's not the whole story and I'll explain why. So in our essay on malleable software, we have this analogy. To try to make this point, which is imagine that there's no more home cooking like we've been imagining, and you can only eat at food courts.
So there's like maybe 200 things you could order, but that's the list. Hmm. AI is a sous chef. AI is this like maybe intern, maybe brilliant chef who you've now hired for $20 a month to help you out. You bring the sous chef to the food court. What are they going to do? They, they like, you, you're just still stuck ordering from the menu. They don't, they don't have access to the, the kitchen. Like the point here is that you don't control the production of the thing at all. And what you're handed is like a finished artifact.
Speaker B: I disagree. I disagree. And, or at least I think that's not the whole story and I'll explain why. So in our essay on malleable software, we have this analogy. To try to make this point, which is imagine that there's no more home cooking like we've been imagining, and you can only eat at food courts. So there's like maybe 200 things you could order, but that's the list. Hmm. AI is a sous chef. AI is this like maybe intern, maybe brilliant chef who you've now hired for $20 a month to help you out.
You bring the sous chef to the food court. What are they going to do? They, they like, you, you're just still stuck ordering from the menu. They don't, they don't have access to the, the kitchen. Like the point here is that you don't control the production of the thing at all. And what you're handed is like a finished artifact. Speaker A: This, sorry to interrupt you, that just to clarify that, uh, this shift doesn't necessitate more software being open source and that's why it's still the food court. Speaker B: Exactly.
So you're, you're jumping ahead a little bit. Yeah. My point, which is that like, there are other things that need to change in the software world to actually take advantage of AI. And yeah, software being open source is one of them. And it's true, I think if all software was open source and you combine that with the fact that AIs can code, that's a pretty good start. Because now if I want to change something, I just like theoretically pop it open, edit it, and I'm done. Yes. I still think there is more to the picture though.
Like, um, the more that you can do without coding, the better. There's a lot to figure out around like, now if I want to share my version of the app with you, like, how do I send it to you? And then how do we decide, like, are we going to keep using it together? Or are you going to go make your own Remix now? How does that work? Even open source is like, it's necessary, but not sufficient, I would say. Like, it's an awesome thing for the world, but if you've ever tried editing an app that you're using that was open source, it's not easy for a lot of different reasons.
Like even getting it running on your machine might be like hours of work. And so there's there's just all these barriers that I think I like to sort of flip it as like, how do you design for everyone having a local developer or a sous chef? Like assume they have— Speaker A: Or maybe even like a world star Michelin chef, but like who's still operating at home. Speaker B: Exactly. And the answer is like everyone has a kitchen. So like if all of my software was built in a way that I have little tools composing and, you know, back to the earlier story, like when I built that little tool while making this essay, we have a malleable environment where the whole point is that you do your AI coding and you take the thing it built and bring it into your kitchen and you combine it with the stuff you already have.
I think that's more of the ethos that we need to, we need to figure out how to do that well to actually take advantage of AI. Speaker A: It relates a tiny bit to the notion that we're all going to have like an MCP server. It's like, it is more of this sort of like, how do I create like my corner that can interop with the world? But like, yeah, yeah. Speaker B: I think you hit the nail on the head. How do you manage your own context? How do you manage all of your stuff in a way that you can, because AIs love context, they love knowing about you, but it's creepy that Sam Altman knows so much about me.
I want to have my own little thing that knows everything about me. I've made a personal assistant. My wife and I have an AI assistant that we use to help run our lives now that I made a couple months ago. The more it knows, the better it works. I want to tell How our weeks run, what food we like to eat, you know, when people are visiting. That's a lot of stuff. This pattern of like, you have your little world of stuff about you and you bring tools to it is a really powerful thing you're pointing to.
Speaker A: You're also, that, I mean, with your, the thing you're referencing, I'll link to it. You guys made, you made this little, little like Telegram butler who like speaks to you formally and like that probably is pretty dang close to the prototype of like what our whatever agent, like we are going to have intelligences that do stuff for us and that we're, we have intimate conversation with all these types of things. And it's going to need to be able to control and internalize your world. Speaker A: You're also, that, I mean, with your, the thing you're referencing, I'll link to it.
You guys made, you made this little, little like Telegram butler who like speaks to you formally and like that probably is pretty dang close to the prototype of like what our whatever agent, like we are going to have intelligences that do stuff for us and that we're, we have intimate conversation with all these types of things. And it's going to need to be able to control and internalize your world. Speaker B: It works. And this is an instance of malleability in my own life. Like, I love that I control how that thing works.
I know how it works. It doesn't do random stuff I don't want it to, doesn't change what I don't want it to. I can constantly add new stuff to it. And it's like I have a butler that I can train over time and make it do what I want and there's sort of no limits to what I'm allowed to do with it. And this is so different from like Siri or, and the crazy thing is I did this, you know, I had a baby last month and like this was like vibe coded at 2:00 AM with one hand.
Speaker A: Yeah. Speaker B: This whole project. Right. And the fact that I'm a soft, that I have software engineering training helped. It's not that anyone could do this right now, but the things you can do for yourself that are possible on the side are absolutely different than they were. And I think this cost-benefit calculus is like shifting really rapidly. Something I'm feeling in my own work, you know? Speaker A: Right. Yes. Two very empowering and interesting ideas there to me. One is perhaps what area will malleability be more important than like our personal super intelligences or whatever, like literally.
And number two, going back to the conversation we were having around agency and whether people are going to care is like, yes, we've come back to this theme that increasingly more and more things can be automated for you. But also we are moving more and more into a world where like more is the floor in this, the floor is getting lower and the ceiling is getting higher and like the possibility space is getting wider, which like if you just lean forward, even like the video game meme of like leaning forward in your chair, if you even lean forward just a tiny bit, like like, if, if the non-technical person couldn't vibe code that assistant, uh, 2 months ago or now, they definitely will be able to in 6 months.
And like, that ramp is just gonna keep going. Speaker A: Right. Yes. Two very empowering and interesting ideas there to me. One is perhaps what area will malleability be more important than like our personal super intelligences or whatever, like literally. And number two, going back to the conversation we were having around agency and whether people are going to care is like, yes, we've come back to this theme that increasingly more and more things can be automated for you. But also we are moving more and more into a world where like more is the floor in this, the floor is getting lower and the ceiling is getting higher and like the possibility space is getting wider, which like if you just lean forward, even like the video game meme of like leaning forward in your chair, if you even lean forward just a tiny bit, like like, if, if the non-technical person couldn't vibe code that assistant, uh, 2 months ago or now, they definitely will be able to in 6 months.
And like, that ramp is just gonna keep going. Speaker B: Absolutely. And man, I love what you said about these personal assistants are gonna have huge influence on our lives. This is already happening. Like, the Twitter algorithm affects my thoughts a lot. And that's one of the reasons why I think, for example, like Blue Sky, uh, pick your own, feed algorithm is a great example of a certain kind of malleability. Speaker A: Yes, yes, yes. It's a lever you have over how you want to live and the lever you have over the person who's literally hardwired to your attention and has a switch on it.
Speaker B: Exactly. Speaker A: Right now it's Elon. Speaker A: Yes, yes, yes. It's a lever you have over how you want to live and the lever you have over the person who's literally hardwired to your attention and has a switch on it. Speaker B: Exactly. Speaker A: Right now it's Elon. Speaker B: Exactly. And I think, I think a lot about my susceptibility to like the feedback loops in my life and how I can— I want to figure out my values, pick my feedback loops, and then have my loops support me in enacting my values, not like be constantly fighting.
Speaker A: Yeah, that's agency right there. Speaker B: That is absolutely, yes. And I, I think it's like, um, Odysseus tying himself to the mast. It's like, how do you set up the system in advance so you can get the outcome you want? Speaker A: And Bryan Johnson talks about this in an old essay. Now he's, he's gotten more extreme, but he literally was like, I revoked evening Bryan's eating privileges or decision-making privileges. Speaker B: Yeah. And you know, like that's not a choice I'm going to make, but I like that he can make it, you know, like he can set up that system for his life.
Speaker A: This is the possibility. Speaker B: Yeah. Yes, yes, yes, yes. Speaker A: My last question on this that we haven't really talked about that is a huge boogeyman around everything you've explored around malleable software and whether it can really happen is incentives and commercial incentives specifically. As we've talked about, you need toolmakers, you need infrastructure makers, you need kitchen makers, whatever, to explore all these metaphors. You need them to actually want to and be incentivized to enable this type of stuff. So you give the example of Chrome early on, like one decision made a long time ago enabled so much in the way of browser extensions.
Before we explicitly talk about the commercial piece, which is, is I think super important from a super baseline incentive standpoint, I've, I found myself coming across this a lot in technology where like there's a temptation to believe that like people will do something for an ideological reason. You run into this in crypto a lot. My favorite example is just like the great genius of Tesla was like, don't buy the electric car because you're like a tree hugger, buy it because the car is sick. And like, that's how you— same thing with fake meat, whatever.
You're not just relying on sort of ideology. What do you think the most compelling reasons— we're talking abstractly and it's probably hard to be too specific here. What do you think the most compelling reasons for toolmakers, app developers, infrastructure builders to actually think in this way, or at least read the piece and like want to buy into this? What are the ways that they should be selfishly incentivized to do this? Speaker B: This part's really important. And it's a, to be honest, I think it's a part that I have much less confidence on.
It's a less narrow technical question and it's a very tricky, almost economics question. Speaker A: Yeah, coordination problem. Speaker B: Yeah, I think though, there are some simple reasons to point out. So you're a software developer, you have 10,000 bugs in your backlog or 10,000 feature requests and you're in this meeting and your customer is saying, Can you add this feature that competitor B has? And if you don't, I'm going to go with them. And your answer is, well, we have restricted resources. We can't do it. Wouldn't it be nicer if they could just add that one thing they needed and stick with you?
Speaker A: Yep. Speaker B: And this is not like a new idea. Like plugin systems exist for lots of apps for precisely this reason that you can serve the long tail by basically outsourcing a bunch of stuff to external developers or even to users themselves. Speaker A: Else. Speaker B: So I think that's a win-win for users and devs if you, um, let people do more on their own so you don't need to do as much work. Speaker A: Or even in some cases you have a product like Obsidian where like the product in many ways fundament— like one of its main selling points is accessibility.
Speaker B: Yeah. Speaker A: Those are maybe less rare today, but they do exist. Speaker B: So Obsidian, I think what's interesting is that Obsidian takes it a step further, which is that it's a more open system because the data is portable. Speaker A: Yeah. Speaker B: Most plugin ecosystems have this catch, which is that it's a proprietary plugin ecosystem that's actually trying to increase the gravity around— Speaker A: the lock-in. Speaker B: The lock-in around a single— like, that's why it's good for the developer, right? But I think at the same time, that's, um, a lot of what damages— like, the reason apps are siloed is because each app developer is trying to hold on to their moat.
Speaker A: Yeah. Speaker B: Most plugin ecosystems have this catch, which is that it's a proprietary plugin ecosystem that's actually trying to increase the gravity around— Speaker A: the lock-in. Speaker B: The lock-in around a single— like, that's why it's good for the developer, right? But I think at the same time, that's, um, a lot of what damages— like, the reason apps are siloed is because each app developer is trying to hold on to their moat. Speaker A: Right. I mean, like, this is getting into the commercial part a little bit, but like, if I'm Notion or Figma, why would I possibly want people to use other clients.
Like my entire business is built on the fact that I have lock-in. It's not exactly the plugin idea, but that, that, like, it's hard not to stare at this stuff. Like Google Docs. Speaker B: Yeah. Speaker A: Maybe a little, like, that's not really where Google makes money. Maybe a little easier. Google has some of those, that ethos, but like most software, to the extent it's going to have a moat, it's not making the software anymore. It's the network effects. I want it to be less malleable, or maybe not malleable, but I certainly want it to be less interoperable.
In theory. Speaker B: Totally. I think if you look at what are the greatest success stories here, I think of like the web. Yeah, I think of email. So email is not owned by any company. The web is not owned by any company. There's players in this ecosystem that, you know, their email clients, their email hosts, there's different websites. And a through line there is that no one value captured the whole ecosystem. It was created in a context where like Tim Berners-Lee decided said, this, I'm not going to become a billionaire off this.
I'm just going to let it happen and try to not capture the value. And I think ultimately someone has to take that move of provide tremendous utility to the world in an open way where they're not capturing the value. And then other people can live on top of that. Speaker A: But what, what about, is there a, is there a more realistic template? I mean, yes, hopefully you have amazing things like that happen. Is there a more realistic template in just like commercial open source? Is that the closest thing we have here to commercial models that make sense here, which is like you're incentivized to build a relatively open, malleable thing in part so that it will actually succeed.
And by the way, you can, like a lot of open source companies, monetize laziness, monetize people hosting, like all these types of monetize being the best and first client for it. That, that was my best attempt in trying to think about it. Speaker B: I think it's a great comparison. I'm not sure if I'm reassured or terrified by that comparison. Like commercial open source is really hard to do well. And there's a lot of cases of people not getting it quite right and making awesome things and failing to make great business out of it.
So I don't know, but yeah, I think there's some comparisons there that makes sense. Like owning the code is not the moat. Yeah. Speaker A: We haven't talked about it a ton. You have been a part of a number of, at least a couple notable, interesting research-oriented groups. First MIT in your PhD, now Ink Switch. This is a strange, especially in maybe, obviously not broadly strange, although Ink Switch is pretty unique, but a relative to the world that you are often peripheral to and adjacent to, like most of the people doing really practical stuff in software aren't usually doing it at PhD programs, I suppose, would be my intuition.
I'd love for you to just talk about those two worlds and like why they've been empowering for you, how you think about, is research the right long-term place for you? Is it a temporary thing? Like, how do you, how do you think about that mode having done it now for, I would guess, what, 5, 6 years? Speaker B: Yeah. So I did a PhD for, I guess, yeah, 4 years. And then I've been at Ink Switch sort of throughout that and since, since finishing. Speaker A: And also just like what actually is Ink Switch?
Speaker B: Yeah, so great question. It's a bit hard to explain. Um, Ink Switch is an independent research lab. Um, it's privately funded and we sort of think of ourselves as bridging between academia and industry. Speaker A: Cool. Speaker B: So we're not a startup. We're not shipping a product today. We're not trying to make a huge return on a VC timescale. On the other hand, we're also not an academic. Lab. So we're not just interested in like figuring out the truth about the world. We want to change the way the industry works on, let's say, a medium-term timescale, like 5 to 10 years away, not 1 year away.
Speaker A: Cool. Speaker B: Actually, the genesis of the lab, the lab was, was started by the founders of Heroku, which was a successful startup. And they felt that, well, not to put words in their mouth, but my understanding is that they felt that a startup wasn't an appropriate vehicle incentive-wise for producing the outcomes they wanted to see in the world. And so that kind of gets to the way that I think about what institutions do I want to be part of or affiliated with. I think it's all about what incentive loops are the closest to the ones I want to be guiding my work.
And most jobs have strings attached and you just got to pick the best strings. Where's the money coming from? What does the money want to happen? On the one end, I think startups startups are amazing because they have such a good feedback loop with reality. If the thing is not useful, it will die and that's it. And I love that reality check. I think it's amazing. The problem is you can't dream beyond— it's really hard to sell something that people don't want yet, but that you think they should want or that you imagine this world where they could want it.
You just don't have time to play that out. And so on the, on the other hand, academia, I think often, you know, publishing papers is the main goal. The number of good published papers that you have is how your career is gonna be judged. Speaker A: Right. Speaker B: And I think there is a lot of problems with that, especially in HCI, which is the field that I like to say. Speaker A: Also, you're, as part of your thesis, I think you built at least 3, I don't know if you would call them apps, but like very real software things.
Speaker B: Totally. Yes. You wrote a nice thesis presumably too, but it takes a lot of work to do. I mean, you know, some of the problems I see with HCI academia are like, um, there's often sort of a separate conversation happening over in the academic world that doesn't influence what's happening in tech enough, I think. Speaker A: Right, right. Speaker B: There's great work happening, but often the transfer function is poor, I think. And especially when things are moving so fast, it can be hard. And there's also just, there are certain ways I think of the bar that a paper has to meet to be published is both too high and too low.
Like they care about rigor that I don't care about. But they also don't care if it's interesting, for example. Speaker A: Right, right, right. Speaker B: So what we try to do at Ink Switch is create incentive loops for ourselves that will lead to change in the world of the kind that we want to see. Speaker A: Cool. Speaker B: And so we try to think about, okay, you know, how can we change the minds of designers and engineers who are building software today? What artifacts can we put out into the world, like open source or spin-out products that people will actually use and build on top of?
For example, the lab has data layer called Automerge that is maintained as an open source thing that people can build software with and build on top of. It's part of the local-first movement is providing this as a public good to the community. So we think of sort of a portfolio of ways of influencing the world that hopefully nudge things the way we want them to. And our unique advantage is not that we're smart or talented or that we you know, although I hope that we are those things, it's sort of that we have a different structure, like, and the fact that we aren't VC-backed and being a startup allows us to go places that other people can't go.
Speaker A: Yeah. Speaker B: Allows us to think about what would be the substrate, not like what is the app. And I think that's, that's a cool opportunity, I think, to have a unique and like differentiated contribution to the space of ideas people are talking about. Speaker A: We briefly talked about ideas earlier and the importance of sharing them. Um, to what extent do you think about the near, medium, and long term around, like, I think your research and writing is deeply inspirational, uh, and presumably is having real impact, and that could continue to compound.
There's also a world where you could return to building production software, or however that's going to look in the future. You spent 5 years at a startup at the beginning of your career. How do you think about that set of— I'm not asking for your imminent career plans, but like, yeah, how do you think about that trade-off? Speaker B: Yeah, I love both sides of it. I probably want to ship to users again eventually. I don't know when. There are real trade-offs, and I think one of the biggest dangers of being in idea space is that I like to say, like, how often are you being slapped in the face by reality?
At a startup, it's every day. You go try to sell stuff, people don't buy it, and you're like, well, I guess that's not how reality works. And your mental model is being like, like really aggressively updated. Speaker A: Hey, you get that from tweeting too, maybe. Speaker B: That's— yeah, well, it's a different loop. Tweeting, you need to have cool, interesting, novel, insightful ideas for sure. There's like a thing you're optimizing. Speaker A: Um, it's not— sometimes not even novel. I think you need to say things that seem contrarian, but everyone actually—
Speaker A: Um, it's not— sometimes not even novel. I think you need to say things that seem contrarian, but everyone actually— Speaker B: yeah, that's, that's a perfect algorithm for— you've cracked the code. But so like In a way, I think that actually encapsulates, one way I think about my own work sometimes is, okay, I have put in the work and I know how to get Twitter likes. Does that matter? Is it aligned with the change I want? Sometimes, yes, there is value in knowing how to sell an idea and knowing how to get people to understand it, but I don't want that to be the only loop guiding what I do.
I think of you want a good mix of incentives driving you, and so something we're trying to do more at our lab is like have more loops with real people. We tried a project last year to have astrophysicists write science papers and do science in our tools. It actually didn't go that well. We, or we learned a lot. They weren't able to do it yet. So that was a slap in the face from reality, right? Yeah. Speaker A: Yeah. Speaker B: We have a project ongoing right now where we're trying to help kids collaborate better on game development and we're running tests with teachers and, uh, soon students in classrooms.
And that's again, you know, We are saying we want to make collaboration more accessible. Is it? Let's find out. You know? And so I think that's even in a more researchy sense, that's totally essential. Speaker A: Totally different topic, but you have a post on ChatGPT as a muse and not an oracle. I think it was pretty prescient. It was back in 2023. You said, I've been wondering though, if this framing is missing a different opportunity, the notion of ChatGPT as an oracle or, or, or search. What if we were to think of LLMs not as tools for answering questions, but as tools for asking us questions and inspiring our creativity?
Could they serve as on-demand conversation partners for helping us to develop our best thoughts as a creative muse? Any reflection on that piece? Slash, has— how has your use in that way evolved? Speaker B: I'm glad you brought it up. I've been thinking about it recently. I think it's probably, from my personal perspective, become increasingly true. I wrote that because I was frustrated by people thinking that an LLM was supposed to be used as like a fact database. When it's actually really bad at being a fact database. And I mean, they're getting better, but it's kind of a boring way of using them.
Speaker A: Andrej wrote that piece a while ago about like hallucinations being the point. Speaker B: Exactly, yeah. Some of the most interesting moments I've had with LLMs are treating them as a thought partner, just to kind of— sometimes if I want to talk to someone and there's— it's like late and there's no one around, and I want someone to shake up my thoughts and throw some new seeds of stuff into my thought space. An LLM can be a great way to get more entropy into my thoughts. And then maybe it's as simple as ask me questions.
There's this idea that I love from Gordon Brander, who has a great blog and has thought a lot about creativity. He points out that there's this deck of cards that Brian Eno made called Oblique Strategies. I don't know if you've heard of it. Basically, when you want to be creative, it's a deck of cards and you draw one and it has a very vague koan-like saying on it. Speaker A: My friend Sean has this deck, actually. Speaker B: I don't remember them exactly. It's like, flip it upside down or something.
And the point isn't that that tells you what to do. It's just, again, it's like a seed that intersects with the current contents of your mind to shift your perspective. And I think of what's funny about that is a deck of cards can do that. And an LLM is like, a super, super powered version of that thing. The bar is low for creativity support tools to shake up our thinking, and an LLM can probably do better than deck of cards. Speaker A: Yes, but the pro— one of the things I noticed in that piece that you're probably— my intuition would say that you are incrementally better than the average person at is, is prompting this type of behavior.
Obviously, so much of LLMs, as we talked about, is like adding in context. Any— maybe a simpler question would be, have you found yourself prompting more aggressively in this way, or have the models just gotten better at this in a way that you don't need to, like, guide them? Speaker B: I'm not sure. I think I probably still do the prompting reflexively, and I should test if I can remove it. A very common thing I do is just say, ask me questions before about what I'm thinking before telling me your thoughts.
A simple technique I like is give me 20 options, not 1 or 3. Because LLMs, I think of them as like the speed and the breadth of generation is a huge asset and they're really good at generating options and there's like zero cost to generating 20 options instead of 3. It's instant. Yes. Speaker A: With a person it would be super high. Speaker B: It would be super, yeah. Speaker A: And we're not used to that. Speaker B: Exactly. And so I love generating these long lists and then usually most of the options are bad.
Maybe there's one that's good or more often there's like parts that are good in a few of them. And I see this like, it's like we had a brainstorming session and there's like 50 post-its on a wall and I apply my taste to kind of like extract the best ideas from that corpus, you know? So I think that's another example of that. Speaker A: I like that. Speaker B: You can definitely get pretty creative with playing to the model's strengths. Speaker A: Hmm. Well, yeah, we could talk about that all day.
LinkedIn dive. You worked at Mubi from 2011 to 2013. Speaker A: I like that. Speaker B: You can definitely get pretty creative with playing to the model's strengths. Speaker A: Hmm. Well, yeah, we could talk about that all day. LinkedIn dive. You worked at Mubi from 2011 to 2013. Speaker B: Whoa, throwback. Speaker A: On designing the streaming platform, it sounds like. Speaker B: Yeah. Speaker A: They just raised $100 million from Sequoia. Speaker B: Really? I didn't know that. Speaker A: A billion-dollar valuation. Uh, yes, Andrew Reid at Sequoia.
Speaker B: I'm— you're— that's news to me. News to you? Speaker A: Uh, yeah. Any— Speaker B: Congratulations, MUBI. Speaker A: Yeah, I'm just curious. I like movies. I actually am not a MUBI user, although I've played around with it a little bit. Yeah. Curious. How did that happen? Any thoughts? I mean, that was a long time ago. Speaker B: Yeah. Oh man. No one's ever asked me about this in an interview. I have fun stories from that time. I was in college. Speaker A: English. Speaker B: I didn't know how to do much that was useful, to be honest.
I was looking for an internship. I think I applied to the big tech companies and bombed my interviews and they were like, "Yeah, you can't really program." And I was like, "Okay." So I found MUBI, which was this tiny startup at the time. I think it was under 10 people. They were based in London. What was really fun about my time there was everyone was too busy to me or teach me anything. Well, that's not true. I got great support when I asked people for help and they were really lovely people, but it wasn't like an intern program.
It was just, I showed up and there was a desk and I kind of sat there and was like, what can I do? And accidentally ended up working on really important stuff because there weren't enough people. Speaker A: I was going to say, did they have technology people? Speaker A: I was going to say, did they have technology people? Speaker B: They did. They did. Yes. They had great tech people. The part that I ended up helping out a little with I really don't want to overstate my contribution at all.
It might have even been net negative, honestly, if you've ever worked with an intern. Um, was they had this, the CEO had this really smart idea, which was it's hard to compete with Netflix because Netflix has a big catalog. Yes. And it's really expensive to license all those movies. So what if you competed on having a small catalog? And the way you do that is you focus on curation and taste, which MUBI already was doing. The key insight was everyone's tired of Netflix because you can't pick what to watch. There's too many options.
So he had this brilliant idea that was, we're gonna show you one new movie a day. It'll be there for a month, and if you don't watch it in that month, it's gone. It's off the platform. And so there's urgency created. So smart. There's people with taste recommending to you, and it was this brilliant win-win where users get a better experience and it's way more affordable for the company to license totally great content that they couldn't afford otherwise. And so. and it was like, you know, beautifully positioned against the, the existing player.
And so I got to have like a front row seat to like seeing that happen and see this company go through like, you know, some pretty, what felt to me like bleak times. I don't know. And to see that creativity kind of spark a reinvention of the thing was just really cool to me, you know? Speaker A: Well, yeah, they, I think they have 20 million users now and the CEO just got a crazy profile in Vanity Fair and yeah, go Effit. Speaker B: You'll have to go check it out.
I'm so glad they're doing great. Yeah, it's cool. Speaker A: Well, yeah, they, I think they have 20 million users now and the CEO just got a crazy profile in Vanity Fair and yeah, go Effit. Speaker B: You'll have to go check it out. I'm so glad they're doing great. Yeah, it's cool. Speaker A: You grew up a little bit in Japan and presumably go back there. It's one of my favorite places. And you have a Japanese mom, like, curious how Japanese culture or living there has inspired you, how you think about things, any, any influences there.
Speaker B: It's a big part of my identity. I spent middle and high school there. I love having been exposed to both S. and Japanese culture as a kid. Because they're really different. The level of care you experience in Japan is ridiculous. And I think a lot of people see this when they visit. It shows up in the cleanliness of the benches in the train station. In my experience, it's pretty hard to get a bad meal in Tokyo because even at the sort of like average place, they, they care, they give a shit, and they like, they lock in the details and they take pride in the work.
And it's really common, I think, in Japanese society for people to take pride in labor that might be considered low status in the US. The janitor has an important job to do and they're part of a society. Yeah, yeah. I had some really cool experiences. I, in elementary school, I was living in the US, but my mom would take me and my brother to Japan every summer and we would spend a whole month at a Japanese elementary school, which was so cool. And it's different. I mean, there's actually a recent documentary that came out about this, but you're serving lunch to your fellow students.
You clean the school. The students are running around the floor with rags. There's much more of— I mean, to the agency point and what we were talking about with education, in some ways Japanese education is worse in agency development, I would say. But in these interesting ways, it also has these glimmers of amazing developing a sense of responsibility and like membership part of a whole community that is like vital to, I think, holding the whole, the way the society works together. Speaker A: By the way, you think, I mean, you take the most extreme examples that seem just totally insane in Japan of like the, the little kids who are able to like ride the subway alone or whatever, or like the little kids in the little hats, like that, just like American society never support.
And it seems to be rooted in a great deal of every person in that society feeling like they have some kind of responsibility to care for it. Speaker B: Totally. On the theme of agency, there's, I think, a stereotype of Japan that's like, it's a bunch of salarymen, business guys in like boring meetings listening to their elders like tell them what to do, which is definitely partially true, probably. But there's a really vibrant culture of indie businesses and entrepreneurship and Like the restaurant scene in Tokyo is amazing because there's all these restaurants and bars that have like 6 seats and many of them, you know, many of them aren't famous and probably aren't the kinds of places tourists would go, but there's these tiny businesses and they're popping up everywhere.
And I think some of it's probably like zoning law or whatever. Speaker A: Well, one of the best things about it is the three-dimensionality of it. Speaker B: Yes. You go up to the 8th floor of the office building in the back of the hallway and there's like a hidden, there's so many cool like no sign, right? And there's a lot of reasons why is probably around the urban design. But I also think just there is an ethos, it seems, of like taking pride in your work and doing something not to make the most money.
And also like the goal isn't to delegate it or scale it. It's just like the person wants to run one bar with 6 seats and that's what they want to do and they're fine with that. Speaker A: The goal is to keep doing Yeah. Speaker B: And the goal is to do it well and do it excellently. I think that's, I think American culture, especially in tech, is all about growth and scale. Um, and there's something beautiful about that, kind of like keeping it small. Speaker A: Yeah. All about ends too, rather than means.
Speaker B: Mm-hmm. Speaker A: We were having a conversation at lunch before this about probably sounds like you, like I, are a person who is dispositionally someone who wants to do lots of different things. I'm curious how you have related to like various levels of depth in your life. We, we, we, it, I was going to ask about music, uh, because you seem to have a lot of instruments in the background of Zoom calls. It sounds like you play the cello. That's like one area, for example, obviously software has been another area, but you're also someone who's like not staying in one place totally.
Like I'm curious how you relate to maybe especially in the context of, of, of like the Japanese philosophy of like mastery. How are you holding that? Like, do you, have you found the right balance? Do you hope to have more mastery in the future? Are you trying to go wider or deeper? Speaker B: It's something I really struggle with. Yeah. I love doing different stuff. I hate job descriptions or like job titles. I think it's always so— Speaker A: We hate legibility. Speaker B: Yeah. I mean, people try to like, what's the difference between a UX designer and a product designer?
It's like, who cares? Just make it. Make great stuff and learn the skill set you need to do it, you know. Speaker A: Yeah, making stuff, by the way, I should add, is a clearly a really strong consistency for you. Speaker A: We hate legibility. Speaker B: Yeah. I mean, people try to like, what's the difference between a UX designer and a product designer? It's like, who cares? Just make it. Make great stuff and learn the skill set you need to do it, you know. Speaker A: Yeah, making stuff, by the way, I should add, is a clearly a really strong consistency for you.
Speaker B: Yeah, I do think like I respect masters of crafts a lot, and I think there are degrees to it of specificity, but I definitely aspire personally to master in depth a cluster of skills around designing, developing, writing and communicating that I think is sort of the bundle that I feel is necessary to do the work I want to do and see the change I want to see in the world. And a lot of, I think, a PhD program in grad school in computer science is actually, it's not about being a better programmer usually.
That's actually often taken as a prereq. A lot of research is about a bundle of skills that's like thinking, writing, reading, like reading papers is a skill. And yeah, making stuff and prototyping. But I love that it's this like coherent basket that you need to have. You kind of need to be a Mario in Mario Kart or whatever. Like, um, if you're well-rounded in all those places, you can do a great job at this craft. Yeah, this holistic craft. Speaker A: Yeah, I like that. You had a child for the first time very recently.
What do you know now that you didn't a few months ago? Speaker B: Oh man. It's been really fun, almost like more fun than I could have expected. I think the highs have been so high. I was telling you, like, it creates a really interesting perspective to know that there's this really important thing that matters most to me now, and a lot of stuff that mattered before to me, it still really matters but in a slightly different way. I can care about it, but ultimately there's something more important I think can sometimes be a, maybe a freeing way to think about something.
You take a little bit of the pressure off and, you know, I want to do great work. I want to change how the world thinks, but also like if I see my daughter smile and like play with her, that's a good day, you know? And so that's, that's been different for me. Yeah. Speaker A: Yeah, I like that. You had a child for the first time very recently. What do you know now that you didn't a few months ago? Speaker B: Oh man. It's been really fun, almost like more fun than I could have expected.
I think the highs have been so high. I was telling you, like, it creates a really interesting perspective to know that there's this really important thing that matters most to me now, and a lot of stuff that mattered before to me, it still really matters but in a slightly different way. I can care about it, but ultimately there's something more important I think can sometimes be a, maybe a freeing way to think about something. You take a little bit of the pressure off and, you know, I want to do great work.
I want to change how the world thinks, but also like if I see my daughter smile and like play with her, that's a good day, you know? And so that's, that's been different for me. Yeah. Speaker A: We were also chatting at lunch about you, you had observed like like there's something kind of pure in a pro athlete, like a basketball player, in terms of how— does what they do actually matter? It's just, just a ball, ball game. It's just a sport. But like, they're, they're perfectly honest about like how much they care about this thing, regardless of how like quote unquote important it is for the world.
And then we're also just chatting about like, your brother's a doctor, like an athlete, a doctor, like they know right away, they know when they're 20 years old, like what they're going to invest all their time in, what they're going to care so much about. And then you also, you tweeted, I think today, working with people who have high standards is tiring in the best way. So I was like marinating on that, like combination of ideas. We had also talked about my conversation with Nabil and this like notion of like, what are you going to care about?
What are you going to choose to care about? You only get so many things to care about. So yeah, I suppose my final question is, what else is tiring in a good way? Why? It's a little bit like what I asked you earlier, but why do you labor and tinker and experiment and iterate and push? Beyond the default. Speaker B: Yeah, I'll tell you the story of where that tweet came from today, maybe to get at this. So the secret is we're recording this before this essay about malleable software comes out.
You've seen a draft, but it's not done yet. And it's been a long, it's been a long process. We've been working for this thing, on this thing for months. There have been a huge number of drafts, and we're close, but we're not done. And one of the things that we believe at InconSwitch, and I think that I've learned from working with the people that I work with now, is there is tremendous value in just sweating the details and caring way more than everyone else. And it's hard and it sucks. And it's like you, you can feel the finish line get closer and then further away and closer and further away.
You just wish it was over. Speaker A: 90% done, so only have 50% left. Speaker B: Yeah, you wish it was over. And I think sometimes I personally fall prey to like whatever, just get it out the door, which is what the startup does. The startup, you don't have time. You just have to cut it and go and iterate. But one of the nice things about writing essays at a lab is that you can actually do it differently and say, "No, we're just going to wait until this thing is perfect and then we're going to put it out there and people will notice."
So that's something I've learned from some of my collaborators too is like every detail from the photography to the margins to every single word. The individual choices won't be visible, but you can feel when it's all there, and it's a very special feeling. I think you see that in Japan at a restaurant often, you know, to go back to that. It's incredibly rewarding to try to do that and aspire to it yourself, and it's, it's, it's tough, but having people around you who enforce that for you. And some of this is picking the right people around.
I've sent this essay to a number of friends who I really respect their opinions, and I've gotten some pretty like negative, or, you know, this part is great, but here are 10 deep flaws types of feedback. And it, it makes my day cuz it's like, this is so cool that I found people who I trust. And when I, when I read what they say, I nod and I, I respect their taste enough to say, okay, we gotta try again. And that's just really, I think, um, it's rewarding and it's something that I think I wanna keep getting better at.
Speaker A: Yeah. If you're gonna make anything, why not make it wonderful? Speaker B: Go for it. Exactly. I mean, Steve Jobs has a lot, has a lot of good stuff to say about this, you know, showing, I forget if it was Steve or Johnny, like showing people you care or expressing your care through things you make, I think is a lovely way to live. Speaker A: That's all I got. Speaker B: Thanks. This is really fun. Speaker A: This was wonderful.
Want to learn more?
Ask about this document