5 ms·
Cool concept, but note: I just tested this, and it is NOT a google docs alternative - it has no realtime sync (or at least, it wasn't working). I work extensi
by marknadal 9y ago
Cool concept, but note:
I just tested this, and it is NOT a google docs alternative - it has no realtime sync (or at least, it wasn't working).
I work extensively on decentralized/P2P distributed systems and realtime P2P sync is non-trivial, you need to use a specialized CRDT for it:
- Here is an interactive animated explainer on how to do a P2P realtime syncing CRDT: http://gun.js.org/explainers/school/class.html http://gun.js.org/explainers/school/class.html
- Here is an excellent more detailed explanation of how such a CRDT works, by Martin Kleppmann: https://www.youtube.com/watch?v=yCcWpzY8dIA&feature=youtu.be&t=29m36s https://www.youtube.com/watch?v=yCcWpzY8dIA&feature=youtu.be...
- jhunter1016 9y agoYou're absolutely correct. In this iteration, collaboration is achieved asynchronously. Share a file, receiver can edit, receiver can share back, etc. Because real-time collaboration is not trivial, as you mentioned, we're making sure we do it right.
- marknadal 9y agoWould love to help you out on that algorithm, I (and a bunch of other friendly P2P people) hang out at https://gitter.im/amark/gun https://gitter.im/amark/gun ! I know it isn't as catchy as Google Docs, but perhaps having the title be "Evernote alternative" or something like that? (IDK if evernote has realtime typing, I doubt they do... or somebody similar that doesn't), so that way people don't get dissapointed?
- jhunter1016 9y agoI sincerely appreciate that. Joining the Gitter room now :)
- brokenmachine 9y agoJust checked out gun, I have to say the tutorials are very well done. I'm not a javascript guy but I've been enjoying them. Looks like a great project!
- marknadal 9y agoThanks, I super appreciate that. We just released some new ones the other day (not sure if those are the ones you peeked at or not)! Definitely join the chat room, bunch of friendly people there and not JS-only (somebody just started a Python port that is working), would love to chat. :)
- brokenmachine 9y agoThanks a lot! I might take you up on that. I was planning to learn a bit of Python anyway. I love what you're doing. I hate the way corporations are monetizing our private data. People should be able to have both privacy and convenience. I would be happy to pay for an Evernote/Google Docs clone with an Android app where everything is client-side encrypted and possibly self-hosted so our data remains ours. What I want should be pretty simple really, but there's always the trust issue so I might have to write it myself!