Re: [w3c/manifest] Clarify the definition of "navigation scope", "applied", and off-scope theming (#880)

> @benfrancis it seems like your practical objection to this change comes from a desire to have additional restricted modes (such as kiosk modes) that do restrict PWAs to their scope or a restrictive set of URLs.

Actually my main concern is that the specification does not prevent future user agents from coming up with better solutions to the off-scope navigation problem than the current in-app browser trend. The examples I gave were just to illustrate that the way Android and iOS currently work are not the only ways user agents can work.

> I would suggest that such a mode falls outside of the manifest spec, and into the realm of (legitimate) user agent interventions, by way of offering their users (administrators) additional control over what URLs can be browsed to.

As long as the specification makes clear that such user agent interventions are in fact legitimate, then I agree that's fine.

> It isn't a product decision, because it violates the basic assumption that sites make about how HTML navigation works. (As we discovered two years ago in #646.)

Thank you for the additional context, I hadn't read that thread before. Having read through all of the rationale I can see why current browsers have converged on option b1 from https://github.com/w3c/manifest/issues/646#issuecomment-402615266. In testing the latest version of Firefox Preview (Fenix) it appears that is the latest behaviour there too.

However, now that I better understand the rationale I have another concern. Does this change not break the concept of deep linking as described in [section 3.2](https://www.w3.org/TR/appmanifest/#deep-links) and the Abstract section?

If all off-scope navigations must stay inside the current application context (but with added chrome), it is no longer possible to deep link between installed web applications. At least not within the constraints of the Android and iOS application frameworks.

The Firefox OS 2.6 example I gave above actually most closely resembled option b1, but deep linking was possible because it essentially removed the distinction between an app window and browser window. It was therefore possible to seamlessly transition between the two states. A single browsing context could transition between having different manifests applied and the same window could effectively transition from one app to another. As far as I know that is not possible on Android or iOS.

Would you agree that with this change, deep linking could only ever happen if the source of a navigation explicitly requests a new window via `target=_blank` or `window.open()`? And even then some of the same technical constraints may cause problems. That seems like a real shame.

In the interests of getting to Candidate Recommendation I don't particularly object to changing the definition of scope to match what current browsers do, but I do want to highlight the potential implications for future user agents which may not be operating within the same constraints.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/manifest/pull/880#issuecomment-639411624

Received on Friday, 5 June 2020 11:01:47 UTC