Notes

  • Starts with a β€œwhat is Automerge”
  • Text can be edited concurrently (usual CRDT stuff)
  • Looks at a couple edge cases specific to rich text
    • e.g. how to merge overlapping markup
  • Real world motivation: GoodNotes was adding Automerge & rich text
    • Must be interoperable with HTML, iOS APIs, etc (e.g. NSAttributeString)
  • PeriText was straightforward, but block level elements needed more work
    • Blocks
      • Paragraphs, lists, blockquotes
      • Nestable
    • Formatting can cross block boundaries
  • Demo showing editing
  • Next up
    • More perfromance work
    • Better memory use (prototype with 100x improvement)
    • Sync improvements
    • New auth system

QUOTE

I think version control is an appealing model for a lot of local first software. I think it works well in scenarios where your users are both reading and writing, and your data is moving at human speeds and is human sized […] and it has to be good […] I think git has taught us that version control has to be difficult […] I think that building good tools with version control could be very compelling, and not just for text