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.
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.