Creating Local-First Collaboration Software with Automerge • Martin Kleppmann • GOTO 2023

Sdílet
Vložit
  • čas přidán 27. 07. 2024
  • This presentation was recorded at GOTO Amsterdam 2023. #GOTOcon #GOTOams
    gotoams.nl
    Martin Kleppmann - Researcher at the Technical University of Munich ‪@kleppmann‬
    RESOURCES
    www.inkandswitch.com/local-first
    automerge.org
    Martin
    martin.kleppmann.com
    / martinkl
    nondeterministic.computer/@ma...
    / martinkleppmann
    ABSTRACT
    Many of us use collaboration software such as Google Docs, Overleaf, Figma, or Trello every day. While this cloud software is very valuable, it is also fragile: if the company providing it goes out of business, or decides to suspend your account, the software stops working, and you are locked out of all of the documents and data you ever created with that software.
    Local-first software is an effort to make collaboration software less dependent on cloud services, and Automerge is an open-source library for realising local-first software. Automerge uses Conflict-free Replicated Data Types (CRDTs) to allow several users to concurrently update a file, and it automatically merges those updates into a consistent result. It provides data formats for efficiently storing this data and syncing it between users. It seamlessly supports both offline work and live real-time collaboration while users are online.
    This talk will introduce our recent research on CRDTs, and provide an update on the latest developments in Automerge. [...]
    TIMECODES
    00:00 Intro
    00:37 Web app architecture through the ages
    07:01 Local-first software
    17:50 Automerge
    25:46 Automerge guarantees
    31:52 Peritext
    40:13 Resources
    40:20 Outro
    Download slides and read the full abstract here:
    gotoams.nl/2023/sessions/2449
    RECOMMENDED BOOKS
    Martin Kleppmann • Designing Data-Intensive Applications • amzn.to/3mk2Roj
    Martin Kleppmann • Secret Colors: A Gentle Introduction to Cryptography • amzn.to/3PgAcyj
    / gotocon
    / goto-
    / gotoconferences
    #Privacy #CRDTs #Data #LocalFirst #Automerge #WebApp #CloudvsLocalFirst #Peritext #MartinKleppmann
    Looking for a unique learning experience?
    Attend the next GOTO conference near you! Get your ticket at gotopia.tech
    Sign up for updates and specials at gotopia.tech/newsletter
    SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
    czcams.com/users/GotoConf...
  • Věda a technologie

Komentáře • 10

  • @troyrose20078
    @troyrose20078 Před 10 měsíci +12

    Wow. Simply, wow. I love Martin, he really takes his pet projects to the next level!!

  • @allanwind295
    @allanwind295 Před 9 měsíci +2

    I feel like that I have seen this presentation a number of times now over the years. The example for each of the 4 algorithms are all different so they are not comparable. In the last rich text example both user A and B end up with something neither have seen. It should be easy to construct a sentence that result in merged nonsense (i.e. if annotations have order requirements perhaps?).

  • @reyou7
    @reyou7 Před 10 měsíci +3

    Very cool❤😂🎉

  • @KonstantinPogrebnoj
    @KonstantinPogrebnoj Před 10 měsíci +7

    It seems a thick client has been reinvented again

  • @josephjensen2789
    @josephjensen2789 Před 10 měsíci +1

    There are a lot of benefits I see with this, but, if you're using a browser, wouldn't it be easy to use DevTools to bypass security? Isn't that one of the main benefits of having a backend API?

    • @zman7211
      @zman7211 Před 8 měsíci +1

      That's what he went over when he started talking about what local-first software is a good fit for vs. what it's not a good fit for. Around 15:30

    • @davidalexreis97
      @davidalexreis97 Před 11 dny

      There's also the option of having a local database on the browser, which just a client-side view of the current state of the system, and have the actual system of record still in a regular backend server.

  • @sylvereleipertz955
    @sylvereleipertz955 Před 10 měsíci

    So basically, it's a desktop app running on a browser.
    All the rules usually implemented on the backend side still have to be implemented on the frond end side.
    I'm curious about the performance as well. You can't be sure about the client processing power. On the backend side, everybody has access to the same power.
    I'll add that it's hard to get ride of a centralised database for stuff like authentication etc etc

  • @happy..1907
    @happy..1907 Před 10 měsíci +2

    I was excited about this talk, disappointed 😞