
Audio is streamed directly from the publisher (media.museapp.com) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.
Show Notes
The foundational technology for Muse 2 is local-first sync, which draws from over a decade of computer science research on CRDTs. Mark, Adam Wiggins, and Adam Wulf get technical to describe the Muse sync technology architecture in detail. Topics include the difference between transactional, blob, and ephemeral data; the “atoms” concept inspired by Datomic; Protocol Buffers; and the user’s data as a bag of edits. Plus: why sync is a powerful substrate for end-user programming.
Discuss this episode in the Muse community
Show notes
- Adam Wulf @adamwulf
- Fantastical
- Loose Leaf
- Wulf’s iOS ink libraries
- OpenGL
- Bézier curves
- Houston
- Muse 2.0 launches May 24
- Metamuse episode on local-first software
- Core Data
- Clue, Wunderlist
- CouchDB, Firebase
- Adam’s writeup on sync technologies from 2014
- Evernote
- Pixelpusher
- Slow Software
- CRDTs, operational transform
- Automerge
- Actual Budget
- last write wins
- Actual open source
- hybrid logical clock, vector clock
- CloudKit
- lazy loading
- API versioning
- Protocol Buffers
- Wulf’s article on atoms
- Datomic
- “put a UUID and a version number on everything”
- Swift property wrappers
- functional reactive programming
- Sourcery
- Sentry
- HDD indicator light
- Muse job post for a local-first engineer
- Local-first day at ECOOP 2022