1. 47
  1. 2

    i just wanted to say i love this website theme, also appreciative of the excellent research

    1. 1

      The algorithms underpinning services like Google Docs are not designed to support this use case.

      Actually Google Docs has fabulous offline support. You can edit a document on a plane and sync it when you land no problem.

      1. 3

        Right, but the point is about the authoritative copy’s history. Google Docs (and most OT systems like it) is like SVN - the server is the authoritative source of truth. No one but Google can accept your offline changes, and they accept and resolve conflicts on your behalf and update the authoritative copy on the server. As with SVN, you can edit your local checkout files offline, but you can’t commit until you come back online.

        CRDTs are designed to allow for a decentralized model like Git, where peers can pull and push to each other, and equally-valid histories of the document can fork and merge. As with Git, you can edit your local checkout files offline, as well as commit to your local repo, and push to any other repos you have connectivity to. There can still be a central authority peer like eg GitHub, but it’s not required for the system to work.

        1. 1

          Sure, I’m not arguing that. I love CRDTs just pointing out that OT does fine for centralized offline and the example shared is clearly false. Maybe the author ment to say that OT can’t do distributed syncing.

        2. 2

          No, the “offline” they’re talking about is us sitting in a cabin without internet access and being able to use a local wifi router to collaborate on a doc.

          1. 1

            Ah, I didn’t get that interpretation. In that case I agree that Google Docs and OT fall short.

          2. 1

            Does this work with concurrent edits from multiple users who are offline? What if I have multiple devices and I want to share work between them but not with anyone else until I publish?

            1. 1

              Yes, I believe. I didn’t read through all the details of this algorithm, but CRDTs in general support multi-master P2P replication. Any two mutated copies can be merged successfully.

              1. 1

                I was referring to the OT algorithms the GP was talking about 🙂