00:00:34 Mark: For 1-UA mode, would Chrome and Firefox be required to produce distinct implementations of the Receiving UA? 00:01:16 Anssi: If we have two browsers using Blink, these often don't qualify as two interoperable implementations 00:01:56 ... We may not have specific language in the Charter to define the implementations 00:02:20 ... [describes charter] 00:02:33 ... There's some flexibility for us to decide 00:03:31 Mark: For 1-UA, Chrome and/or Firefox could support wired displays 00:04:24 ... For 2-UA mode we have a couple of options, but to open this up to other browser vendors would require the open protocol 00:05:07 Francois: We can have columns with Chromecast and Firefox OS TV as receivers 00:05:35 Mark: Is each vendor required to implement both modes? 00:05:47 Francois: No, that's not a requirement 00:07:22 Anssi: We can always refine the test suite and add more implementation data, adding more colums for different devices as senders and receivers 00:07:39 ... It could be even more complex, with a matrix of senders and receivers 00:07:44 s/colums/columns/ 00:08:49 Anssi: Some vendors could only implement the sender, others only the receiver, this is one of the goals of the open protocol work 00:09:40 Francois: I proposed to draft exit criteria 00:10:17 Action: Francois to craft exit criteria for PR status 00:10:40 mfoltzgoogle has joined #webscreens 00:11:34 Louay: To run some presentations on Google Cast we need to register in the Cast console, then use an ID as a hash parameter in the URL 00:12:15 ... [describes test] https://github.com/w3c/web-platform-tests/pull/3062/files 00:16:15 ... [discussion of Google Cast app ID and client ID values] 00:16:44 Zhiqiang: We should also use the relative URL in our test suite 00:17:34 Louay: Are relative URLs supported in Google Cast? 00:17:47 Mark: I believe so, but you'd have to try it 00:19:17 Louay: Do we need to include some Cast receiver library in the receiver page? 00:19:47 Mark: I believe you need to include the SDK and initialise it 00:20:24 Louay: Is there a specific name used for the communication channel? 00:21:02 Mark: You can make up a name and sent it across, I can share some docs on how to do that 00:21:43 Louay: Another question for Mozilla: Is there any way to run these tests on Firefox, what receiver devices can we use? 00:22:24 schien: The receiver part is only on Firefox TV, so not available right now 00:23:35 schien: Our plan is to ship the 1-UA mode in Firefox for Android, then in September open up the 2-UA mode for Firefox for Android and Firefox TV 00:24:07 Louay: We need at least one implementation to make sure our tests work 00:24:34 ... We're currently working on testing in Chrome 00:24:46 ... I may need more information when we look at messaging 00:25:09 ... For the current features: availability, connect, launch, we're fine testing in Chrome 00:25:32 Anssi: Do the IDL tests currently match the latest editor's draft? 00:26:18 Louay: Our last report wasn't on the latest draft, but I'll take another snapshot for the next test report 00:26:28 ... Extracting the IDL from the spec is automated 00:26:45 Anssi: What kind of test suite is needed for CR? 00:27:01 Francois: We need a plan, but there's no requirement for a preliminary test report 00:27:23 Mark: Do you run the tests on both Chrome desktop and Chrome Android? 00:27:26 Louay: Yes 00:27:50 ... "CA50" indicates Chrome Android and "CD50" Chrome desktop 00:28:23 Anssi: Maybe add a legend to expand these names 00:29:36 Louay: The WPT has a readme file in each folder, where we describe the names 00:29:50 Anssi: Thanks for all the work you've done 00:30:00 ... It looks like we have what we need for PR 00:30:23 .. We should keep up the speed and momentum 00:30:50 Louay: We'd like to have more contributors for testing, I currently have two students working on it 00:31:10 ... available until the end of July 00:32:12 Anssi: Hyojin, could the xxx project contribute tests? 00:32:16 Hyojin: I'll check with the person in charge and contact Louay 00:32:52 Zhiqiang: I have another person joining me to contribute tests 00:33:07 Anssi: So there are 5 people now working on testing 00:33:16 s/xxx/WAVE 00:33:50 Louay: I'm not sure about the dates to target 00:34:56 Anssi: Any other topics for testing? 00:35:57 Action: Loauy to verify the URL issue is fixed in Chrome canary v5.3 00:36:25 Action: Mark to send Louay documentation on how to send messages to receiver apps 00:37:14 Action: Everyone review the tests 00:37:55 Anssi: Any other topics? 00:38:58 Francois: There are still some open issues in GitHub to go through, looking those tagged as Enhancement 00:39:31 ... There a 5 issues, four are P3 00:40:50 Francois: Are we OK to address this in a future spec version? 00:41:34 Anssi: I suggest changing the Enhancement tag to V2 00:42:58 i/Francois: There are still some open issues/Topic: Remaining issues/ 00:43:52 Francois: What needs to be done for #242? 00:44:11 Mark: It's not a spec issue, I took an action to do this a while ago 00:44:21 Francois: #283 error handling 00:45:42 Mark: There's detail in step 5, can be put into a pull request 00:46:33 Action: schien to send a pull request to define error handling on failure to establish presentation connection (#283) 00:47:11 Francois: I think #293 has been done? 00:47:37 Mark: It's still open from the previous pull request 00:48:23 Action: Mounir to resolve #293 00:49:49 Francois: #295 - references - I'm not sure if we can reference the WHATWG spec 00:50:40 Mounir: The Remote Playback API currently only references WHATWG 00:50:50 Francois: That's fine for now 00:51:09 ... It's only when we get to CR and PR that we need stable references 00:51:52 Francois: #299 Instead of patching HTML in our spec, we should propose a change to the HTML spec 00:59:21 sicking has joined #webscreens 01:01:07 [ -adjourned- ] 01:07:54 RRSAgent, draft minutes 01:07:54 I have made the request to generate http://www.w3.org/2016/05/25-webscreens-minutes.html tidoust 01:09:45 RRSAgent, this meeting spans midnight 01:10:00 RRSAgent, draft minutes 01:10:00 I have made the request to generate http://www.w3.org/2016/05/25-webscreens-minutes.html tidoust 04:46:15 mounir has joined #webscreens 05:25:47 ricksmit has joined #webscreens 05:38:23 mounir has joined #webscreens 05:46:38 sicking has joined #webscreens 05:57:50 mfoltzgoogle has joined #webscreens 11:26:08 ricksmit has joined #webscreens 15:55:45 RRSAgent has joined #webscreens 15:55:45 logging to http://www.w3.org/2016/05/25-webscreens-irc 15:55:46 sicking has joined #webscreens 15:56:22 Meeting: Second Screen WG F2F - Day 2 15:56:25 Chair: Anssi 15:56:45 anssik has joined #webscreens 15:59:27 Present+ Anssi_Kostiainen 15:59:30 Present+ Mark_Foltz 15:59:48 Present+ Mounir_Lamouri 15:59:57 Present+ Rick_Smit 16:00:06 yavor has joined #webscreens 16:00:07 Present+ Hyojin_Song 16:00:14 Present+ Chris_Needham 16:00:25 Present+ Shih-Chiang_Chen 16:00:38 Present+ Yavor_Goulishev, Francois_Daoust, Jonas_Sicking 16:00:45 Present+ Ed_Connor 16:04:29 Present+ Eric_Carlson 16:04:38 scribe: Francois 16:04:42 scribenick: tidoust 16:05:45 eric_carlson has joined #webscreens 16:06:41 Topic: Welcome to day 2 16:06:57 Anssi: We parked an issue that arose at a spin-off of issue #153 16:08:03 ... Problem is with the presentation URL that may contain additional proprietary parameters that get used instead of the URL itself. 16:08:15 Topic: Presentation request URL issue 16:08:46 Mark: A bit of history. There was strong pushback initially against supporting non HTTP/HTTPS schemes. 16:09:10 ... We found a workaround to allow to pass additional parameters 16:09:49 ... I looked at the code. There is very little probability that the extra parameters might collide with existing fragment identifiers. 16:10:24 ... Another concern was around what would happen if developers use the URL with other implementations. 16:10:34 ... Again, that's not going to do much. 16:12:36 ... One use case is to enable capability detection to allow developers to assert that a specific URL will be supported. 16:13:11 ... Instead of passing a list, a wrapping library could be used that tries the different URLs in turn. 16:15:28 ... We can mix Cast parameters and DIAL parameters. The beginning of the HTTP URL itself will be used for the 1UA case. 16:15:31 mfoltzgoogle has joined #webscreens 16:15:40 Anssi: This suggests no change to the spec. 16:16:01 ... Based on implementation experience, we can probably revisit this later on. 16:16:31 ... If we publish a CR and realize that we need to change this, we can republish another CR. That will add another delay. 16:16:55 Jonas: I think that we have strong evidence that what we have now does not work. 16:17:10 ... You're passing a URL but you're not treating it as passing parameters. 16:17:44 s/not treating/treating/ 16:18:10 Jonas: You want a Cast identifier, and since the API only takes a URL, you work around that. 16:18:31 ... You're forced by the API to hack it. 16:19:26 https://w3c.github.io/presentation-api/#user-interface-guidelines 16:21:22 Francois: The security guidelines recommend that the controlling user agent display the requested origin. In this case, the requested origin does not mean anything, so it could be used by an attacker to pretend that the app will present amazon.com content whereas it's not. 16:21:49 Mounir: Yes, as soon as the spec suggests to use the URL, then it's not an opaque string anymore 16:22:28 Jonas: The semantics of this URL parameter is "load this URL onto the second screen", and that's not what you're doing. 16:22:53 Mark: It seems we're discussing implementation internals. What's the difference in practice? 16:23:46 Jonas: It makes a lot of differences. [analogy with fetch] 16:24:17 ... If you are interpreting the values differently from what the specification suggests, then you're not following the spec. 16:24:48 Ed: Where's the interop if the URL is interpreted differently by different implementations. 16:25:38 Jonas: I understand what you're trying to do, but you're working against the spec here. The goal is to take the HTTP URL and load that content. This could lead to a redirect of course, but that's not a concern. 16:26:04 Mark: The meaning of the URL depends on the target device. 16:26:32 Jonas: The spec says to fetch the URL. 16:26:46 ... You're subverting the spec. 16:27:44 ... With "Navigating to an HTTP URL", the expectation is that you'll follow the HTTP protocol to download the resource. 16:28:13 ... If it redirects to other schemes, then so be it, but that's not what happens here. 16:28:36 Mark: Do you have a concrete proposal, then? 16:28:54 Jonas: You need an ability to say "please load this Cast app". 16:29:01 ... It should be something other than HTTP. 16:30:17 Mark: Your concrete proposal is that we require another scheme? Can the backend redirect to the cast scheme? 16:30:20 Jonas: Yes. 16:30:44 Francois: If the URL is google.com/blah, you may not even need to go to your backend, that's your domain, under your control. 16:32:02 Jonas: If I request amazon.com/#__castid=abc123, you will interpret it as a Cast app. But Amazon.com is not going to do the redirect to the Cast app. So you should not interpret it as a Cast application. 16:32:28 ... You can do that for URL spaces that you own, you cannot do it for other domains. 16:33:57 ... Two proposals in the end: 1) you should add some kind of "cast" scheme. This can be done under the hood. 2) My understanding is that companies like Netflix have preferences for launching a DIAL app rather than launching an HTML app, I do see value in having a fallback mechanism. 16:34:37 Mark: We can certainly construct these cast URLs behind the scenes. That will probably not impact the spec itself. 16:35:03 Yavor: For Youtube, we'll use whatever answers first. If it's DIAL, then we'll use DIAL. If it's Cast, we'll use Cast. 16:36:07 Jonas: The specific spec change for the first point is to make it clear that the URL that gets passed to the Presentation API should go through Fetch. 16:37:06 Francois: The spec does say to "navigate to the presentation request URL", so not sure we need something on top of that. 16:37:53 Jonas: My argument is that you can only control redirects for domains you control, not for others. 16:37:56 sicking has joined #webscreens 16:38:40 SC: Question is how would this work with Firefox's implementation of the Presentation API. 16:39:05 Mark: This is really a vendor extension that should not be added to other calls. 16:39:39 Jonas: If you guys have that need, I think others will have that need too. I would not be surprised if Mozilla would want to support Cast applications as well. 16:39:56 ... We can do that much more easily if it's a cast:// scheme. 16:40:41 ... If it's part of the Google namespace, as in google.com/cast internally redirects to a cast:// URL, we can bake that in Gecko as well, but that's much less ideal. 16:41:37 Mark: The last part of my conversation is that being able to pass a list of URLs will delay things by a couple of months at least. 16:43:09 SC: For Firefox OS, we use app:// scheme to launch native apps. For generic content, it uses HTTP. 16:43:22 Mark: So we have a use case for fallback. 16:43:25 Jonas: Yes. 16:44:08 ... If things converge in the future, I can imagine that things converge on HTTP, we'll just ignore the rest. 16:45:18 Anssi: So you want an explicit extension mechanism. 16:46:03 Jonas: Yes. 16:46:46 Anssi: We don't yet have consensus it seems. I'd like not to block the spec today. 16:49:01 Francois: Also wondering about the relationship between URLs in the array. They may not be related. 16:49:35 Ed: Not a problem. That would match the API contract: the ability to pass multiple possibilities. 16:49:55 Francois: OK, same thing as for