| Yes, or even more simply: Let's say that your client runs GET /some-json, and that JSON gets updated, and the client wants to get the updates. Right now, your options are: 1. Re-run the GET /some-json again from the client (polling) 2. Start a websocket, and invent some custom protocol over the websocket to let the client subscribe to /some-json. With Braid, you just do: GET /some-json
Subscribe: true
And the client will automatically get the updates, within HTTP. The Braid-HTTP ponyfill library abstracts the details behind a normal fetch() for you, until browsers implement it.Today, we tend to use HTTP for static assets, and then switch to a websocket or SSE or something whenever things get dynamic. That sucks! We lose the standard of HTTP! Braid lets you keep using HTTP, even for your dynamic assets. It also solves issues in caching. Instead of using max-age heuristics, we have actual real versioning! And yes— the protocol generalizes all the way to full-peer-to-peer multi-writer CRDT/OT algorithms. But start simple! |
> That sucks! We lose the standard of HTTP!
Why does this suck? WebSockets or SSEs are also standardized.
> the protocol generalizes all the way to full-peer-to-peer multi-writer
Why "peer-to-peer"? While Braid can be used in a local-first setting and probably do peer-to-peer, that isn't the focus here.
The focus is to help application developers to not get into the shenanigans of CRDTs and distributed algorithms etc., but solve those things already via polyfills.