Fresh Braid Release!

Michael Toomim <toomim@gmail.com> Wed, 20 November 2019 03:28 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 8F20412023E for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 19 Nov 2019 19:28:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.751
X-Spam-Level:
X-Spam-Status: No, score=-2.751 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) 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 DcdzN7jK93W7 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 19 Nov 2019 19:28:06 -0800 (PST)
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 9329C120236 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 19 Nov 2019 19:28:06 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1iXGct-0007bN-P7 for ietf-http-wg-dist@listhub.w3.org; Wed, 20 Nov 2019 03:25:55 +0000
Resent-Date: Wed, 20 Nov 2019 03:25:55 +0000
Resent-Message-Id: <E1iXGct-0007bN-P7@frink.w3.org>
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 1iXGcr-0007aX-17 for ietf-http-wg@listhub.w3.org; Wed, 20 Nov 2019 03:25:53 +0000
Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by titan.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from <toomim@gmail.com>) id 1iXGcp-0000NQ-Ks for ietf-http-wg@w3.org; Wed, 20 Nov 2019 03:25:52 +0000
Received: by mail-pl1-x62d.google.com with SMTP id d7so13126755pls.3 for <ietf-http-wg@w3.org>; Tue, 19 Nov 2019 19:25:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:content-transfer-encoding:subject:message-id:date:to :mime-version; bh=n0BdvvVhnxjgZkXK0aQC32F3fK2+MCU0fVQApSmRpdw=; b=kyVtNEiZUa1BNv1C/Qrf6sMyeiKuo0n+UWCmsF/r23lwh4KTCX2MwxOEtClZ4KqnH5 ivFNEHz6nf+Zd4ztE+5ayy8n4kVDQFTKAbKWeX9Ob6hnNNlEiXmSXvj4LhWdzH0YqKEe CrczEyN8ArMBpWn4xTHvEXeae/ofzVI0JJ4+Ih/ZB7NWQkqWahXq8BYzX5jYuVIyyNdw 9p2SNKOumnE68zEac7Q2OAgcW56i5wZVfdfIlH1GkYrRUC8yiHLPUsI43myCgODsem/T hHJLIKxBWnih5i7Lz2OZugRcFi/WQUiI1OMRaLdL2yQFly2OvpGTheSC77ZCKfNmLlVl Rcuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:subject :message-id:date:to:mime-version; bh=n0BdvvVhnxjgZkXK0aQC32F3fK2+MCU0fVQApSmRpdw=; b=hbb0aNES1excbLvou4+kqsj/K9DdCaoRVNweqMEFo+IF7nOefQWbh6bNTW3En2TrUy b/m4fZKXl8kEwphDXU5OgZ0YLaeALczMjR/jvV2NgrrgoVFO/lbsQIrjPEsl20Y8kNIE fePLPH9ezvtIn1TsVzTGAamRzxv9uRmd9/tt52DN1a08/+lPlUu6QTCjDji9pAAiUIh7 q/sXN2L3ryqs2F9NF8216sce9rV1zhF/4SzUPngOM5xnl1EUCJQmxLwlFD5PcD8j/lIU FfvRpXx9vzrQ9CWyaVNr4wopF7+hFRhy+B9TNxvFjVF91ug3V+JwjzCJoiWs7YfUhO7n 55xQ==
X-Gm-Message-State: APjAAAVBbAaC4LBtE/IBsRSo3MW2h3OCmjEE+Nld/cIVilVC9NrZdDLF 0aCQvOh2UzVrCSjgO4QG/gWw1tdS
X-Google-Smtp-Source: APXvYqy1TO5GB5OpnlGgdq4AsMROePm017kTMzOffV4YV6Au3C2rVQP5jIiQ9Ip5WVgar/Wq/QdCmw==
X-Received: by 2002:a17:902:7893:: with SMTP id q19mr677689pll.130.1574220349998; Tue, 19 Nov 2019 19:25:49 -0800 (PST)
Received: from [172.16.103.176] (c-71-202-89-74.hsd1.ca.comcast.net. [71.202.89.74]) by smtp.gmail.com with ESMTPSA id a66sm28052540pfb.166.2019.11.19.19.25.49 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 19 Nov 2019 19:25:49 -0800 (PST)
From: Michael Toomim <toomim@gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-Id: <ECDE30DA-D7C1-46D9-BD33-0A25A597CAE2@gmail.com>
Date: Tue, 19 Nov 2019 19:25:48 -0800
To: HTTP Working Group <ietf-http-wg@w3.org>, dispatch@ietf.org, Braid-HTTP <braid-http@googlegroups.com>
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
X-Mailer: Apple Mail (2.3124)
Received-SPF: pass client-ip=2607:f8b0:4864:20::62d; envelope-from=toomim@gmail.com; helo=mail-pl1-x62d.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, 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 1iXGcp-0000NQ-Ks 0092655cfdb0314e6fe6882dcb6265b8
X-Original-To: ietf-http-wg@w3.org
Subject: Fresh Braid Release!
Archived-At: <https://www.w3.org/mid/ECDE30DA-D7C1-46D9-BD33-0A25A597CAE2@gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/37154
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>

Hey Singapore--  I'm stoked to announce a new version of the Braid spec!

There was considerable interest in draft-toomim-braid-00 in Montreal, which helped illuminate some issues while attracting new contributors.  Together we have now rewritten the spec, and addressed the issues!  We want to hear what you think!

Braid is a set of extensions that generalize HTTP [RFC7230] from a state *Transfer* to a state *Synchronization* protocol:

   Braid-HTTP:  https://datatracker.ietf.org/doc/html/draft-toomim-httpbis-braid-http
   Range Patch: https://datatracker.ietf.org/doc/html/draft-toomim-httpbis-range-patch
   Merge-Types: https://datatracker.ietf.org/doc/html/draft-toomim-httpbis-merge-types

The Braid extensions add these features:

   1. Versioning for resources
   2. Subscriptions for GET requests
   3. Patches built on Range Requests
   4. Merge-Types that specify OT or CRDT behavior

These features enable:

   • Realtime updates via dynamic proxies
   • Offline mode
   • Collaborative editing
   • Version-control
   • Eventual consistency under multiple writers

The new Braid draft builds on existing HTTP features -- a big improvement, IMO.  It turns out that HTTP [RFC7230] through [RFC7234] is very close to synchronization already -- it just needs a few things.  The Braid extensions complete synchronization with 5 new headers, 1 new response code, 2 range units, and 1 new registry.  In the process, it generalizes Range Requests [RFC7234] in a cool way, creating a uniform patch format for any existing Range Unit.  And guess what?  Well, it turns out that Julian Reschke and others had this idea in 2008: https://lists.w3.org/Archives/Public/ietf-http-wg/2008JanMar/0304.html, and Austin Wright had a complementary idea -- using Range Requests to upload large files with resume support -- just this last summer: https://lists.w3.org/Archives/Public/ietf-http-wg/2019JulSep/0066.html.  Braid supports both situations.

The group of Braid contributors is growing.  Seph Gentle designed the initial architecture, with help from Sarah Allen.  Mitar Milutinovic wrote the Range Patch spec, and gave great reviews for all specs.  Bryn Bellomy fleshed out key details, such as OPTIONS.  The work was inspired by feedback from Austin Wright, Martin Thomson, Eric Kinnear, Duane Johnson, and recently Julian Reschke.  Thank you guys!

Many people are joining us from the distributed web community.  In the big picture, I see Braid as an effort to transfer the people and ideas of the distributed web into the existing web.  Together, we synchronize!  https://braid.news

Michael Toomim

**P.S.  I am excited for everyone in Singapore!  I had to cancel my trip at the last minute with the flu.  But remote participation works great!

**P.P.S.  I've been very impressed by this community, and by how productive the HTTP working group is.  This is cool, especially considering how important HTTP is.