New post is out! Local-first apps that will work forever https://tonsky.me/blog/crdt-filesync/
New post is out! Local-first apps that will work forever https://tonsky.me/blog/crdt-filesync/ 9 comments
@nikitonsky Great article. I wrote up something similar of what I use in my apps. Hope we see a standard for it soon, thus different apps can work on the same data more easily. https://holtwick.de/en/blog/localfirst-resilient-sync #localfirst @nikitonsky I agree these could be pragmatic solutions for single-user local-first apps for the current state of affairs (where we have multiple devices each with its own copy of data). However, I dream of a timeline where the supercomputers that we carry around everywhere act as database servers for all other devices in our lives. Add encrypted cloud backups and you have a private, reliable data source that never conflicts. CRDTs would only be needed for “multiplayer”. @nikitonsky This is fantastic! I've been planning to write a local-first time tracker using exactly this approach. I always thought I missed a major downside because no one else talked about it. The only one I can think of is the extra storage space required. I think that can even be reduced by storing the state outside of the sync folder. @raffomania yeah, but comparing to even 1 full size photo, text app space requirements are nothing @nikitonsky ah, the quarterly international gathering of mouse pointer meta discussion enthusiasts @nikitonsky might be interesting but couldn't read it due to moving cursors. Your site is not accessible 😔 https://web.dev/learn/accessibility/motion |
@nikitonsky theres also a very radical approach outlined in The Art of Immutable Architecture: Theory and Practice of Data Management in Distributed Systems https://a.co/d/0dW2BhYY
Zero conflicts because every new fact or a set of facts is a new file if you will.