So this isn't final, this isn't what it's necessarily going to look like, but this is sort of the direction that I want to go in, where you have a space manager, so the space in this case is the thing that you gather around, the room for the chat app, the document for the documents app. And you can add commands and you can add collections and all that. So for a chat app, for example, we define a schema for what things look like, it's a chat, it has collections, one of them are messages, they have feels like anything you've seen before, and there's commands as well. So it sort of looks like a Redux thing, we have actions and they resolve to the same state. You could also, so this is key to the chat app, but you could also imagine, in this case I'll call it bunk docs, this is a Google docs competitor, where we have roles too, so an owner can do anything, an editor can do these things. I've toyed with a Yjs, do you know Yjs? It's like a multiplayer library thing, so you can use tip tap, but have multiple editors on the same thing, so I've written an adapter layer that puts Yjs onto this, and of course a document has metadata, we can add that, and we have commands again. And this is a demo of a test app of bunk docs running on the simulator and electron here. You get the drift. But just to say, anything's kind of possible, it's just a matter of structuring it in this special way. Do we see it to the end, I guess? Alright, that's enough. We get a little bit of tuna action. And emojis don't work.
Okay, well, so this is imagining Dropbox, the good parts, I guess. How it used to be, you just share a folder and anything you put in that folder you can have on all your machines and you can invite people to it. It's the same kind of thing. The space here is the individual folder, then use is a keyword for, sort of a middleware layer where you can use all the building blocks that we have built for our app as well. So we have support for like blob storage, and in this case, drive, which is hyper-drive, one of our modules, where you can get a drive and it's automatically shared between the participants. So we have files, we have commands, so on and so on. Here's a demo again of Dropbunk running on my machine and VPS. So we edit in the folder, we get an invite, we press the trackpad too hard, and then you can probably imagine what happens. It almost sounds like fun when you don't do it, when you show it.
OK, yeah, we join it, we go to the thing, click randomly. What's going on? Keys? All right, yeah, what happens next is I create files and they sync, you can imagine. You know files. Yes. So I'm calling this peer SDK, we don't know actually what to call it yet, because it isn't really a thing yet, but it's an effort that we want to do. Peer in this case is what you heard Dave maybe talk about yesterday, which is sort of the distribution layer and the runtime for much of this. Even down to deploying your app, it happens on peer-to-peer, meaning that it's unrestricted by firewalls and all that. We have some hole-punching technology, it's called, that finds a way through all of the common routers and everything. So that's really what peer-to-peer shines, when there's a case for if the Internet goes down, but people are still together, they turn on Bluetooth, they can still share the messages on Bluetooth, because this is the transport layer, all of the math behind it still works.
Comments