Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare the spec for the First Public Working Draft by addressing existing issues #49

Merged
merged 1 commit into from
Jul 11, 2016

Conversation

avayvod
Copy link
Contributor

@avayvod avayvod commented Jul 5, 2016

The live version of the spec is located at http://avayvod.github.io/remote-playback.html
@mounirlamouri PTaL

@mounirlamouri
Copy link
Member

Thanks for the change and the HTML output 😃
Can you list here which issues this is fixing? It might help looking how they are fixed in the document.

@anssiko
Copy link
Member

anssiko commented Jul 6, 2016

@mounirlamouri see the F2F resolutions: #12 (comment)

Our plan of record is to have a publication ready FPWD by 11 July, see: #12 (comment)

@avayvod
Copy link
Contributor Author

avayvod commented Jul 6, 2016

I'd say this PR fixes issues #4, #6, #7, #25, #39, #45, #47

@avayvod avayvod changed the title Prepare to the spec to First Public Working Draft by addressing existing issues Prepare the spec for the First Public Working Draft by addressing existing issues Jul 6, 2016
@mounirlamouri
Copy link
Member

I had a first look and I have a list of comments. They are in random order, some are close to nits, some are editorials and some are more about the content:

  • Maybe "local remote playback" should be defined as "same device and browsing context"?
  • Maybe you could make the "for short" versions of your terms the real versions. It's a bit confusing when both are being used.
  • I think we might want to have watch() return an int and use it to cancel one callback; it's a common pattern.
  • In the WebIDl, should the callback definition move before it's use or is this a common way of doing things?
  • I don't like changeState(), it doesn't sound like the user will interact with this [though, we can bike shed the name in a follow-up]
  • 6.2.1.1 seems to have a type "var>callback"
  • You sometimes write "may", it should be "MAY"
  • The algorithm you have for monitoring allows for many implementations. I think you should be more strict and say if monitoring is supported it MUST do X, otherwise it MUST do Y instead of a list of MAY.
  • You sometimes have Foos, you can have Foos if you then point to the right definition I believe.
  • Why do you keep the media element in the callback registry? Isn't the RemotePlayback object linked to a media element already? They should be the same, right?

@avayvod
Copy link
Contributor Author

avayvod commented Jul 7, 2016

Thanks Mounir!
Comments inline:

  • Maybe "local remote playback" should be defined as "same device and browsing context"?

Done.

  • Maybe you could make the "for short" versions of your terms the real versions. It's a bit confusing when both are being used.

Done.

  • I think we might want to have watch() return an int and use it to cancel one callback; it's a common pattern.

Done.

  • In the WebIDl, should the callback definition move before it's use or is this a common way of doing things?

It seems common to define the callback below.

  • I don't like changeState(), it doesn't sound like the user will interact with this [though, we can bike shed the name in a follow-up]

Changed to requestStateChange(). I'm trying to stay open to potential implementations that don't require device pickers.

  • 6.2.1.1 seems to have a type "var>callback"

Done.

  • You sometimes write "may", it should be "MAY"

Done.

  • The algorithm you have for monitoring allows for many implementations. I think you should be more strict and say if monitoring is supported it MUST do X, otherwise it MUST do Y instead of a list of MAY.

Done.

  • You sometimes have Foos, you can have Foos if you then point to the right definition I believe.

Done.

  • Why do you keep the media element in the callback registry? Isn't the RemotePlayback object linked to a media element already? They should be the same, right?

Done.

@avayvod
Copy link
Contributor Author

avayvod commented Jul 7, 2016

Cc @jernoble

@anssiko
Copy link
Member

anssiko commented Jul 8, 2016

This PR seems to address #4, #6, #7, #25, #39, #45, #47 (as noted by @avayvod), as well as #36. I proactively updated our "FPWD issue tracker" to reflect the status after this PR has landed. My assessment is that the remaining open meta issue #41 does not impact the technical scope of the spec, and as such would not block the FPWD publication, thus I moved it to "good to land after FPWD bucket".

That means after this PR is merged, we should be good to use the latest ED spec as a basis for the FPWD publication. @tidoust can probably help prepare a FPWD snapshot.

Our plan is to merge this PR by the end of Monday, 11 July (unless we hear objections), and advance with the FPWD publication with a target to publish 14 July.

- split the statechange event into three, one per state
- changed Promise<bool> connect() to Promise<void> changeState();
- replaced RemotePlaybackAvailability to the watch/cancel pattern;
- defined local and remote playback states and their relationship with the
  player state;
- specified the behavior around disableRemotePlayback attribute
- specified a little more about media resource selection for availability
  and remote playback
- updated the algorithms to reflect new terms
@avayvod
Copy link
Contributor Author

avayvod commented Jul 8, 2016

Thanks Anssi! I'm okay with the plan to merge the PR on Monday and publish FPWD on Thursday next week.

@eric-carlson
Copy link

Promise<long> watchAvailability(RemotePlaybackAvailabilityCallback callback);
Promise       cancelWatchAvailability(optional long id);

I don't think "watch" is the right verb for these. Maybe "monitor" would be better?

@mounirlamouri
Copy link
Member

We used "watch" because it's a pattern used by the Geolocation and NFC APIs. Is there a semantic difference between the "watch" used by these APIs and the one used in this one? FWIW, I think "monitor" is fine but I would prefer that we have consistency across the platform.

@avayvod avayvod merged commit b800f47 into gh-pages Jul 11, 2016
@avayvod
Copy link
Contributor Author

avayvod commented Jul 11, 2016

I agree with Mounir on our stance w.r.t. the name for observing availability.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants