Re: [hybi] The future of WebSockets, and the WiSH proposal

Takeshi Yoshino <> Thu, 27 April 2017 11:21 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C72311293FC for <>; Thu, 27 Apr 2017 04:21:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id jw4tIVomwEce for <>; Thu, 27 Apr 2017 04:21:20 -0700 (PDT)
Received: from ( [IPv6:2a00:1450:400c:c09::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id A74EC1293FB for <>; Thu, 27 Apr 2017 04:21:19 -0700 (PDT)
Received: by with SMTP id u65so13834656wmu.1 for <>; Thu, 27 Apr 2017 04:21:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=w9MXo0ezANZnC3NA/TGuDe185dM+FvF2RknvHWsX2E0=; b=ZBmEUYkSz+cud1mSATj1ftla1fSyd/zvME6yNdJWsrCh1ldvgv2LDmiYDth7SGxoSC 5PpUPbTldOQzNUjyZa+xPjfKhWAjLcEmfHCAmEciW2rrv2f0C/FYuoE5aDwHcnTvNBSS RqA+Z0rHrZhLPP7z/jGxVrx/Wfd7ct1ebbCLRlB9NNPw012elHaG6vKvarSLIEy9EWzF ls16vWJ5YsFZLQO68YMd8bxozRFVQWLFcgqG5FfzzVFeGL/iXDXKW03Ya10jrQhl3b4x soOXWpOvxjJBOB2KGAP1XDTz9cXNedrAlwgaRPI7H+FjxwLVeQ3SmhANvuvzPXwdkKV6 MpjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=w9MXo0ezANZnC3NA/TGuDe185dM+FvF2RknvHWsX2E0=; b=uGsW+btGaIwQQAg/wcqwM87eW67BkMPO7nW3Gn+gb7zajfOT6FiGQeVDHAuNp+xoo9 XfA9SFTuTC53996s2gZ0e7rxeWDoLVodqQSoMsEUzWkdPxfYyAWccEu0yoa/wUGshYL8 r8aGCxlPMrKQqfKAHGsMePSY4dT3D2IUFhGKougP3XureDiGEW+NML5s0K35c+eyQEpj qotNe9QUwCWCcyB2aUqC/zaNukaRN+hjs45nYGsB6hzDWI9DaiJ5HTK2e4+T+W/UqK5Y ch+8Tk6msTkZUJMhDv2ZAN0HDFgo16EZIpGQvQrr9th7RZ2z4q3tMmAKBPJkU7jviUm7 agCQ==
X-Gm-Message-State: AN3rC/4BvFh1h4+GFbGbWiIheTr1lTCaYeX9h6h1AlTgKiR4uA0iwNvn tnXJpOkZzRQoVTFuB2Ht/pAswRFf7XzL3mfVIA==
X-Received: by with SMTP id b89mr1829294wmi.21.1493292077980; Thu, 27 Apr 2017 04:21:17 -0700 (PDT)
MIME-Version: 1.0
Received: by with HTTP; Thu, 27 Apr 2017 04:20:56 -0700 (PDT)
In-Reply-To: <>
References: <> <> <> <> <>
From: Takeshi Yoshino <>
Date: Thu, 27 Apr 2017 20:20:56 +0900
Message-ID: <>
To: Anne van Kesteren <>
Cc: Andy Green <>, "" <>
Content-Type: multipart/alternative; boundary=001a1147c65edb22b2054e24278e
Archived-At: <>
Subject: Re: [hybi] The future of WebSockets, and the WiSH proposal
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Server-Initiated HTTP <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 27 Apr 2017 11:21:22 -0000


Regarding my thoughts about choosing web APIs to focus,

I understand that we have many APIs around for doing the similar thing. I'm
following your thoughts regarding e.g. that we've frozen XHR while evolving
only fetch(). But I'm thinking that it's worth improving the WS ecosystem
even while we're evolving fetch()/Streams considering risk, gain and
velocity as follows.

- WiSH doesn't require any change to the API surface.
- WS API can always fallback to use WS/1.0 protocol when WiSH capability is
not announced.

- As I quoted in the first mail, there are lots of WS users in the Web.
According to Chrome's stats, 3.7% of page views contain WebSocket
initiation [1]. I think it's been serving significant portion of web apps'
cloud communication.
- The top starred issue for AppEngine has been WS [2].

- As it stays inside the standard HTTP semantics, it wouldn't require so
much logic in the browser as when we introduced WS. The same about
frameworks/intermediaries, etc.
- We definitely continue making HTTP web APIs better by evolving fetch(),
but it takes some time. WiSH + HTTP/2 might be able to give enough benefit
quickly with small investment

Though all of these depend on data/feedback from the community as Addy,
Loïc, Greg have already expressed, I think it's worth exploring.

[1] Please note that our adoption metrics ( is
showing a smaller value currently, but will be replaced to more accurate
one according to which it's 3.7%.