Braid: Synchronization for HTTP

Michael Toomim <toomim@gmail.com> Sat, 20 July 2019 23:32 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4BD74120047 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sat, 20 Jul 2019 16:32:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.449
X-Spam-Level:
X-Spam-Status: No, score=-2.449 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail (2048-bit key) reason="fail (body has been altered)" header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r-PnIF7fqBLO for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sat, 20 Jul 2019 16:32:02 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [IPv6:2603:400a:ffff:804:801e:34:0:38]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3BFD8120046 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sat, 20 Jul 2019 16:32:01 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1hoyn1-0004Bk-Jm for ietf-http-wg-dist@listhub.w3.org; Sat, 20 Jul 2019 23:29:19 +0000
Resent-Date: Sat, 20 Jul 2019 23:29:19 +0000
Resent-Message-Id: <E1hoyn1-0004Bk-Jm@frink.w3.org>
Received: from uranus.w3.org ([128.30.52.58]) by frink.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <toomim@gmail.com>) id 1hoymx-0004AA-FG for ietf-http-wg@listhub.w3.org; Sat, 20 Jul 2019 23:29:15 +0000
Received: from www-data by uranus.w3.org with local (Exim 4.89) (envelope-from <toomim@gmail.com>) id 1hoymx-0002Mh-C3 for ietf-http-wg@listhub.w3.org; Sat, 20 Jul 2019 23:29:15 +0000
Received: from titan.w3.org ([2603:400a:ffff:804:801e:34:0:4c]) by frink.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <toomim@gmail.com>) id 1hoZli-00033c-9H for ietf-http-wg@listhub.w3.org; Fri, 19 Jul 2019 20:46:18 +0000
Received: from mail-pf1-x442.google.com ([2607:f8b0:4864:20::442]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from <toomim@gmail.com>) id 1hoZlg-0000pj-Ad for ietf-http-wg@w3.org; Fri, 19 Jul 2019 20:46:18 +0000
Received: by mail-pf1-x442.google.com with SMTP id g2so14674746pfq.0 for <ietf-http-wg@w3.org>; Fri, 19 Jul 2019 13:45:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:references:cc:to; bh=7fQOhZyRv4AplbyWjZDeMizqUy8rl3Ab5hn3Bd0esSg=; b=pxb5dbrgtOQEdFNmgE+DDBF4SvLM7LL55HDpJluWnej12QQ/hUX5fu0q6RjtQ2KMMi Fd6InH2NUk4iRNeOd3J6SCdhzW43zohKpmhLaGzgA78F17gZA6B68jG3l8BfHJWsGtUn qtvY03sGWGlc+m9vyDXVaVZ/F4XDXHIGHjG0moZcgGppoamo9IbsLqNg3gjJGPR8iRtq I4VZTae7pE+WBZ19YcFVRc0neNWhWiPickC/gC9i39xRN8oZBHGCH+GvOmzsoihHZ321 gRoczLXEuBQaWmp2yWLfzdA90HFlrMUdMxWnolUlg/hqZg9hbfCnAiFOdB3nSyW6SJoh gzMg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :references:cc:to; bh=7fQOhZyRv4AplbyWjZDeMizqUy8rl3Ab5hn3Bd0esSg=; b=AwqDlJMd+wwfsfhsou40nBod5Mg4BnrYwF7smGbeSqU5W91V2rdcnEyUMLO1/19ir1 lkjaV4tw8gae2kJxDJrAq7blRWGvZ1g4Rw6ARsGZXBF40G89qF/H8GmIIklVQTPS4Ix4 LCuPYcxRa3wqnJAg8RhMvYULAXxlUrN7/jD6XI4cUIh3zhKEujbm85vALaK1Vwzl3x8F MitxuXzzG7VMyPkLFppnZFNkybv18qx2Yqrne0kkGMEoYq5DblECYfC+BQdCgQ29pHTH 4XrJwgxUjFxpz6rY4+leTE1Fo2GKhMNMhlrzIXTB/sGPe+HFibC/HcbCkzEKcA+4uXYe CJuA==
X-Gm-Message-State: APjAAAWvQgEOOkfln/9BAS+su/kA25X5hD1vKxLH7WyNMicnopimcqLE s48WLHUMVPBabh94uzI7Mnav8qsVNSQ=
X-Google-Smtp-Source: APXvYqz6KJC6AVfmRnXKh3FzEQgxY22jhfORi/2No+YVVKixZSdt/TuQHAfwr+BdKJIaYJhvN2eIYA==
X-Received: by 2002:a17:90a:9b08:: with SMTP id f8mr60322451pjp.103.1563569154657; Fri, 19 Jul 2019 13:45:54 -0700 (PDT)
Received: from [10.8.44.98] ([199.73.114.148]) by smtp.gmail.com with ESMTPSA id p13sm87441784pjb.30.2019.07.19.13.45.53 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 19 Jul 2019 13:45:53 -0700 (PDT)
From: Michael Toomim <toomim@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_5D70C6B4-E219-408C-B6F1-F1C8E088305B"
Message-Id: <941B9762-3640-4055-B600-E20A634C96D7@gmail.com>
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
Date: Fri, 19 Jul 2019 13:45:47 -0700
References: <156263012844.1064.1560139864803098623.idtracker@ietfa.amsl.com>
Cc: Rafie Walker <slickytail.mc@gmail.com>, Seph Gentle <me@josephg.com>
To: ietf-http-wg@w3.org
X-Mailer: Apple Mail (2.3124)
Received-SPF: pass client-ip=2607:f8b0:4864:20::442; envelope-from=toomim@gmail.com; helo=mail-pf1-x442.google.com
X-W3C-Hub-Spam-Status: No, score=-4.1
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1hoZlg-0000pj-Ad 90efa35d7b102a1f4e97e224fd7497fe
X-caa-id: f47e3c97b4
X-Original-To: ietf-http-wg@w3.org
Subject: Braid: Synchronization for HTTP
Archived-At: <https://www.w3.org/mid/941B9762-3640-4055-B600-E20A634C96D7@gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/36811
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Hi all!

I'm writing to request review for a new extension to HTTP called Braid, 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.

We just published a first draft of the Braid protocol here: https://tools.ietf.org/html/draft-toomim-braid-00 <https://tools.ietf.org/html/draft-toomim-braid-00>. Additional resources are at https://braid.news.

As this is a new proposal, we are also looking for a home for its development. Is the HTTPWG interested in aspects of this work?

In any case, I look forward to seeing you in Montreal! This will be my second IETF meeting, and it was fun meeting many of you in Prague.

Michael

> Begin forwarded message:
> 
> From: internet-drafts@ietf.org
> Subject: New Version Notification for draft-toomim-braid-00.txt
> Date: July 8, 2019 at 4:55:28 PM PDT
> To: "Michael Toomim" <toomim@gmail.com>om>, "Rafie Walker" <slickytail.mc@gmail.com>
> 
> 
> 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
> Status:         https://datatracker.ietf.org/doc/draft-toomim-braid/
> Htmlized:       https://tools.ietf.org/html/draft-toomim-braid-00
> Htmlized:       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.
> 
> The IETF Secretariat
>