IRC log of webscreens on 2015-05-20

Timestamps are in UTC.

07:04:06 [RRSAgent]
RRSAgent has joined #webscreens
07:04:06 [RRSAgent]
logging to http://www.w3.org/2015/05/20-webscreens-irc
07:04:14 [tidoust]
RRSAgent, make logs public
07:04:38 [hongki]
hongki has joined #webscreens
07:04:59 [tidoust]
Meeting: Second Screen Presentation WG F2F - Berlin - Day
07:05:07 [tidoust]
Chair: Anssi Kostiainen
07:05:23 [tidoust]
Agenda: https://www.w3.org/wiki/Second_Screen/Meetings/May_2015_F2F#Day_2_-_Wed_20_May_2015
07:05:50 [obeletski]
obeletski has joined #webscreens
07:07:06 [tidoust]
Present: Anssi_Kostiainen, Mohammed_Dadas, Matt_Hammond, Oleg_Beletski, Hongki_Cha, Christian_Fuhrhop, Mark_Foltz, Anton_Vayvod, Shih-Chiang_Chien, Mark_Watson, Francois_Daoust, Jean-Claude_Dufourd
07:07:47 [mdadas]
mdadas has joined #webscreens
07:08:00 [Zakim]
Zakim has joined #webscreens
07:09:27 [tidoust]
Anssi: Welcome back. See email I sent this morning. Proposed resolutions and actions manually labeled on GitHub.*
07:09:39 [tidoust]
... [Looking at the agenda]
07:10:58 [tidoust]
Matt: agree to postpone agenda topic on HbbTV as already addressed to some extent during day 1 and distilled in other issues, so fine not to have it as a priority topic today
07:12:15 [tidoust]
Mark_Foltz: Some progress to show on designating a default presentation URL and on presenting the content of an <audio> and <video> element
07:12:35 [tidoust]
Anssi: OK, let's reorder topics then.
07:12:44 [tidoust]
i/Anssi: Welcome back/scribe: tidoust/
07:12:51 [tidoust]
Meeting: Second Screen Presentation WG F2F - Berlin - Day 2
07:12:55 [tidoust]
RRSAgent, draft minutes
07:12:55 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html tidoust
07:14:04 [tidoust]
Topic: Rethinking availability monitoring
07:14:10 [mfoltzgoogle]
mfoltzgoogle has joined #webscreens
07:14:23 [tidoust]
-> https://github.com/w3c/presentation-api/issues/81 Issue #81
07:15:25 [tidoust]
Anssi: Trying to make developers life easy, availability monitoring was using a bit of an anti-pattern. Anton discussed with Mounir, Oleg and Mark Watson raised additional comments.
07:17:48 [tidoust]
Mark_Foltz: Idea is, instead of having a global onavailablechange event, you would construct an event listener with "listenForAvailability" and then you either call "getAvailability" on that listener for a one-time use or attach an event listener to the onavailablechange property
07:18:02 [tidoust]
... I did not have time to write code for that but that seems to work.
07:18:46 [jcdufourd]
jcdufourd has joined #webscreens
07:18:46 [tidoust]
... The use case to check periodically for screens availability one time had not come up before. Our experience is that screens availability is something dynamic, especially if you are using a mobile phone.
07:19:03 [tidoust]
... I would like to understand the use case for the one shot better.
07:19:14 [tidoust]
Anssi: I can probably explain the use case I had in mind.
07:19:27 [obeletski]
q+
07:20:18 [tidoust]
... "Find out whether there are available display(s), and if yes, show content on the display chosen by the user". My expectation was that the Web developer would just want to check for availability, and whenever there is a screen available, do something, else take another route.
07:22:05 [tidoust]
... Let's take an example of a Web page that wants to project another Web page on a big screen. It would call "getAvailability", and when it resolves, you start the session, which prompts the user.
07:23:25 [tidoust]
Mark_Watson: The idea is to display a "present" button when there are screens available. To do that, you have to start monitoring for screens as soon as the page loads and keep monitoring for changes afterwards
07:23:30 [tidoust]
ack ol
07:23:39 [tidoust]
ack obe
07:24:53 [tidoust]
Oleg_Beletski: Same thing for Samsung where the button is greyed out. If you only need a one shot thing, you don't really need to start monitoring, startSession would be enough, would trigger monitoring and you don't need to monitor screens availability.
07:26:48 [anssik]
q?
07:34:00 [anssik]
http://w3c.github.io/presentation-api/#starting-a-presentation-session
07:34:59 [mfoltzgoogle]
mfoltzgoogle has joined #webscreens
07:35:45 [tidoust]
tidoust has joined #webscreens
07:36:09 [tidoust]
Mark_Watson: So, startSession handles this, but some way to monitor available screens in the background would be pretty useful. Problem is enabling continuous monitoring when an event handler is attached to a property is considered bad practice, right?
07:36:13 [tidoust]
Mark_Foltz: right.
07:36:16 [tidoust]
Anssi: Adding an event listener should not have side effect, that's a shared practice.
07:36:23 [tidoust]
Mark_Foltz: So, how does geolocation handle this?
07:36:34 [tidoust]
Anssi: Example of the deviceOrientation. If your phone is staying flat and you attach an event listener, you will not get an event up until the phone moves. The spec cannot force the user agent to fire an event when the event listener is attached.
07:36:42 [tidoust]
Mark_Foltz: OK, back to my proposal, we could have an "available" boolean property. Then you may want some way to dismiss the listener to stop monitoring.
07:36:47 [tidoust]
Anssi: listenForAvailability could be getAvailability that returns an AvailabilityObserver that has a boolean and fires an "availablechange" event when the property changes.
07:36:52 [tidoust]
Anton: It's up to the user-agent to stop discovery when the page goes to sleep. No need to explicitly close the event.
07:39:04 [tidoust]
Mark_Watson: wondering about the need to have "onavailablechange" when you already have addEventListener, removeEventListener
07:39:29 [tidoust]
Anssi: Mostly legacy. This is the way Web is working. The "on" way of attaching events is sometimes useful.
07:41:00 [tidoust]
Oleg: During the lifecycle of the application, you may switch from one to two screens, then back to one, and so on. Monitoring available screens is an expensive process. Having a way to cancel the monitoring would be good.
07:41:49 [tidoust]
Anssi: We should leave it up to user agents to implement "continuous" the way they want, meaning adjusting the frequency of discovery or prompting the user after some time for instance.
07:42:38 [tidoust]
Oleg: I think discovery is the most costly operation in Miracast for instance
07:44:23 [tidoust]
Anssi: My expectation is that you could get an availability observer with an available property set to "false" and that we would not mandate the user agent to run discovery in the background as such. The user agent could wait for the device to be plugged in before it resumes discovery for instance.
07:44:30 [tidoust]
... That would be an acceptable implementation.
07:45:30 [tidoust]
Oleg: I would still prefer to have a "cancel" method but we can add wording to warn developers that discovery can last until the end of the page lifetime. In geolocation, there is a way to stop listening.
07:45:39 [tidoust]
Anssi: but not everyone does that.
07:46:17 [tidoust]
... If you have a loop which alternates start/stop, it could be more costly for the device than just continuous monitoring.
07:48:23 [tidoust]
Francois: Do we agree that calling listenForAvailability repeatedly will not trigger multiple discovery under the hood?
07:48:40 [tidoust]
Anton: Yes
07:49:21 [tidoust]
Mark_Watson: Note the spec should clarify that multiple calls to listenForAvailability must return different objects.
07:50:29 [tidoust]
Schien: I'm fine with the direction currently discussed. One question I have is on the "params" parameter.
07:50:51 [tidoust]
Anssi: Right, let's discuss this in the next agenda topic.
07:51:15 [anssik]
q?
07:51:16 [tidoust]
Anton: in Samsung, does discovery run only when you display the list?
07:51:21 [tidoust]
Oleg: I think so, yes.
07:52:45 [tidoust]
Mark_Foltz: We may want to make a small amendment to reject the promise if the device does not support continuous background monitoring then.
07:53:00 [tidoust]
Anssi: I like it, yes.
07:53:30 [tidoust]
... I think we're in agreement, updating the examples in sync with the changes would be good.
07:56:33 [tidoust]
PROPOSED RESOLUTION: For issue #81, adopt proposal to have a "getAvailability" method on NavigatorPresentation that returns a Promise to get an AvailabilityListener (or observer) with a boolean "available" property and an "availablechange" event. Promise is rejected when user agent does not support background monitoring. startSession triggers discovery. No requirement on frequency of discovery (there may not be any in some period of time)
07:57:45 [mfoltzgoogle]
mfoltzgoogle: One more thing: Ensure we specify how many AvailabilityListener objects get created when listenForAvailability() is called more than once.
07:58:14 [tidoust]
ACTION: Anton to update startSession example to use implicit discovery (pending pull request)
08:00:04 [tidoust]
ACTION: Oleg to clarify implicit/explicit mechanisms in the spec, and review the relevant algorithms and examples.
08:00:57 [tidoust]
Topic: How to filter available screens according to the content being presented
08:01:05 [tidoust]
-> https://github.com/w3c/presentation-api/issues/9 Issue #9
08:02:08 [tidoust]
Mark_Watson: Idea is to be able to filter screens that cannot display the content that you would want to display. Specifically relevent for DIAL apps for instance. You want to provide the URL at the beginning of the discovery.
08:02:31 [tidoust]
... With the default presentation URL mechanism, this is actually covered.
08:02:45 [tidoust]
Matt_Hammond: should we have a programmatic version as well?
08:03:11 [tidoust]
Mark_Watson: In that case, the "getAvailability" method that we just discussed would address that.
08:04:01 [tidoust]
Anssi: Generally, on the Web Platform, the developer tries things before he can know whether things work or not. This is a bit of departure.
08:05:08 [tidoust]
Mark_Watson: You're not making the promise that it will work, you're just ensuring that pages know when it won't work
08:06:01 [tidoust]
Jean-Claude: How would you know that the required app would be there?
08:06:11 [anssik]
http://www.w3.org/TR/html5/embedded-content-0.html#dom-navigator-canplaytype
08:06:30 [tidoust]
Mark_Watson: In the case of DIAL, it's the responsibility of DIAL to specify how to discover the app.
08:07:04 [tidoust]
Anssi: The closest thing related to this that comes to my mind is "canPlayType" in HTML5.
08:07:11 [mdadas_]
mdadas_ has joined #webscreens
08:08:07 [tidoust]
Schien: Privacy concern. If you know that Netflix is not supported in the user environment, could you use that information to display relevant ads?
08:08:45 [tidoust]
Mark_Foltz: Tying apps to origins might be a way to mitigate the problem. Up to DIAL in that case.
08:09:39 [tidoust]
Mark_Watson: Good statement for the security and privacy section. If you have a discovery mechanism that allows you to tell which URL are supported and which are not, there should be some scoping by origin.
08:09:40 [mh]
q+
08:11:00 [tidoust]
Mark_Foltz: The caveat that I would like to attach to this is that it really helps with DIAL. As soon as we have an HTML5 environment, this is kind of useless
08:11:18 [tidoust]
Jean-Claude: Unless someone wants capability filtering
08:11:21 [tidoust]
Mark_Foltz: Right.
08:12:50 [tidoust]
Matt_Hammond: Instead of thinking it in terms of filtering, we could have it as a mechanism to hint on the specifics needed to support different mechanisms.
08:13:06 [tidoust]
Mark_Foltz: The filtering would provide a better user experience.
08:13:33 [tidoust]
Matt_Hammond: HTML5 as a fallback.
08:13:53 [tidoust]
Mark_Watson: There may not be a compatible HTML5 fallback.
08:14:38 [anssik]
q?
08:15:01 [mh]
q-
08:15:27 [tidoust]
Anssi: I'm hearing Mark_Watson willing to have a mechanism to have remote capability detection.
08:15:50 [tidoust]
Mark_Watson: The whole capability detection issue is a large and distinct issue. This is more restricted.
08:16:02 [tidoust]
... Although the same solution could work in both cases.
08:17:32 [tidoust]
... The goal is to find a reasonable solution with a good balance between UX and privacy concerns.
08:18:10 [tidoust]
Mark_Foltz: Another direction would be to allow a page to force local content rendering.
08:18:36 [anssik]
q?
08:20:39 [tidoust]
Mark_Foltz: In the end, we have a mechanism in place and need to investigate more the privacy implications.
08:21:06 [tidoust]
[some discussion on the default presentation URL and the fact that it can be used to filter devices as well]
08:22:51 [tidoust]
ACTION: Mark_Watson to look into privacy implications of filtering available screens according to the content being presented
08:27:37 [tidoust]
PROPOSED RESOLUTION: For issue #9, include a URL parameter to "getAvailability" (subject to amendments to issue #81) and update security and privacy considerations section based on privacy investigation.
08:28:48 [tidoust]
Topic: Screen availability mechanism for multiple session
08:29:00 [tidoust]
-> https://github.com/w3c/presentation-api/issues/40 Issue #40
08:29:26 [anssik]
scribe: anssik
08:29:58 [anssik]
tidoust: if we want to support multiple screens, talking to multiple screen
08:30:57 [anssik]
... we don't know what happens to available boolean when you've already created the session
08:31:24 [anssik]
... and when you want to offer an app that can use three or four screen, it may prompt the user multiple times
08:31:36 [anssik]
... you may want to have only a single call that I may want to use multiple screens
08:31:48 [anssik]
... not sure if the spec should address it right now
08:31:56 [anssik]
... interested in two first points:
08:32:11 [anssik]
... 1) if I started a session, how do I know if there are still screens available
08:32:25 [anssik]
whywhat: user can still take the same device and start a session
08:32:46 [anssik]
schien: the best thing UA can do, on the trusted UA can show a flag of already user screens
08:33:11 [anssik]
tidoust: not worries about that, more about how the web app knows can call startSesssion() again
08:33:27 [anssik]
mfoltzgoogle: what is the use case? soccer game from two different angles
08:34:07 [anssik]
... maybe the UI is more like a "show me angle additional angle", should it be conditional to whether there are additional screens?
08:34:29 [anssik]
... adding an attribute to the AvailabilityListener for "are there unused screen available"
08:34:45 [anssik]
... our implementation has a definition of "unused screen"
08:35:13 [anssik]
... my questions: does this UC justify adding API surface to support this?
08:35:58 [anssik]
tidoust: I think this might be a v2 feature
08:36:16 [anssik]
... making sure we can add it while keeping backwards compatibility with the v1 API
08:36:49 [anssik]
mh: UA understands the sessions, their states
08:38:06 [anssik]
mfoltzgoogle: could make it explicit in the screen picker UI
08:40:27 [anssik]
markw: is there a UC for the web app to be able to say a certain screen cannot be reused, since the presentation is in progress, for example
08:41:27 [obeletski]
q+
08:43:37 [whywhat]
whywhat has joined #webscreens
08:43:42 [whywhat]
q?
08:48:23 [obeletski]
q-
08:53:31 [anssik]
PROPOSED RESOLUTION: no change to the spec, we may want to provide informative guidelines to the implementors on the screen picker UI with regard to best practices for highlighting screens that are already used by other presentation sessions, clarify we do not support multiple screen selections from the screen picker UI
08:57:10 [tidoust]
scribe: tidoust
08:57:11 [tidoust]
Hongki: So, no multiple screen selections for this version of the Presentation API?
08:57:39 [tidoust]
Francois: Right. If you feel strongly about this feature, the group needs concrete use cases that could be used to change the priorities.
08:57:56 [tidoust]
Topic: Presentations from within nested browssing contexts
08:58:11 [tidoust]
-> https://github.com/w3c/presentation-api/issues/79 Issue #79
08:58:19 [tidoust]
scribe: obeletski
08:58:27 [tidoust]
RRSAgent, draft minutes
08:58:27 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html tidoust
08:59:49 [anssik]
q?
09:00:40 [schien]
q+
09:01:10 [obeletski]
Topic: Presentations from within nested browsing contexts #79 Issue -> https://github.com/w3c/presentation-api/issues/79
09:01:30 [anssik]
s/Topic: Presentations from within nested browsing contexts #79 Issue -> https://github.com/w3c/presentation-api/issues/79//
09:02:00 [tidoust]
s|Topic: Presentations from within nested browsing contexts #79 Issue -> https://github.com/w3c/presentation-api/issues/79/|
09:02:25 [tidoust]
RRSAgent, draft minutes
09:02:25 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html tidoust
09:02:31 [obeletski]
mfoltzgoogle: default presentation source and what is the information source for browser context
09:03:53 [tidoust]
s|Topic: Presentations from within nested browsing contexts #79 Issue -> https://github.com/w3c/presentation-api/issues/79/|g
09:03:56 [tidoust]
RRSAgent, draft minutes
09:03:56 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html tidoust
09:04:31 [tidoust]
s|Topic: Presentations from within nested browsing contexts #79 Issue -> https://github.com/w3c/presentation-api/issues/79/||g
09:04:32 [tidoust]
RRSAgent, draft minutes
09:04:32 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html tidoust
09:06:24 [obeletski]
schien: providing a browser ui to initialize presentation creates confusion for the user in case of nested contexts
09:20:21 [hongki]
q+
09:20:34 [anssik]
ack schien
09:20:59 [anssik]
ack hongki
09:21:10 [mdadas]
mdadas has joined #webscreens
09:21:31 [obeletski]
schien: in Firefox there is a sharing icon to mirror the whole tab to the other screen, for default presentation UI FF will start presentation for default URL. That way we redefine browser behaviour.
09:24:34 [obeletski]
Hongki: would like to create use case for nested browser context
09:25:44 [whywhat]
q+
09:26:47 [obeletski]
Action: Hongki update use cases to incorporate nested browser context issue
09:28:40 [obeletski]
Action: Mfoltzgoogle Flush out behaviour of allow presentation attribute
09:30:59 [obeletski]
PROPOSED RESOLUTON: Clarify how multiple levels of nesting behaves
09:34:16 [obeletski]
PROPOSED RESOLUTION: define a new "allow-presentation" content attribute for the HTML iframe element that controls whether default-presentation, startSession(), joinSesssion() are functional; define failure path in the relevant algorithms when this attribute does not exist, clarify how multiple levels of nesting behaves
09:34:47 [anssik]
s/allow-presentation/allowpresentation/
09:35:52 [whywhat]
scribe: whywhat
09:36:02 [tidoust]
Topic: Resumption of multiple sessions
09:36:10 [whywhat]
TOPIC: Resumption of multiple sessions
09:36:32 [tidoust]
-> https://github.com/w3c/presentation-api/issues/39 Issues #39
09:36:42 [whywhat]
anssik: this is Francois proposal so please walk us through
09:37:26 [whywhat]
tidoust: this is for the joinSession mechanism, what happens when you call startSession with the same url and id and if you can, what do you get when you call joinSession
09:37:50 [whywhat]
... we probably shouldn't allow starting another session with the same url and id
09:38:01 [whywhat]
mfoltzgoogle: I second that
09:38:59 [whywhat]
tidoust: what happens when I call startSession with the same url and id? e.g. if the user selects another screen, UA closes the running session or...
09:39:08 [whywhat]
mfoltzgoogle: we could have it always fail
09:39:33 [whywhat]
mfoltzgoogle: there's a use case to restart the terminated session which I'm okay with (the page recycles id)
09:40:38 [whywhat]
... the alternative is to behave like joinSession if user picks the same screen but if I pick another screen the current session stops
09:41:12 [whywhat]
whywhat: we have it stated in the use cases
09:41:45 [whywhat]
mfoltzgoogle: automatic termination may be a little tricky, we should probably require an explicit close() from the page
09:42:11 [whywhat]
mh: why do we require the presentation id to be passed by the page?
09:42:54 [whywhat]
anssik: IIRC it was proposed by Jonas Sicking so that the page could share the id between the controllers (e.g. a game)
09:43:52 [whywhat]
mfoltzgoogle: yes. we could omit the presentation id and let other pages join the same presentation session just by URL
09:44:30 [whywhat]
... we could rely on the UA provided, hard to guess id and share it via local storage or cloud service to other pages
09:44:46 [anssik]
RRSAgent, draft minutes
09:44:46 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html anssik
09:44:54 [whywhat]
... we could also append it to the url but it felt cleaner to keep it separate
09:45:37 [whywhat]
tidoust: if we don't have a good use case, we should drop it from startSession
09:46:16 [whywhat]
obeletski: joinSession - does it join the locally started session or some session started by another controller? it's still confusing
09:46:42 [whywhat]
tidoust: we did discuss something yesterday during the discussion of issue #19
09:47:31 [whywhat]
obeletski: we can join session or we can join presentation, we should be more clear on the terminology
09:48:15 [whywhat]
mfoltzgoogle: agree, this is a different concept, if we want to change the behavior to call startSession to pick the existing presentation - it would join the presentation
09:49:12 [whywhat]
tidoust: does the user have to kill presentation first if she wants to start a new one?
09:49:23 [mh]
q+
09:49:31 [whywhat]
mfoltzgoogle: yes, existing presentation will have to be closed explicitly
09:49:50 [whywhat]
tidoust: do we still need presentation id for joinSession?
09:50:12 [whywhat]
mfoltzgoogle: yes to avoid a random page/user connecting to the existing session without having to know the id
09:50:34 [whywhat]
tidoust: then we have a malicious user / app problem to join the existing presentation
09:51:41 [whywhat]
mfoltzgoogle: the presentation can't trust what's connected to it and adding an id would add a small security to it - the starter of the presentation would be trusted to share the id only to the right controllers
09:52:23 [whywhat]
mh: I wonder how startSession that behaves joinSession map to HbbTV and DIAL? there's no guarantee that the right content is shown on the screen
09:52:49 [whywhat]
tidoust: it seems like you can't implement joinSession (as in presentation) at all, no matter if you have the method or not
09:53:13 [whywhat]
mfoltzgoogle: it depends on the presentation page whether to accept multiple connections, the spec should be clear
09:53:43 [whywhat]
schien: q - we have three ways to receive a presentation session, we have two methods
09:54:24 [whywhat]
... can we have three methods?
09:54:42 [whywhat]
all: startPresentation, joinPresentation, resumePresentation|Session
09:54:48 [mh]
q-
09:55:17 [whywhat]
mfoltzgoogle: hard to know what the user would pick - new screen or the one with the existing presentation
09:56:09 [whywhat]
tidoust: we could show different screens for start and join
09:56:39 [whywhat]
tidoust: we don't know if it's the first controller or not, so the page doesn't know what to call
09:56:42 [jcdufourd]
jcdufourd has joined #webscreens
09:56:57 [jcdufourd]
RRSAgent, draft minutes
09:56:57 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html jcdufourd
09:57:12 [whywhat]
... we perhaps should add a parameter to start session to specify if joining an existing presentation is okay or not
09:57:19 [whywhat]
... later
09:57:35 [whywhat]
... seems like the proposal is to remove id from startSession
09:58:01 [whywhat]
mfoltzgoogle: we need a mechanism to join an existing presentation - either a new method or modify startSession
09:58:10 [whywhat]
tidoust: it's probably related to issue #19
09:59:29 [hongki]
hongki has joined #webscreens
10:02:18 [whywhat]
tidoust: limit ids to the UA session, note that the ids might be shared between UAs so might need to be more unique
10:02:38 [whywhat]
PROPOSED RESOLUTION: drop id from startSession() without strong use case, the UA generates the id
10:02:56 [mfoltzgoogle_]
mfoltzgoogle_ has joined #webscreens
10:03:10 [tidoust_]
tidoust_ has joined #webscreens
10:03:50 [tidoust_]
RRSAgent, draft minutes
10:03:50 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html tidoust_
10:04:03 [whywhat_]
whywhat_ has joined #webscreens
10:04:11 [whywhat_]
scribe: whywhat_
10:04:26 [whywhat_]
TOPIC: Allow page to designate a default presentation URL enhancement
10:05:06 [whywhat_]
mfoltzgoogle: default presentation url gives a way to the UA to provide the best experience for the user if there's a default UI for presenting
10:05:46 [obeletski_]
obeletski_ has joined #webscreens
10:06:10 [whywhat_]
... UA can also make the feature work more seamlessly if the user is streaming a tab and navigates to the presentation enabled page (e.g. navigated to YouTube - the UA starts the YT presentation)
10:07:27 [whywhat_]
... the other use case is voice action or a NFC tap or nearby proximity detection - present the url
10:07:42 [whywhat_]
... spec wise there's an implementation and spec changes in progress
10:08:02 [whywhat_]
anssik: schien what do you think from the Firefox point of view?
10:08:39 [whywhat_]
schien: not sure if the user would like to have the overridden behavior or the explicit behavior
10:09:14 [whywhat_]
... when I look at the default presentation url - developer needs to specify url in two places: the default one and the one for startSession
10:10:23 [whywhat_]
... if the page can create a session in advance and prevent default on the browser action - then the browser knows that the page has a specific way to handle the screen; if not, the browser can do its thing
10:11:11 [whywhat_]
mfoltzgoogle: walking through a scenario - user initiates the presentation via UA button, the browser sends an event to the page and waits if it will be handled by the page
10:11:33 [whywhat_]
schien: if the page handles the event, do nothing, if not, the UA defaults to tab casting
10:11:47 [whywhat_]
schien: we can prevent specifying the default url for that
10:12:48 [anssik]
RRSAgent, draft minutes
10:12:48 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html anssik
10:12:59 [whywhat_]
mfoltzgoogle: how it would work from the implementation point of view? we would want to know if we need to start tab capturing or presenting the page's url
10:13:42 [whywhat_]
schien: the page would call startSession from |defaultsessionstart| and the UA would show the picker
10:14:12 [whywhat_]
mfoltzgoogle: setting up the UA would be hard beforehand if we need to wait for the page to do something
10:14:30 [whywhat_]
ACTION: schien to write a proposed idl change for that
10:14:53 [whywhat_]
schien: we seem to overload default presentation with many functionality
10:15:47 [whywhat_]
mfoltzgoogle: I'd like both Firefox and Chrome to come up with a good solution but it shouldn't be mandatory for other UAs to implement if the UA doesn't support tab streaming
10:16:29 [whywhat_]
PROPOSED RESOLUTION: review the two proposals and evaluate them against the use cases and requirements considering developers and implementors view points
10:18:07 [whywhat_]
TOPIC: URL schemes supported in presentation API
10:18:34 [whywhat_]
tidoust: what's the concern about limiting the schemes? Louay raised the issue but he's not here
10:19:21 [whywhat_]
anssik: we should define which schemes must be supported and leave the rest undefined
10:19:28 [mdadas]
mdadas has joined #webscreens
10:20:00 [whywhat_]
mfoltzgoogle: for me the content type is more important, we certainly support html content but not clear about files/mp4/data urls/webapps etc
10:21:41 [whywhat_]
PROPOSED RESOLUTION: do not restrict extensions that might want to make use of other URL schemes than http(s), however those alternative schemes are out of scope for v1
10:24:47 [whywhat_]
anssik: we have three issues left that seem to be hard to resolve in 7 minutes we have left before lunch; after lunch we'll have the MWS event and the closing session
10:25:19 [anssik]
TOPIC: Any Other Business
10:25:35 [whywhat_]
tidoust: we discussed streamlined way to publish drafts of the Presentation API spec; the process can now be streamlined with an automatic tool
10:25:45 [anssik]
http://www.w3.org/2014/08/pubworkflow.html
10:25:51 [whywhat_]
... I suggest we do it and want to make sure the group is fine with this approach
10:26:25 [whywhat_]
anssik: it means the publications will happen when we did significant progress; I'll let Francois implement it for the group
10:26:34 [whywhat_]
... hear no concerns so let's do it
10:28:09 [whywhat_]
... thanks for your contributions and for participating in the event
10:28:48 [anssik]
RRSAgent, draft minutes
10:28:48 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html anssik
10:28:51 [tidoust_]
RRSAgent, draft minutes
10:28:51 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html tidoust_
12:26:10 [Zakim]
Zakim has left #webscreens
14:57:59 [RRSAgent]
RRSAgent has joined #webscreens
14:57:59 [RRSAgent]
logging to http://www.w3.org/2015/05/20-webscreens-irc
14:58:10 [tidoust]
RRSAgent, make logs public
14:58:18 [tidoust]
RRSAgent, draft minutes
14:58:18 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html tidoust
14:58:48 [tidoust]
Topic: Allow page to turn itself into a presentation session
14:58:58 [tidoust]
-> https://github.com/w3c/presentation-api/issues/32 Issue #32
14:59:44 [tidoust]
Summary of discussion during F2F wrap-up session: there may not be a need for a page to explicitly turn itself into a presentation session. The user agent could do that on its own (or asking for user permission first). The only part that may need to be adjusted to enable that use case is how the presenting page gets a pointer to the first session if it can be created after the page is loaded.
14:59:57 [tidoust]
ACTION: @tidoust to investigate possible adjustments to the spec to allow a presenting page to detect when the first session is created in that case.
15:00:05 [tidoust]
Also note that the page needs to run in private browsing mode for the user agent to be able to turn it into a presentation session.
15:00:16 [tidoust]
i/Summary of discussion during/scribe: tidoust/
15:00:37 [tidoust]
Topic: Presenting the content of an audio/video element
15:00:37 [anssik]
RRSAgent, draft minutes
15:00:37 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html anssik
15:00:42 [tidoust]
-> https://github.com/w3c/presentation-api/issues/13 Issue #13
15:01:15 [tidoust]
Anton: [showing proposal on screen]
15:01:42 [hyojin]
hyojin has joined #webscreens
15:02:14 [tidoust]
... Pretty similar to what we have in our Cast extension. The Cast button appears as a video player control button, allowing the video to be casted to a separate screen.
15:02:17 [anssik]
http://avayvod.github.io/chrome-android-remote-playback.pdf
15:02:29 [obeletski]
obeletski has joined #webscreens
15:03:06 [tidoust]
Anton: It works well when the Web application does not use a custom UI for video playback.
15:03:37 [tidoust]
... There are no API for remote video playback
15:03:45 [tidoust]
... Also issues with subtitles and encrypted video.
15:04:50 [tidoust]
... Based on that, the proposal is an extension to the MediaElement to add a "remote" attribute that kind of emulates the Presentation API.
15:05:08 [tidoust]
... The object contains a "start" and "stop" method.
15:05:38 [tidoust]
... Also the <source> element should be extended to disallow remote playback.
15:06:35 [tidoust]
Anssi: Is it something that you have implemented?
15:06:50 [tidoust]
Anton: It can easily be implemented.
15:07:27 [tidoust]
Anssi: I like the approach. The migration path is very simple for the developer too.
15:09:01 [tidoust]
Francois: getAvailability filters potential devices based on the source URLs and media type?
15:09:03 [tidoust]
Anton: right
15:10:51 [tidoust]
Anssi: Does it make sense to have this evolve in a separate spec?
15:10:55 [tidoust]
Anton: I think so.
15:12:26 [tidoust]
Francois: One thing I wonder about is, once you've strated, all media features do not necessarily apply to the remote playback, depending on the underlying protocols being used.
15:13:06 [tidoust]
Anton: Right.
15:13:39 [tidoust]
Anssi: [showing Big Buck Bunny video to demo video content presentation]
15:16:44 [tidoust]
... +1 for the native implementation of that along the lines you suggest.
15:18:16 [tidoust]
Matt_Hammond: The start and stop methods are not about starting/stopping the playback but rather about starting/stopping the session, right?
15:18:20 [tidoust]
Anton: Yes.
15:19:32 [tidoust]
Anton: to the question of unsupported features, the MediaElement already supports that to some extent. We should just ensure things are properly specified.
15:22:16 [tidoust]
Anssi: This work is in scope by charter, and we can organize the split in specs the way we want so it's fine to move forward.
15:22:38 [tidoust]
[Francois mumbling about pros and cons of having one spec or two specs]
15:24:50 [tidoust]
ACTION: Anton to figure out a name for the spec and continue the work
15:25:26 [tidoust]
ACTION: @tidoust to create the repo on GitHub for the spec once we have a name (and short name) for it.
15:25:33 [tidoust]
Anssi: Could be Media Presentation API
15:25:56 [tidoust]
Louay: I note that the same mechanism could be used for images.
15:28:16 [tidoust]
Francois: For images, I would say the regular Presentation API is enough since you're just not going to need the communication channel and not going to connect to features provided by the ImgElement in HTML5 except to extract the source URL.
15:29:52 [tidoust]
Anssi: for the dummy case, it could be just a hint on the image element that the user agent could use to propose to render the image on an UPnP Photo Renderer.
15:31:58 [tidoust]
Jean-Claude: It could be done with a JS library, no need to have a standard attribute.
15:32:30 [tidoust]
Anssi: You mean we could take an image and turn it into a video with one frame.
15:32:39 [tidoust]
Francois: using "placeholder"
15:33:01 [tidoust]
s/placeholder/poster/
15:33:15 [tidoust]
Anssi: Exactly.
15:33:26 [anssik]
http://www.w3.org/TR/html5/embedded-content-0.html#attr-video-poster
15:34:21 [tidoust]
Francois: seems convoluted.
15:34:30 [tidoust]
Anssi: right, could be used for prototyping.
15:36:25 [tidoust]
[note that goal is to support constrained devices that can only render pictures, not videos]
15:37:50 [anssik]
RRSAgent, draft minutes
15:37:50 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html anssik
15:40:24 [tidoust]
Oleg: Wondering about the Web Audio API and chaining with the Presentation API. Also with the "sinkId" property that the Audio Output Devices API is defining.
15:40:55 [tidoust]
Francois: good points, we will need to liaise with these groups and keep an eye on alignment.
15:42:05 [tidoust]
... So, in summary, we have a good starting point, and a few questions that will come back to bite us afterwards, that looks good!
15:42:27 [tidoust]
Topic: Add facility for the opening page to add cloud paired screens as presentation targets
15:42:37 [tidoust]
-> https://github.com/w3c/presentation-api/issues/61 Issue #61
15:43:34 [tidoust]
Anssi: Last issue on our plate for this F2F.
15:43:48 [tidoust]
RRSAgent, draft minutes
15:43:48 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html tidoust
15:44:44 [tidoust]
Mark_Foltz: Basically, it would be a way to extend the way browser attaches to other screens by allowing pages to implement their own mechanism.
15:45:08 [tidoust]
... We would need to make sure that the UI picker is pretty clear that the user agent is not responsible for these screens.
15:45:54 [tidoust]
... Generally, from a practical point of view, on pre-DIAL TV platforms for instance, there is a way to control Youtube using out-of-band communications.
15:46:24 [tidoust]
... I don't have a specific mechanism proposed yet, but looking for feedback on the idea.
15:46:49 [tidoust]
Louay: I can show a demo on this.
15:46:59 [tidoust]
... [showing demo]
15:48:08 [tidoust]
... Currently I propose a cast button that display a simple dialog to launch the application on a virtual display.
15:48:24 [tidoust]
... If the feature was there, this could be merged with other available displays.
15:48:47 [tidoust]
... It's pure JavaScript.
15:49:23 [tidoust]
Anssi: I'm thinking, from the spec perspective, whether the spec should care about the presence of the proxy.
15:49:52 [tidoust]
Mark_Watson: The browser does not care about the device but needs to show it in the list
15:50:42 [tidoust]
Mark_Foltz: we need some way for the page to register these devices and then inform the page that one of them has been selected.
15:51:24 [tidoust]
Mark_Watson: maybe we should change the name of the issue because "cloud-paired" seems to require some cloud-based solution that may not occur in practice.
15:52:13 [tidoust]
Francois: so no integration with the Presentation API once the user has picked up the screen?
15:52:39 [tidoust]
Mark_Foltz: Right, what is a weird is that the session would not behave the same way as other possible sessions.
15:53:06 [tidoust]
... I think it's a nice-to-have feature, not necessarily a must-have feature.
15:54:41 [anssik]
RRSAgent, draft minutes
15:54:41 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html anssik
15:54:53 [tidoust_]
tidoust_ has joined #webscreens
15:55:46 [tidoust_]
scribe: tidoust_
15:56:06 [tidoust_]
Anssi: summary is we could keep it as an open enhancement issue and revisit later on.
15:57:15 [tidoust_]
Topic: Wrap-up
15:57:45 [tidoust_]
RRSAgent, draft minutes
15:57:45 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html tidoust_
15:58:17 [tidoust_]
Anssi: Thanks for participating. Sending my summary email right away. 10 days from now, proposed resolutions will become resolutions unless someone raises concerns before that.
15:58:29 [tidoust_]
... On to schnitzels!
16:00:44 [tidoust_]
Anton: Two small points as feedback for the F2F. One is we did change the agenda a few times over the last couple of days. The second point is that it's hard to discuss API changes without being able to see concrete proposals.
16:01:11 [tidoust_]
Anssi: True, maybe we can add something such as Etherpad or a Google doc.
16:01:22 [tidoust_]
... Very good idea, thanks for the feedback.
16:01:33 [tidoust_]
[F2F adjourned]
16:01:41 [tidoust_]
RRSAgent, draft minutes
16:01:41 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/05/20-webscreens-minutes.html tidoust_
17:44:31 [blassey]
blassey has joined #webscreens