Radicle is a peer-to-peer stack for creating open source software together. A collaboration environment that’s designed to be:
* Offline first: all data, including issues, comments and other social artifacts is yours & lives on your machine.
* Peer-to-peer: with no central server or intermediary in control.
* Cryptographically secure: user data that is tamper-proof & unforgeable, using public key cryptography.
* Programmable: developers can program the way in which they collaborate.
* Interoperable & open: reflecting the values of the open source community.
Replicated state machines are employed in a wide variety of applications requiring distributed coordination. Because RSMs must always adhere to particular semantic conditions, foremost determinism, rather than reprogram their semantics in every new instance, we propose a language, Radicle, which substantially simplifies the process of defining such state machines. As Radicle may be made into any RSM via eval-redefinition, it can be considered a universal replicated state machine. This mechanism also allows changing the semantics of running state machines without loss of state, and with the same consensus guarantees as provided by the underlying consensus system
How to build offline web applications with CouchDB and PouchDB
Designing Offline-First Web Apps by Alex Feyerke. When it comes to building apps, we often assume our users are very much like us. We picture them with the latest devices, the most recent software, and the fastest connections. And while we may maintain a veritable zoo of older devices and browsers for testing, we spend most of our time building from the comfort of our modern, always-online desktop devices.
Offline capability is a key characteristic of modern Progressive Web Applications. Offline first thinking must learn from and further what we’ve seen work with Responsive and Mobile First thinking.