- From: Travis Leithead <notifications@github.com>
- Date: Tue, 01 Nov 2016 18:20:56 -0700
- To: w3ctag/spec-reviews <spec-reviews@noreply.github.com>
- Message-ID: <w3ctag/spec-reviews/issues/111/257746605@github.com>
TAG Review Feedback
* We are excited to see the web moving into even more application domains.
* We feel that the use-cases are thought out pretty fully.
* We would like to see example code. The current draft and use-cases docs are too light on this.
* The spec envisions two scenarios: Controlling a TV/DVR and controlling TV playback through a `<video>` tag
* The WebRTC model has many parallels in regards to the objects/structures used to both find media and consume the media. Unlike RTC end-points, TV controllers do not need to negotiate for discovery because a client can know whether a local TV tuner is installed. However, from the POV of the Tuner, there is still an entire channel/program/stream discovery that must take place--and that's where we start to see many parallels. If we consider integrating the `TVTuner` (and related interfaces) into an object that is obtained from a negotiation with something on the server that is producing the media, then that object becomes a central control point from which APIs can be defined that configure/constrain that stream. (It also allows ambiguity for the `TVTuner` to be either a local or remote/network based source--in a similar way to how RTC `MediaStream`s represent either local camera/mic control sources or over-the-network remote streams).
* Overlap between Media Recorder and Recorder APIs in TV Control -- wondering why we'd need separate use cases.
* In general (and this is not solely an issue with TV Control), there is a problem with divergent approaches taken to media streams in w3c specifications. We would like to see some efforts to unify these. For TV Contol specifically, we would suggest a liason with the WebRTC WG, webaudio, audio source input/output. A liaison with TTML may also be useful.
* Some of the control surfaced looked like it could be a problem if curious uses cracked open developer tools to tweaked values in script, for example parental control pin info :-)
* We're wondering if new APIs in this style might be phrased in a way that has a smaller API surface area, e.g., HTTP request/response or Service Worker Foreign Fetch (https://developers.google.com/web/updates/2016/09/foreign-fetch)
* May be possible to model many of the APIs here as locally-provided HTTP services; e.g. this:
https://w3c.github.io/tvapi/spec/#tvsource-interface
Might instead be modeled as a set of requests and responses via `fetch()`:
```js
fetch("https://example.com/services/v1/channels")
.then((resp) => {
resp.json().then((channels) => {
console.log(channels);
});
});
```
Open issues with a design like this involve a standard location for such an RPC interface and a format for the returned data. This seems like a good thing for a TV control interface spec to define, perhaps using a system like [JSON Schema](http://json-schema.org/)
It's also unclear how the event-sending side of this might work, but we're confident that can be overcome in the Foreign Fetch model, perhaps by allowing FF responses to contain `MessagePort` objects.
@yfuna there's a lot of feedback here, and it might be useful to have a discussion at one of our telecons. If you're interested we can get something scheduled at an upcoming call. Thanks!
--
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/spec-reviews/issues/111#issuecomment-257746605
Received on Wednesday, 2 November 2016 01:21:28 UTC