And this is, again, just a conceptual API. This isn't what it will probably be when it launches. But it should be as conceptually simple as starting up, making a new room constructor, and being able to connect to it without having to worry about using Redis as a synchronization thing, et cetera.
Further, the things that you want from a system like this are that it should be fully type checked, I want to be able to run it locally so that I can mess with it a bunch. I shouldn't have to log into a service to use it. I should be able to write tests on it from 9 to 5, and go home afterwards instead of worrying whether it's breaking. I do not want to have to be on-call for an application that I wrote. That's one of the nice things about being a front-end developer, as well. We don't really have that much on-call, on-call, and if there's a problem, you just flip back to your older JavaScript bundle.
Simple things like zero ops deploy. Can I click a button, run one command, and deploy it across the world? Can you generate a preview server per PR? So can I produce the entire real-time system so that when somebody sends a PR to the project, it spins up a thing, you can test it, make sure it doesn't break before it lands? These are things that the library and the code, the platform, should provide to you. It shouldn't be something that you build yourself. Really what you want to do as a developer is you want to build collaborative experiences, the thing that you actually want to build and ship to your users, your next Figma, your next Discord, Quake 3 game, whatever. You want to focus on what makes your app great and you want to pay only what used. In fact, part of it is you want to measure what your users are using and pass that cost onto them as well.
So I'm happy to say that we actually sort of got this working. And I want to give a big shoutout to TLDraw. I've actually been incubating this inside TLDraw. If Steve is in the audience somewhere, hi, thanks, Steve, hey, Steve's the best, bother him about it, great little app called TLDraw.com, working on Rewrite and fairly quickly we were able to introduce multiplayer mode into this application. And it's great because basically you just to say, hey, here's a link, here's a link, multiple people can join onto it and it's the GIF playing, I do need to click the GIF to make it work. And conceptually you can imagine that this is happening in two different geographical locations completely, but please note that there are 60fps updates happening in real time. This is actually really hard to do with existing systems and existing third party services right now, so the fact that we got this working is awesome, I feel like this project actually does have a future. I was worried, I was doing a bunch of false bravado talking to them, yeah, yeah, we'll solve it, we'll like ship it, don't worry about it, and incredibly worried. But the fact is that it works and I'm excited that A, we were able to do it quickly, simply, and we're not, and the code is about 300, 400 lines of code that happen to do this. So I'm extremely happy and grateful to Steve and Diedra for letting this incubate in there. So this is releasing in early 2023, I want to make sure it gets into all your hands by then. Feel free to reach out to me and be nice to me if you want to see it before that, because I'm already showing demos around to everyone who will ask me about it. But what I want to point out is that I'm doing it differently this time. I'm not working twelve-hour days seven days a week. This is a picture of the Hampstead Heath Pond that me and Yanni go swimming at in London, and it's amazing.
Comments