6 ms·
I am very curious to see what happens with this issue: https://github.com/mozilla/towtruck/issues/5 https://github.com/mozilla/towtruck/issues/5 Given Mozilla'
by pie 13y ago
I am very curious to see what happens with this issue: https://github.com/mozilla/towtruck/issues/5 https://github.com/mozilla/towtruck/issues/5
Given Mozilla's profile and resources, maybe they'll come up with a novel solution!
- friism 13y agoParts of Google's Operational Transformation algorithms have been open sourced, here's a good starting point: http://stackoverflow.com/questions/2043165/operational-transformation-library http://stackoverflow.com/questions/2043165/operational-trans...
- pie 13y agoYes, and Wave is probably the most accurate open source picture of what Google is using for Docs: http://incubator.apache.org/wave/ http://incubator.apache.org/wave/ OT works naturally with linear data structures, but is tougher to use correctly with more complex data, which Mozilla seems to have here with Towtruck. I'm excited to see what approach they choose!
- DannyBee 13y agohttps://github.com/mozilla/towtruck/issues/5 https://github.com/mozilla/towtruck/issues/5
- ivan_ah 13y agoWhile OTs (there are several variants) are a promising approach for distributed authoring, I think the complexity of implementing them is still prohibitive. Surely there is a better way... I have been reading papers on this looking for a "clean" way to solve this (in the context of packet loss, latency, etc). One good approach I was able to understand is Neil Fraser's Differential Sync http://neil.fraser.name/writing/sync/eng047-fraser.pdf http://neil.fraser.name/writing/sync/eng047-fraser.pdf There are other approaches out there. One example which uses character based changes and is worth checking out is here: PAPER wikisym.org/ws2010/tiki-download_wiki_attachment.php?attId=15 CODE https://github.com/gritzko/ctre https://github.com/gritzko/ctre I feel like it is time someone solved this collab. editing thing once and for all and shared the code with everyone. (Firepad? https://github.com/firebase/firepad/ https://github.com/firebase/firepad/)
- pie 13y agoYup, I've actually read all those papers, and then some. I think OT is often misunderstood and poorly documented, and really needs a solid go-to library. (Along with clear, accessible documentation.) ShareJS and "Operational-Transformation" (used by Firepad) are decent, but in my opinion aren't general enough and may even have some algorithmic flaws. And yes, it's time this was solved, and it wasn't necessary to re-implement the basics for every collaborative project.
- nateps 13y agohttp://sharejs.org/ http://sharejs.org/ is in use for a number of production sites, and we've had users report that it is quite reliable. How would you like to see it further generalized?
- dugmartin 13y agoI wrote a simulator to help me understand Differential Sync. The nice part about DS unlike OT is that you can still work offline and sync later. Here is the simulator: http://dougmart.in/dssimulation/ http://dougmart.in/dssimulation/