IRC log of textcueapi on 2019-09-18

Timestamps are in UTC.

01:46:59 [RRSAgent]
RRSAgent has joined #textcueapi
01:46:59 [RRSAgent]
logging to https://www.w3.org/2019/09/18-textcueapi-irc
01:47:01 [wseltzer]
rrsagent, make logs public
01:47:04 [wseltzer]
wseltzer has left #textcueapi
02:07:06 [nigel]
nigel has joined #textcueapi
03:04:38 [nigel]
nigel has joined #textcueapi
04:32:07 [nigel]
nigel has joined #textcueapi
05:30:13 [nigel]
nigel has joined #textcueapi
05:35:53 [gkatsev]
gkatsev has joined #textcueapi
05:36:25 [atai]
atai has joined #textcueapi
05:36:44 [nigel_]
nigel_ has joined #textcueapi
05:36:58 [tidoust]
tidoust has joined #textcueapi
05:37:54 [tidoust]
scribe: tidoust
05:38:19 [tidoust]
-> https://www.icloud.com/keynote/0GJUbJwWfA2i77M2JysKjj45w#Generic_Text_Cue_-_FOMS_2019 Slides
05:38:28 [nigel_]
Present+ Nigel_Megitt
05:38:35 [tidoust]
Tess: [introduces the problem space]
05:38:41 [pal]
pal has joined #textcueapi
05:39:08 [takio]
takio has joined #textcueapi
05:39:11 [tidoust]
... It you use the browser's built-in captioning system, you get things such as user stylesheets for free, but if you don't, you're on your own.
05:39:12 [MasayaIkeo]
MasayaIkeo has joined #textcueapi
05:39:34 [tidoust]
... Also you don't get to participate in platform integration such as PiP.
05:40:08 [tidoust]
... Why? We have a large corpus of existing captions. Also, WebVTT does not handle all cases.
05:40:28 [tidoust]
... All this suggests that a smart thing to do would be to decouple delivery from display.
05:40:54 [tidoust]
... So that the user agent can at least participate in the rendering of captionings
05:41:43 [tidoust]
... Essentially, goal is to insert a cue model before the cue gets displayed so that, in the future, you can add support for a variety of formats.
05:42:12 [tidoust]
... In-band captions come in a variety of formats, if browser supports, this proposal would allow this to be handled.
05:42:40 [tidoust]
... What requirements for the data model?
05:43:04 [tidoust]
... It has to be reasonably expressive, and it should be really easy to use for the common caption formats out there, starting with WebVTT.
05:43:07 [cyril]
cyril has joined #textcueapi
05:43:18 [tidoust]
... Also the data model itself should be easy to manipulate in JS.
05:43:57 [tidoust]
... [showing an example in WebVTT and IMSC1, and how a data model could represent that]
05:44:13 [tidoust]
... Web app should be able to create these things by hand
05:44:48 [tidoust]
... Basic proposal is to extend the basic TextTrackCue interface and to restructure parts of WebVTT and TTML.
05:45:46 [tidoust]
ericc: [showing a demo of a version of a modified Webkit]
05:46:25 [tidoust]
... TextTrackCue is an abstract interface in HTML. No constructor. I have modified that so that it has a constructor that takes a start/end time and an object that follows the data model that describes the cue
05:47:12 [tidoust]
... [Big Buck Bunny demo]
05:48:14 [tidoust]
[Polyfill demo at https://sandflow.com/ttapi-demo/big-buck-bunny.html]
05:49:33 [tidoust]
ericc: The data model is verbose when there are styles. But caption can be text only, with default styles.
05:50:33 [tidoust]
... [showing demo with more styles and regions]
05:50:46 [tidoust]
... It's obviously possible to apply very complex styles.
05:51:15 [tidoust]
pal: The basic idea is to use the TTML model constrained by IMSC, because that seems to be a good place to start.
05:51:28 [tidoust]
... If gaps are found, we can backport them in TTML and IMSC.
05:51:47 [tidoust]
... It's exactly the same model. Both the content model and the style properties.
05:51:58 [tidoust]
... Most of the styles are direct mappings to their CSS counterparts.
05:52:32 [tidoust]
... Some people may ask how to define the HTML rendering. There's some open source code that can show how to do it.
05:53:23 [tidoust]
ericc: What I've done in this version of Webkit is to take a JS library that understands this data model and outputs a document fragment
05:53:40 [tidoust]
glenn: Could you represent the data model as a document fragment directly?
05:54:11 [tidoust]
... Instead of going to the process of translating from this data model to document fragment, could you use a serialized version of a document fragment?
05:54:23 [tidoust]
ericc: Allowing that as an input?
05:54:42 [tidoust]
... Allowing to take that as input might make some people nervous.
05:54:49 [tidoust]
glenn: Yes, with scripts disabled.
05:55:29 [tidoust]
nigel: We discussed this last year and the years before that. These concerns were raised.
05:56:18 [tidoust]
glenn: The reason I ask is that there are other CSS properties than those defined in this list and if I want to construct a TextTrackCue object that uses them, it would be good to have a mechanism that makes it possible.
05:56:36 [tidoust]
... E.g. TTML2.
05:57:14 [tidoust]
pal: There is a pseudo-classes in the proposal that follows WebVTT and that addresses a lot of use cases.
05:57:41 [tidoust]
... The model is easily extensible.
05:57:51 [tidoust]
glenn: Adding means writing more code and landing the changes.
05:58:13 [tidoust]
ericc: If CSS can be used, I don't see why you wouldn't be able to use your own stylesheet directly.
05:58:53 [tidoust]
gary: WebVTT only allows certain CSS. Do we want to open it up?
05:58:59 [tidoust]
ericc: No, I don't think so.
05:59:48 [tidoust]
glenn: IMSC is evolving. We're adding new properties to it. I just don't want to be restricted. It would be good to have a built-in extensibility mechanism.
06:00:00 [tidoust]
pal: In my mind, this evolves as well.
06:00:25 [tidoust]
glenn: Yes, but I'm trying to avoid changing the code in the browsers. The way you suggest it is to have browser vendors update their code. I'd like to avoid that.
06:00:35 [tidoust]
ericc: We should talk to find a safe way to do it.
06:00:47 [tidoust]
nigel: What about the metadata?
06:00:52 [tidoust]
pal: No metadata for now.
06:01:18 [tidoust]
nigel: Would it be useful to have an API that allows the author to access metadata?
06:01:50 [tidoust]
ericc: Since this is a JS API, the cues need to be created from script. You can add any attribute you want to, when the event fires, you'll get it back.
06:02:06 [tidoust]
... There is a "content" attribute, I think.
06:02:18 [tidoust]
... If you want to add something else to the cue, you can certainly do that.
06:03:55 [tidoust]
mounir: we talked about that at FOMS. I don't have strong opinion on the API. Feedback is same as for WebVTT: people got fed up because of slightly different implementations. I think the same would happen here.
06:04:11 [tidoust]
tess: How do you do captions in PiP?
06:04:17 [tidoust]
mounir: We don't support captions in PiP.
06:05:09 [tidoust]
nigel: Question about positioning.
06:05:30 [tidoust]
... Page gets some video in there and cues. How do you relate the pixels of what you draw to the video?
06:06:07 [tidoust]
pal: Each cue renders a rectangular region which typically overlaps the video.
06:06:24 [tidoust]
nigel: How does that relate to PiP
06:07:07 [shu]
shu has joined #textcueapi
06:07:17 [tidoust]
mounir: People cannot do that by design if they use WebVTT. Assuming we can have web sites that want to make use of this solution, that would be much easier.
06:08:08 [tidoust]
greg: At Netflix, we'd be interested from a rendering, accessibility and performance perspective in this solution.
06:08:53 [cyril]
s/and performance/, synchronization, and performance/
06:09:00 [tidoust]
markw: For accessibility, we do have site-wide customization, if the customization in the browser has default values, there may be a conflict between Netflix default values and UA default values.
06:09:11 [tidoust]
ericc: Right, that may be an issue.
06:09:36 [tidoust]
greg: In this model, would there be device settings?
06:09:58 [tidoust]
pal: Regulatory requirements whereby users can select particular styles?
06:10:22 [nigel]
i/ericc: Right/nigel: Same issue for BBC
06:10:44 [tidoust]
... Generally providing hooks allows these styles to apply in the first place.
06:11:37 [tidoust]
ericc: [showing Safari style UI]. Checkbox allows to let video override some of the settings.
06:11:44 [tidoust]
... We honor that.
06:11:51 [tidoust]
s/Safari/Mac OS/
06:12:08 [tidoust]
pal: Having a common API gives us an opportunity to have a common approach.
06:12:27 [tidoust]
greg: OK, it looks that we can, we just have to do things in JS.
06:14:19 [tidoust]
james: I want to clarify that this is not specific to Mac OS. That's written in the FCC mandate that the user style should be able to override.
06:14:34 [tidoust]
greg: Not one by one, as a whole.
06:15:20 [tidoust]
pal: My point is that by having a common model, we can at least have a common ground for discussion.
06:15:29 [tidoust]
andreas: I agree with Pierre.
06:16:07 [tidoust]
... In general, I think that's a really great proposal. Speaking from a German / Swiss perspective, we have troubles bringing captions from broadcasters to the Web.
06:16:15 [tidoust]
... Different formats, etc.
06:16:35 [tidoust]
... That leads to accessibility issues.
06:16:45 [tidoust]
... Really important that we try to work on this.
06:17:21 [nigel]
i/pal: My point is that/nigel: Please don't force FCC requirements on the whole world through standards - they're not accepted as good everywhere.
06:19:03 [tidoust]
chcunningam: Can you find a way to work with HTML directly to avoid a JSON format?
06:19:17 [tidoust]
pal: That's where I started but doesn't work in the end.
06:19:39 [tidoust]
ericc: The browser needs to understand exactly what's what so that we can apply the user styles to the right portions of the captions.
06:19:58 [tidoust]
cyril: Having pre-defined classes.
06:20:04 [tidoust]
pal: That's how WebVTT works.
06:20:34 [nigel]
i/greg: OK/nigel: You could probably spec how the OS settings are applied by defining a place where OS style settings are inserted into the JSON structure before presentation.
06:20:47 [tidoust]
chcunningam: By adding an API that also doesn't respect Netflix's default styles, we're not solving the issue, right?
06:21:12 [tidoust]
ericc: It depends on the perspective. For us, it's extremely important to respect user's accessibility settings.
06:21:38 [tidoust]
... This proposal is intended to make it easier for people who feel that they need to render their captions themselves.
06:22:29 [tidoust]
greg: Having a proposal that allows user to go to the site or to the device is good.
06:23:03 [cyril]
q+
06:23:18 [tidoust]
ericc: We can't use styles outside of the shadow dom because that would be a massive fingerprinting issue.
06:23:32 [Zakim]
Zakim has joined #textcueapi
06:23:41 [tidoust]
s/use styles/expose user's styles/
06:23:46 [nigel]
q+ cyril
06:24:04 [nigel]
q+ to ask about exposing the document fragments to AT
06:24:46 [tidoust]
chcunningam: If you had class names that say "this is the text" or "this is the speaker name", then perhaps you could handle some of it that way
06:25:05 [tidoust]
ericc: You mean an alternative that uses a document fragment instead of this?
06:25:11 [tidoust]
chcunningam: yes.
06:25:42 [tidoust]
tess: I would just have to see it work with concrete examples.
06:25:45 [tidoust]
ack cyril
06:25:46 [gkatsev]
q+ to say that webvtt already has a example with their color classes like .blue and .bg_blue
06:25:58 [tidoust]
cyril: I heard support for this activity. Where do we work on it?
06:26:34 [tidoust]
tess: I understand that there's a Timed Text WG that meets tomorrow. That's a start. We could also start with WICG and take it from there.
06:26:56 [tidoust]
... The shape of the current proposal is patches to WebVTT and TTML specs.
06:27:13 [tidoust]
... This might be a temporary document.
06:27:24 [nigel]
s/WebVTT and TTML/WebVTT and HTML
06:27:40 [tidoust]
andreas: I would definitely support to propose this to WICG. We need more experts than we have in the Timed Text WG.
06:28:08 [tidoust]
tess: I'm hearing we should start a WICG discource thread.
06:28:53 [tidoust]
pal: Any new feature that may arise would need to be backported in TTML.
06:29:05 [tidoust]
glenn: As this stands, the defined classes are close to IMSC
06:29:51 [tidoust]
pal: If we need something that is neither in CSS nor TTML, then we need to take the discussion back to TTWG to understand why it needs to be added.
06:30:13 [tidoust]
glenn: It could also add new entropy to the process.
06:30:33 [tidoust]
mounir: The main point is the API design, not really the accessibility part of it.
06:30:46 [tidoust]
pal: yes, just join the TTWG if you want to talk about accessibility.
06:31:04 [nigel]
q?
06:31:34 [tidoust]
cyril: If the WICG says that a Document fragment can be used, then it opens up other possibilities such as graphics overlay.
06:31:47 [tidoust]
tess: We're out of time, thanks!
06:31:54 [tidoust]
RRSAgent, make logs public
06:32:02 [tidoust]
Meeting: Next Generation TextTrackCue
06:32:05 [MasayaIkeo]
MasayaIkeo has joined #textcueapi
06:32:22 [tidoust]
Chair: Eric Carlson, Tess O'Connor, Pierre-Anthony Lemieux
06:32:29 [tidoust]
RRSAgent, draft minutes
06:32:29 [RRSAgent]
I have made the request to generate https://www.w3.org/2019/09/18-textcueapi-minutes.html tidoust
06:44:06 [MasayaIkeo]
MasayaIkeo has joined #textcueapi
07:04:35 [nigel]
nigel has joined #textcueapi
07:05:11 [pal]
pal has joined #textcueapi
07:18:47 [tidoust]
tidoust has joined #textcueapi
07:21:58 [nigel]
nigel has joined #textcueapi
07:22:32 [nigel_]
nigel_ has joined #textcueapi
07:31:48 [pal_]
pal_ has joined #textcueapi
07:31:52 [tidoust_]
tidoust_ has joined #textcueapi
07:31:59 [nigel]
nigel has joined #textcueapi
07:33:16 [nigel]
zakim, list attendees
07:33:16 [Zakim]
As of this point the attendees have been (no one)
07:33:24 [nigel]
zakim, list participants
07:33:24 [Zakim]
As of this point the attendees have been (no one)
07:35:35 [pal_]
pal_ has left #textcueapi
07:45:25 [atai]
atai has joined #textcueapi
07:47:17 [MasayaIkeo]
MasayaIkeo has joined #textcueapi
07:51:57 [tidoust_]
tidoust_ has joined #textcueapi
07:59:56 [tidoust]
tidoust has joined #textcueapi
08:00:07 [nigel_]
nigel_ has joined #textcueapi
08:00:52 [atai1]
atai1 has joined #textcueapi
08:31:24 [tidoust]
tidoust has joined #textcueapi
08:35:01 [nigel_]
nigel_ has joined #textcueapi
08:35:46 [nigel]
nigel has joined #textcueapi
08:37:41 [MasayaIkeo]
MasayaIkeo has joined #textcueapi
08:38:14 [MasayaIkeo]
MasayaIkeo has joined #textcueapi
09:31:45 [nigel]
nigel has joined #textcueapi
09:33:21 [MasayaIk_]
MasayaIk_ has joined #textcueapi
09:57:30 [Zakim]
Zakim has left #textcueapi
10:06:29 [MasayaIkeo]
MasayaIkeo has joined #textcueapi
11:55:32 [tidoust]
tidoust has joined #textcueapi