3 ms·
Note: there's no client-server architecture needed with things such as Figma since it can be done P2P. I'm just past the beginning stages of it. You can use a m
by melvinroest 7y ago
Note: there's no client-server architecture needed with things such as Figma since it can be done P2P. I'm just past the beginning stages of it. You can use a mix of WebRTC/WebTorrent's infrastructure to get a serverless (i.e. use WebTorrent's signaling services) for P2P. A library called Bugout [1] implemented it this way.
If you want to see an example of how it works, check out my side project Doodledocs. I modified the Bugout library a bit for performance improvements, but my project is using its concept on how to spin up a serverless (i.e. not your servers but those of WebTorrent) P2P web app [2].
[1] https://github.com/chr15m/bugout https://github.com/chr15m/bugout
[2] Doodledocs is a collaborative doodling web app that I created as a sideproject, so it is just a bit related to Figma. I didn't make CRDTs yet, since I want a simple doodle environment for pencil/eraser (+ simple web annotation/image annotation).
Link: https://doodledocs.com https://doodledocs.com (browsers tested: Chrome/laptop, Chrome/iPad, Safari/iPad).
- ggambetta 7y agoDoodledocs looks like a really fun project, I'll definitely take a look :) I didn't mention P2P or edit my comment at any point, BTW.
- melvinroest 7y agoHuh... weird, maybe I read into things. I also read the word "collaborative" somewhere. Oh! I see, I read "gatherhunterer" his comment as the top comment. I meant to reply to him, I simply clicked "reply" on the top comment.