top | item 40481316

(no title)

chronicler | 1 year ago

same reason you'd use HTTP, it's a superset of HTTP

discuss

order

victorbjorklund|1 year ago

I still dont get it. Is this to sync two servers between each other?

whilenot-dev|1 year ago

From the article:

> Together, these features enable a web resource to synchronize automatically across multiple clients, servers and proxies, and support arbitrary simultaneous edits by multiple writers, under arbitrary network delays and partitions, while guaranteeing consistency using an OT, CRDT, or other algorithm.

So, you'd use it if you want to "support arbitrary simultaneous edits by multiple writers, under arbitrary network delays and partitions, while guaranteeing consistency", for example for apps that want to support collaborative editing.

Braid wants to turn state transfer (like in RESTful API designs - Representational State Transfer) into a kind of synchronization transfer for state. Currently, state synchronization is handled on the state management layer of each individual application, and API calls just transfer that state, but Braid wants to have it solved as an extension to HTTP libraries on the API layer of an application AFAICS.

toomim|1 year ago

You could sync two servers. Or you could sync a server with clients.

Braid is transitioning HTTP into a peer-to-peer world, where the distinction between clients and servers doesn't matter.

toomim|1 year ago

Yes, and to elaborate — for any HTTP usage with dynamic state.

HTTP was invented for static pages, that were written by hand, and rarely changed. But today's web has dynamic pages, driven by javascript and databases, and users expect them to update in realtime. Braid-HTTP adds support for dynamic state to HTTP.