w3c / webmediaporting

Web Media porting spec
1 stars 10 forks source link

launching first page of web app in full screen mode #11

Open mavgit opened 7 years ago

mavgit commented 7 years ago

From @jpiesing on March 7, 2017 15:23

Web video providers have found it necessary to specify that devices launch the first page of a Web App in full screen mode with no browser chrome.

Should WAVE say something about this?

Copied from original issue: w3c/webmediaapi#44

mavgit commented 7 years ago

From @bbcrddave on April 27, 2017 14:25

We probably need to discuss what "launching a Web App" means in WAVE? Do we have an application model?

mavgit commented 7 years ago

Web App Manifest, a W3C spec in Working Draft, seems to do what is being requested. The Web App Manifest Abstract states:

The manifest also allows developers to declare a default orientation for their web application, as well as providing the ability to set the display mode for the application (e.g., in fullscreen).

Of our four targeted code bases, Web App Manifest is listed in caniuse as only supported in Chrome currently. However, caniuse shows two of the other code bases as in development and one considering:

MS Edge status: In Development Firefox status: in-development WebKit status: Under Consideration

So, one idea to close this issue would be to add Web App Manifest as a Recommended API in the 2017 spec.

mavgit commented 7 years ago

From @bbcrddave on May 3, 2017 20:51

I agree that Web App Manifest would be a good candidate for Recommendation, but I suspect that this won't be acceptable for closing the issue because it won't solve the content provider's issue on platforms that do no support Web App Manifest, or applications which do not use Web App Manifest.

@jpiesing ?

mavgit commented 7 years ago

From @jpiesing on May 16, 2017 16:57

@bbcrddave yes Web App Manifest would work for apps started that way but 1) we can't guarantee WAVE apps will get started that way and 2) caniuse.com shows it only supported by chrome and Opera.

mavgit commented 7 years ago

From @jpiesing on May 16, 2017 17:14

Here is a straw-man proposal.

An application MUST be started in a fresh, chrome-less, full-screen browser, nonzoomed instance by navigating the browser to the appropriate URL.

mavgit commented 7 years ago

@bbcrddave & @jpiesing I'm not understanding what you're proposing.

Web App Manifest is a standard API that is being implemented by 3 of 4 of the client code bases. Recommending that all code bases implement Web App Manifest seems like our best path.

What is the alternative that you're proposing? It seems to me that proposing a new, non-standard way of doing the same thing as Web App Manifest will not possibly get to a solution faster than backing Web App Manifest.

mavgit commented 7 years ago

From @jpiesing on May 17, 2017 5:3

@mavgit When I put "manifest" into caniuse.com, it shows web app manifest as only being implemented by chrome.

mavgit commented 7 years ago

From @jpiesing on May 17, 2017 6:29

While reviewing the full screen API spec in connection with issue #22 , I notice the following;

Fullscreen is supported if there is no previously-established user preference, security risk, or platform limitation. An algorithm is allowed to request fullscreen if one of the following is true: The algorithm is triggered by user activation. The algorithm is triggered by a user generated orientation change.

IMHO this means saying that a web app has to request full screen if it's not started that way doesn't work.

mavgit commented 7 years ago

@jpiesing When I put "manifest" into caniuse.com, it shows web app manifest as only being implemented by chrome.

As I stated in a previous message:

Of our four targeted code bases, Web App Manifest is listed in caniuse as only supported in Chrome currently. However, caniuse shows two of the other code bases as in development and one considering:

MS Edge status: In Development Firefox status: in-development WebKit status: Under Consideration

So, given that 3 of our code bases will have Web App Manifest for certain and the fourth is considering it, Web App Manifest seems like it's well on the way to being standard.

While it would be ideal if Web App Manifest was already implemented in all four code bases, any alternative approach that we would propose from this group isn't supported in any code base. So, aren't we better off backing the standard approach that is so far along rather than starting from scratch with some alternative approach that does the same thing?

mavgit commented 7 years ago

@jpiesing

Here is a straw-man proposal.

An application MUST be started in a fresh, chrome-less, full-screen browser, nonzoomed instance by navigating the browser to the appropriate URL.

WAVE targets TVs, TV-connected devices, mobile devices and PCs. While some (all?) smart TVs start all apps and video in this "chrome-less, full-screen" manner today, mobile and PC devices to not. Mobile devices start apps with a platform bar (battery, clock, etc.) at the top, PCs start apps in overlapping windows. On mobile, video starts in "chrome-less, full-screen" mode, but on PC's, video starts within the app's overlapping window, with a UI option to go full screen.

The behaviors above are well-established app behaviors on each platform. Is the proposal that we mandate that mobile and PC platforms adopt the smart TV app model for full screen apps and video?

mavgit commented 7 years ago

From @jpiesing on May 17, 2017 15:5

The behaviors above are well-established app behaviors on each platform. Is the proposal that we mandate that mobile and PC platforms adopt the smart TV app model for full screen apps and video?

I have no idea what the well established video app behaviors are on anything other than a TV. I just volunteered to make a straw-man proposal because nobody else would. I'm certainly not making a proposal about device types of which I have no knowledge.

We need to understand what the well established behaviors are for video web apps and see if an web app can achieve that using the standard APIs.

mavgit commented 7 years ago

From @michelnev on June 12, 2017 20:21

I added a comment here related to this.