Subject: [Jmap] Braid: Synchronization for HTTP

From: Michael Toomim <[email-masked]>
Date: Fri, 19 Jul 2019 14:23:59 -0700

Hi all,

I am involved with Braid—an extension to HTTP that adds state synchronization—which I believe addresses much of JMAP's synchronization problem, but at a lower level of the protocol stack.

Braid's development could certainly benefit from the experience and expertise of the JMAP working group. Could someone from JMAP review it? In a future world, I could imagine JMAP using Braid.

The first draft of the Braid spec was just published here:

https://tools.ietf.org/html/draft-toomim-braid-00 <https://tools.ietf.org/html/draft-toomim-braid-00>

Abstract:
Braid is an extension to HTTP, which gives it the ability to synchronize changing state, rather than just transfer it. Braid integrates the power of Operational Transform and CRDTs with the web, improving network performance and robustness, and enabling peer-to-peer web applications.

At the same time, Braid creates an open standard for the dynamic internal state of websites.  Programmers can access state uniformly,  whether local or on another website.  This creates a separation of UI from State, and allows any user to edit or choose their own UI for any website's state.

Additional resources are at https://braid.news <https://braid.news/>.

Thank you! I will also be in Montreal and would be very happy to discuss this in person.

Michael

> Begin forwarded message:
> 
> From: [email-masked] <mailto:[email-masked]>
> Subject: New Version Notification for draft-toomim-braid-00.txt
> Date: July 8, 2019 at 4:55:28 PM PDT
> To: "Michael Toomim" <[email-masked] <mailto:[email-masked]>>, "Rafie Walker" <[email-masked] <mailto:[email-masked]>>
> 
> 
> A new version of I-D, draft-toomim-braid-00.txt
> has been successfully submitted by Michael Toomim and posted to the
> IETF repository.
> 
> Name:		draft-toomim-braid
> Revision:	00
> Title:		The Braid Protocol: Synchronization for HTTP
> Document date:	2019-07-08
> Group:		Individual Submission
> Pages:		15
> URL:            https://www.ietf.org/internet-drafts/draft-toomim-braid-00.txt <https://www.ietf.org/internet-drafts/draft-toomim-braid-00.txt>
> Status:         https://datatracker.ietf.org/doc/draft-toomim-braid/ <https://datatracker.ietf.org/doc/draft-toomim-braid/>
> Htmlized:       https://tools.ietf.org/html/draft-toomim-braid-00 <https://tools.ietf.org/html/draft-toomim-braid-00>
> Htmlized:       https://datatracker.ietf.org/doc/html/draft-toomim-braid <https://datatracker.ietf.org/doc/html/draft-toomim-braid>
> 
> 
> Abstract:
>  Braid is a proposal for an extension to HTTP that transforms it from
>  a state *transfer* protocol into a state *synchronization* protocol.
>  Braid puts the power of Operational Transform and CRDTs onto the web,
>  improving network performance and robustness, and enabling
>  peer-to-peer web applications.
> 
>  At the same time, Braid creates an open standard for the dynamic
>  internal state of websites.  Programmers can access state uniformly,
>  whether local or on another website.  This creates a separation of UI
>  from State, and allows any user to edit or choose their own UI for any
>  website's state.
> 
>  We have a working prototype of the Braid, and have deployed it with
>  production websites.  This memo describes the protocol, how it
>  differs from prior versions of HTTP, and a plan to deploy it in a
>  backwards-compatible way, where web developers can opt into the new
>  synchronization features without breaking the rest of the web.
> 
> 
> 
> 
> 
> 
> Please note that it may take a couple of minutes from the time of submission
> until the htmlized version and diff are available at tools.ietf.org <http://tools.ietf.org/>.
> 
> The IETF Secretariat

---

From: "Neil Jenkins" <[email-masked]>
Date: Sat, 20 Jul 2019 17:03:15 -0400

Hi Michael,

I've read through the RFC and this seems from my initial reading to be a bit more of a framework than specific model, but happy to talk about it if you want to come find me in the hackathon this weekend. I'm on the "Email" table.

Cheers,
Neil.