35 votes

The cloud is a prison. Can the local-first software movement set us free?

8 comments

  1. [4]
    Unsorted
    Link
    Kind sounds like a form of version control. The CRDT site even says "you can just think of it as a version controlled data structure". How do you actually resolve conflicts automatically in some...

    Instead, we would each have copies stored locally on our devices’ hard drives. I could edit my copy offline, and you could edit yours, and the two files would reconcile our changes anytime they connect, whether once a minute or once a week.

    Kind sounds like a form of version control. The CRDT site even says "you can just think of it as a version controlled data structure".

    It describes something called a conflict-free replicated data type, or CRDT, which he defines as a “family of data structures” that allow many people to collaborate on a file and “automatically resolve conflicts in sensible ways.”

    How do you actually resolve conflicts automatically in some cases without "magic"? The article says, in answer to that, "The possibilities are numerous" which, while true, doesn't actually mean any of those possibilities are workable. In its example of two editors changing a color, one to "purple" and another to "mauve", sure the "possibilities are numerous" but at the end of each of those possibilities you have to make an assumption that one is simply more "correct" than the other, which might not always be true.

    17 votes
    1. [2]
      FeminalPanda
      Link Parent
      Anytime there is a hit piece against the cloud it never gives specifics as you have to set that up yourself, there are many options but requires more it skills and money up front.

      Anytime there is a hit piece against the cloud it never gives specifics as you have to set that up yourself, there are many options but requires more it skills and money up front.

      6 votes
      1. Akir
        Link Parent
        Well, this is an article about the technology, not about a specific product. In any case, it did give an example of a project that is using CRDTs in such a fashion: jupyter notebook.

        Well, this is an article about the technology, not about a specific product.

        In any case, it did give an example of a project that is using CRDTs in such a fashion: jupyter notebook.

    2. skybrian
      Link Parent
      Although Google Docs uses something else, you can think of it similarly. People type into the same document at the same time and they see each others' changes "live." Since they see each other...

      Although Google Docs uses something else, you can think of it similarly. People type into the same document at the same time and they see each others' changes "live." Since they see each other working, usually they don't step onto each others' changes, and when they do, they can see it happen and work something out.

      That's fine if there are only a few people and they don't make sweeping changes. It could get chaotic if there are lots of people. You might get into trouble and have to revert.

      I don't think there's much reason for software developers to use this instead of git, which can be used in a distributed way (without github or gitlab) if you really want to.

      I suspect CRDT's could get messy if people work offline, since they can't see each others' changes.

      1 vote
  2. [2]
    Akir
    Link
    This is not at all what I thought it would be. I thought it was going to talk about software that works entirely locally, or servers that run on the owner's computer rather than a corporate-owned...

    This is not at all what I thought it would be. I thought it was going to talk about software that works entirely locally, or servers that run on the owner's computer rather than a corporate-owned one. When it started talking about CRDTs I thought I had started reading a different article.

    I feel I must have really missed something or the writing was really ambiguous, because I still don't quite get how CRDTs became "local-first". It's hard to tell because of how it's styled, but they actually link to the white paper they mentioned at the beginning which helped me make more sense of it.

    5 votes
    1. RustyRedRobot
      Link Parent
      The article also mentions "cloud first" so I assume local first refers to the fact all copies are stored on local drives of the collaborators involved.

      The article also mentions "cloud first" so I assume local first refers to the fact all copies are stored on local drives of the collaborators involved.