Goodbye Atom. Hello Zed.
This week weâre talking with Nathan Sobo about his next big thing. Nathan is known for his work on the Atom editor while at GitHub. But his work wasnât finished when he left, soâŚhe started Zed, a high-performance multiplayer editor thatâs engineered for performance. And today, Nathan talks us through all the details.
Matched from the episode's transcript đ
Nathan Sobo: But just from a personal perspective, itâs not like I surveyed the landscape and was like âLet me find a low-hanging fruit to pick.â It was much more the perspective of âIâve been trying to do this for 10 freakinâ years, still havenât managed to do it, and nobody else has either, and so I just have to keep going.â
Now, youâll have to talk to our investors for their particular motivations, but I can tell you what I told them, and really believe, in terms of what the market opportunity is today, in terms of - again, I think if I were in this for the money, I probably would have started like a crypto token, or something. That would have been a faster route to riches. But I do think it makes sense to build a business model around this.
And for me, the opportunity is really about how we all communicate around code. I mean, I worked at GitHub for nine years. I love GitHub, but I also donât feel like thereâs been substantial innovation, since pull requests came out all those many years ago. And I think it made sense at the time to kind of hang this social layer on top of the version control artifacts. I just think we can take it much further. I mean, thatâs what I pitched Chris on, to kind of get hired at GitHub, and we didnât manage to pull it off⌠But now I think, based on everything weâve learned, weâre actually positioned to do that.
[44:00] And so what I really want is a world in which having a conversation about any line of code, whether it was written a couple of years ago, or I just wrote it and I havenât even hit Save, is something that just feels like at my fingertips; I can @ mention a teammate, pull them in, and start a conversation, so that conversation is really growing over the entire codebase. Because again, you want to introduce a new feature - that probably interacts with some other layer of the system that you may not understand. Already, you need to start having a conversation. But do you do that on a pull request? You havenât even written one line of code yet. Youâre just trying to understand whatâs going on.
And so thereâs just so many things like that, where it would be a great idea to have a tool that really facilitates interaction around code, and it just doesnât exist. Like, I donât know what we did; weâd like paste code into Slack, or like cap things inside of backticks. Youâre talking about code that isnât even there, and then it scrolls off the screen, and itâs gone forever when someone else comes to the code and has the same exact question that you had. Or are you hopping on a Zoom call and now one personâs like dictating through the screen, like âOh, no, no, no. Okay, open this file; okay, now go to this functionâŚâ Whereas already in Zed weâve tackled the real-time piece of it.
When we want to just have a conversation about code, weâre doing that in Zed. Start up voice, thatâs not in Zed yet, so we still rely on an external tool to do the voice for us. But then Iâll just open up a submenu, invite one of my teammates in, and weâre following each other around inside the code, instead of trying to dictate through the screen, like âGo here. That â take thatâ, because the latency is so high, or whatever. Iâm just moving around, and theyâre following me, and then theyâre moving around and following meâŚ
I remember, when Mikhaila, an engineer on our team - she was like integrating the terminal into Zed; she was interacting with GPUI, and there might have been some APIs missing; she wasnât quite sure. So we had a conversation, and I toured her around inside the GPUI, which I wrote the majority of, and then I followed her, and she toured me around inside of the terminal code, and then I got a sense of what she was trying to do. And then I jumped back into GPUI, and we wrote the code, added the methods together that needed to exist for her to accomplish what she was trying to accomplish. Then we hop back into her code, which she knew much better than me, and used those methods. And within an hour, with a quick conversation, we accomplished what over pull requests would have taken a week, I feel like.
And so thatâs the level of fidelity that weâre looking to bring to interaction around code, starting with real time, but not confining ourselves to that. Thatâs, I think, the innovation opportunity; it just so happens that the primo kind of iPhone, Apple vertically-integrated product that delivers that experience in my mind is the tool in which the code is written itself. That you shouldnât be Command+Tabbing out to a browser; that that experience should be tightly integrated directly into the authoring environment, just like it is with Figma, or Google Docs, or these other disciplines, that the place to collaborate and talk about code is where you write it. So we have to build a great code editor. But luckily, I want to do that⌠So thatâs our competitive insertion, and thatâs the business part that we want to build.
If you want to use it by yourself, I want you to do that and do it without paying us a dime for it into the future. And I want to build a business around teams using this tool to be more productive by having a better mind meld with each other and being more effective in our communication. That funds the people that just want to use it by themselves for free, and drives more innovation into the code editor space than has ever been possible, ever been funded.