I read both parts. Well written, I agree with a lot of stuff. I am long-time CKEditor dev, I was responsible for implementing real-time collaboration in the editor and the OT implementation. Regarding the first part of…
> Operational Transformation (OT) is one of those algorithms, which have been evolving over time, as versions of it have been proven incorrect. Source or explanation required. Also, this:…
> OT is very simple to implement, but needs a server (...) Well, OT in general does not need the server but server-less implementations are more complex (more transforming functions to write, except of "inclusion…
What do you mean by "not fully collaborative"? Both presented solutions seems like quite collaborative.
BTW. there's also a more fresh paper from the same authors: https://arxiv.org/abs/1905.01302 I don't know how much they differ, though.
We frequently joke in our company that we'd love to write a thesis on OT and get a better academical grade ;).
> (...) if two keys depend on each other, and one user sets one key, and the other user sets another key, and the document is now invalid, you'd need the engine to be able to reconcile at a higher level? I am not sure…
So, what is your conclusion after reading it?
Author of the linked blog post here. The example cases for additional types / custom implementation are in this section: https://ckeditor.com/blog/Lessons-learned-from-creating-a-ri... These content-preservation edge…
I don't like "merge" word because it implies how the problem is solved. "Synchronise" would be better, as there is no merging, actually. We use Operational Transformation, so all the changes are stored as operations…
> One way to solve this is to fallback to differential sync when syncing huge offline edits This is another question -- does automatic syncing make sense for huge differences in users' contents? The answer might be no.…
I still need to read that one, though it looks interesting (yes, I only got through the introduction and summary :)). Let's keep in mind that the authors already wrote several papers on OT (also ones that we based CKE5…
This is an interesting subject, to be honest. Of course, it depends on the collaborative editing solution. When it comes to OT -- if the implementation is correct, it doesn't really matter how many operations are queued…
Congratulations 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…
Oh, don't get me started on modifications we needed to do to make undo look reasonable ... :) At first, we thought that undo is the same thing as collaboration but... nope. The crucial difference is that with undo you…
The idea behind storing and loading the data is, in short, this: HTML is the most popular format and it is the default when it comes to publishing web content. Most people want HTML data. However, it is understood that…
It is true that working with IME is hard, even though it is kind of supported by operating system and browser. As much as it is doable for standalone editing, it is a nightmare for collaborative editing, where content…
I read both parts. Well written, I agree with a lot of stuff. I am long-time CKEditor dev, I was responsible for implementing real-time collaboration in the editor and the OT implementation. Regarding the first part of…
> Operational Transformation (OT) is one of those algorithms, which have been evolving over time, as versions of it have been proven incorrect. Source or explanation required. Also, this:…
> OT is very simple to implement, but needs a server (...) Well, OT in general does not need the server but server-less implementations are more complex (more transforming functions to write, except of "inclusion…
What do you mean by "not fully collaborative"? Both presented solutions seems like quite collaborative.
BTW. there's also a more fresh paper from the same authors: https://arxiv.org/abs/1905.01302 I don't know how much they differ, though.
We frequently joke in our company that we'd love to write a thesis on OT and get a better academical grade ;).
> (...) if two keys depend on each other, and one user sets one key, and the other user sets another key, and the document is now invalid, you'd need the engine to be able to reconcile at a higher level? I am not sure…
So, what is your conclusion after reading it?
Author of the linked blog post here. The example cases for additional types / custom implementation are in this section: https://ckeditor.com/blog/Lessons-learned-from-creating-a-ri... These content-preservation edge…
I don't like "merge" word because it implies how the problem is solved. "Synchronise" would be better, as there is no merging, actually. We use Operational Transformation, so all the changes are stored as operations…
> One way to solve this is to fallback to differential sync when syncing huge offline edits This is another question -- does automatic syncing make sense for huge differences in users' contents? The answer might be no.…
I still need to read that one, though it looks interesting (yes, I only got through the introduction and summary :)). Let's keep in mind that the authors already wrote several papers on OT (also ones that we based CKE5…
This is an interesting subject, to be honest. Of course, it depends on the collaborative editing solution. When it comes to OT -- if the implementation is correct, it doesn't really matter how many operations are queued…
Congratulations 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…
Oh, don't get me started on modifications we needed to do to make undo look reasonable ... :) At first, we thought that undo is the same thing as collaboration but... nope. The crucial difference is that with undo you…
The idea behind storing and loading the data is, in short, this: HTML is the most popular format and it is the default when it comes to publishing web content. Most people want HTML data. However, it is understood that…
It is true that working with IME is hard, even though it is kind of supported by operating system and browser. As much as it is doable for standalone editing, it is a nightmare for collaborative editing, where content…