[w3ctag/design-reviews] Transferable Streams Spec (#551)

Saluton TAG!

I'm requesting a TAG review of transferable streams.

The streams APIs provide ubiquitous, interoperable primitives for creating, composing, and consuming streams of data. A natural thing to want to do with a stream is pass it off to a web worker. This provides a building block that is easy and natural to use for offloading work onto another thread. Once you can speak the language of streams, you can use that same language to make use of a Worker.

  - Explainer¹ (minimally containing user needs and example code): https://github.com/whatwg/streams/blob/master/transferable-streams-explainer.md

  - Specification URL: https://streams.spec.whatwg.org/

Specific sections:
    * https://streams.spec.whatwg.org/#rs-transfer

    * https://streams.spec.whatwg.org/#ws-transfer

    * https://streams.spec.whatwg.org/#ts-transfer

    * https://streams.spec.whatwg.org/#transferrable-streams

  - Tests: [wpt folder(s), if available]: https://github.com/web-platform-tests/wpt/pull/24546 (not landed yet)
  - Security and Privacy self-review²: https://docs.google.com/document/d/1z70irwTjE1ru2AtrejMQa9KJ36Zjhm8sTBTRB7OwFqg/view

  - GitHub repo (if you prefer feedback filed there): https://github.com/whatwg/streams

  - Primary contacts (and their relationship to the specification):
      - Adam Rice (ricea), [Google] Spec editor
      - Domenic Denicola (domenic), [Google], Spec editor
  - Organization(s)/project(s) driving the specification: WHATWG
  - Key pieces of existing multi-stakeholder review or discussion of this specification: https://github.com/whatwg/streams/issues/276

  - External status/issue trackers for this specification (publicly visible, e.g. Chrome Status): https://chromestatus.com/feature/5298733486964736


Further details:

  - [X] I have reviewed the TAG's [API Design Principles](https://w3ctag.github.io/design-principles/)
  - Relevant time constraints or deadlines: No specific deadlines, however most users of [WebRTC Insertable Streams](https://github.com/w3ctag/design-reviews/issues/531) are using transferable streams and are waiting for us to ship this.
  - The group where the work on this specification is currently being done: WHATWG
  - The group where standardization of this work is intended to be done (if current group is a community group or other incubation venue): WHATWG
  - Major unresolved issues with or opposition to this specification: Unresolved issue: when a stream is transferred twice, eg. A -> B -> C, a developer might reasonably expect that this leaves the stream in a state equivalent to A -> C. However, if the B context is terminated, the stream will error the next time an operation is performed on the stream. This behaviour is counter-intuitive, but the problem is very hard to fix. For more information, see [the issue](https://github.com/whatwg/streams/issues/1063) and [the linked comment thread](https://github.com/whatwg/streams/issues/276#issuecomment-482797085).
  - This work is being funded by: Google

You should also know that...

This feature previously had an early review at https://github.com/w3ctag/design-reviews/issues/332.


We'd prefer the TAG provide feedback as (please delete all but the desired option):

  🐛 open issues in our GitHub repo for **each point of feedback**

------------------------------------------------------------------------------------
CAREFULLY READ AND DELETE CONTENT BELOW THIS LINE BEFORE SUBMITTING

Please preview the issue and check that the links work before submitting.

In particular, if anything links to a URL which requires authentication (e.g. Google document), please make sure anyone with the link can access the document. We would prefer fully public documents though, since we work in the open.

¹ We require an explainer to give the relevant context for the spec review, even if the spec has some background information. For background, see our [explanation of how to write a good explainer](https://w3ctag.github.io/explainers). We recommend the explainer to be in [Markdown](https://github.github.com/gfm/).

² A Security and Privacy questionnaire helps us understand potential security and privacy issues and mitigations for your design, and can save us asking redundant questions. See https://www.w3.org/TR/security-privacy-questionnaire/.



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3ctag/design-reviews/issues/551

Received on Thursday, 20 August 2020 07:46:12 UTC