3 ms·
Would it be correct to say that this is a CRDT protocol on the HTTP level, similar abstraction level to e.g. REST?
by sansnomme 7y ago
Would it be correct to say that this is a CRDT protocol on the HTTP level, similar abstraction level to e.g. REST?
- toomim 7y agoYes. One way to look at this is that HTTP is already very close to a CRDT or OT protocol -- it just needs a few new features. By adding those features into HTTP, we generalize HTTP and REST from being able to simply transfer state to being able to synchronize it, across arbitrary arbitrary edits, from multiple writers. HTTP: HyperText *Transfer* Protocol REST: REpresentational State *Transfer* HTSP: HyperText *Synchronization* Protocol RESS: REpresentational State *Synchronization*
- sansnomme 7y agoSo stuff like PouchDB, Gunjs will now be trivial?
- toomim 7y agoThese are databases that support synchronization. They have to design their own custom protocol, because HTTP (without Braid) does not support synchronization. We want to add Braid support to PouchDB and Gunjs. Then they can interoperate, with one another, and with the rest of the web. You'll be able to build a distributed app that stores some data in Gunjs, and some in PouchDB, on different servers, on different websites. The differences between different synchronizing databases are captured in "Merge Types": https://raw.githubusercontent.com/braid-work/braid-spec/master/draft-toomim-httpbis-merge-types-00.txt https://raw.githubusercontent.com/braid-work/braid-spec/mast... Over time, I imagine that these databases will add support for each other's merge types, and then -- yes -- their abilities will be "trivial", and baked into most URLs of the web.