5 ms·
Serverless collaborative editor using CRDT
- cakoose 8y agoProjects doing similar things: Atom: https://blog.atom.io/2017/11/15/code-together-in-real-time-with-teletype-for-atom.html https://blog.atom.io/2017/11/15/code-together-in-real-time-w... Xi: https://github.com/xi-editor/xi-editor/blob/master/docs/docs/crdt-details.md https://github.com/xi-editor/xi-editor/blob/master/docs/docs...
- codetrotter 8y agoXi editor seems so cool. I keep thinking I should try it sometime. And I didn’t even know it made use of CRDT. But every time I think to myself I should install it I just keep the tab open but don’t actually do it. Even though I use Vim and I write some Rust code myself, so you’d think I should check out Xi, and I think I should too but I just still haven’t. I’ve watched a lengthy talk from its author even, and I think that talk was nice too. Does what I am describing have a name?
- maddyboo 8y agoI feel similarly. I’m a heavy vim user myself, and while Xi intrigues me, I think the knowledge that I would lose my very personal vim configuration which is years in the making dissuades me. This is probably an indication that I’ve gone a bit too far with my vimrc....
- chalst 8y agohttps://github.com/xi-editor/xi-editor/issues/93 https://github.com/xi-editor/xi-editor/issues/93
- chalst 8y ago> Does what I am describing have a name? Well, it brings a picture to mind https://pbs.twimg.com/media/DvBhF5SXQAAJGBj.jpg https://pbs.twimg.com/media/DvBhF5SXQAAJGBj.jpg
- fro0116 8y agoAnother really cool project that makes use of CRDTs for collaborative editing is xray from the folks who worked on Atom: https://github.com/atom/xray#text-is-stored-in-a-copy-on-write-crdt https://github.com/atom/xray#text-is-stored-in-a-copy-on-wri...
- bigmanwalter 8y agoThis is amazing
- appsonify 8y agowhat is amazing about it?
- georgehm 8y agoHere's another one using WOOT (Without operational transform), which I read is a predecessor of CRDT - https://hal.inria.fr/inria-00071240/document https://hal.inria.fr/inria-00071240/document . It was fun implementing it. https://github.com/hmgeorge/woot https://github.com/hmgeorge/woot
- EGreg 8y ago“Wait, did you just connect a couple WebRTC browsers without a STUN server?” “Yeah, so?” “That’s against the rules, isn’t it?” “Screw the rules, I’ve got CRDT!” Seriously, though, how do the two browsers find each other without a STUN server?
- deleted 8y ago[deleted]
- kreetx 8y agoMy question too.
- EGreg 8y agoAnyone remember OPENPEER?
- kreetx 8y agoAre there any good resources to read up on this? I don't really recognize the name. The only thing I remember related to something similar was some windows program which somehow made peer-to-peer connections possible, supposedly through starting out using an external server first, and then somehow continuing in peer-to-peer mode. Never did find out how it worked. But since with any connection involving a public server and a PC behind a NAT the packets reach the PC from the NAT because the NAT kept state, so I theorized that this program set this state up in a way that two machines behind NATs could continue this conversation.
- thisacctforreal 8y agoLike this: https://owebio.github.io/serverless-webrtc-chat/ https://owebio.github.io/serverless-webrtc-chat/
- aruggirello 8y agoWhat if you're behind a firewall BTW? Would CRDT require forwarding ports?
- cetra3 8y agoI'm assuming there is no source for this?
- cjg 8y agoIf nothing else, you can "view source" on the page.
- deleted 8y ago[deleted]
- deleted 8y ago[deleted]
- nsavant 8y agohttps://conclave-team.github.io/conclave-site/ https://conclave-team.github.io/conclave-site/ Back in 2017, a couple fellow students and I created something very similar as our final project in the coding school we attended.
- alangibson 8y agoAnyone wondering why this is cool or what CRDTs are, I'm maintaining a list of Awesome CRDT (tm) resources: https://github.com/alangibson/awesome-crdt https://github.com/alangibson/awesome-crdt
- HugoDaniel 8y agoAwesome stuff! thanks :D
- chalst 8y agoThis article has led me to Shapiro & Preguiça (2007) https://arxiv.org/pdf/0710.1784.pdf https://arxiv.org/pdf/0710.1784.pdf The whole idea that commutativity gives you a better-behaved transition to consistency reminds me of how the theory of patches gives DARCS/Pijul better handling of branches than Git. Cf. Mimram & Giusto (2013) https://arxiv.org/pdf/1311.3903.pdf https://arxiv.org/pdf/1311.3903.pdf
- deleted 8y ago[deleted]
- scofalik 8y agoCongratulations on providing a serverless solution. How do you think CRDT would fare in a tree-structured data model? We went with OT and server architecture because it seemed more reliable. You can read more about our solution here https://ckeditor.com/blog/Lessons-learned-from-creating-a-rich-text-editor-with-real-time-collaboration/ https://ckeditor.com/blog/Lessons-learned-from-creating-a-ri....