Session
Derived State on the Wire: Event Sourcing for Offline-First Applications
Building an application that works offline across several devices? The standard answer is CRDTs. Oliver Sturm went the other way and built one on Event Sourcing, a pattern normally reserved for large distributed backends, rarely considered for stand-alone applications at all, and almost never for apps that may not have a network.
Event Sourcing assumes a single authority that decides what happened in which order. This system has none. Every device holds a complete and authoritative log, every one of them writable with no connection. E2EE is a requirement, and the server that relays between the clients is not permitted to read a single content byte.
In this session Oli walks through the architecture that makes all this work, with a focus on the hard parts. Devices trade computed results rather than each recomputing everything, which is an optimization that makes the approach viable on any phone, but also introduces lots of hard problems. Oli has a formal model of the protocol that is used to test every possible outcome of the complex interaction mechanisms.
Bring an interest in distributed correctness. Leave with rules you can apply to your own sync code!
Oliver Sturm
DevExpress Training Director, Software Architect, Consultant, Trainer, Developer, Author, Docker Captain
Castle Douglas, United Kingdom
Links
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top