- Conference Talk by Alex Good about rich text in Automerge
- Given at the Local-First Conference (2024)
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
)
- Must be interoperable with HTML, iOS APIs, etc (e.g.
- PeriText was straightforward, but block level elements needed more work
- Blocks
- Paragraphs, lists, blockquotes
- Nestable
- Formatting can cross block boundaries
- Blocks
- 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