Email or username:

Password:

Forgot your password?
Niki Tonsky

New post is out! Local-first apps that will work forever tonsky.me/blog/crdt-filesync/

9 comments
sergueif

@nikitonsky theres also a very radical approach outlined in The Art of Immutable Architecture: Theory and Practice of Data Management in Distributed Systems a.co/d/0dW2BhYY

Zero conflicts because every new fact or a set of facts is a new file if you will.

Dirk Holtwick

@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. holtwick.de/en/blog/localfirst #localfirst

Artëm Chistyakov

@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”.

Rafael

@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.

Niki Tonsky

@raffomania yeah, but comparing to even 1 full size photo, text app space requirements are nothing

softmaus

@nikitonsky ah, the quarterly international gathering of mouse pointer meta discussion enthusiasts

Lutin Discret

@nikitonsky might be interesting but couldn't read it due to moving cursors. Your site is not accessible 😔 web.dev/learn/accessibility/mo

Go Up