Re: [manifest] Won't related_application be needed at page load? (#364)

> Correct me if I'm wrong but I assumed the purpose of related_applications was to offer the installation of a non-web app at the point of installing a web app, not to handle navigations when just browsing to a URL which has a non-web equivalent. 

This would be sad, because it means you still need the proprietary meta tags: I think we would want to match what iOS does (which handles both the store link and allowing one to opening the app if it's already installed - even before the page has loaded!!!). This is exactly what is happening in the image below: the web page is less than half loaded and I can already jump to the app (I prefer that as a user, because in most cases the web app is crappy). 

![screenshot 2015-04-23 15 27 37](https://cloud.githubusercontent.com/assets/870154/7305633/5483317c-e9cd-11e4-9e39-c2777f007b81.png)

The same with the installation case. I can be prompted to jump to install the New York Times even before the front page has loaded. I might prefer that as a user ("oh, they got an app! sweet, will grab that instead!"). 

![screenshot 2015-04-23 15 32 41](https://cloud.githubusercontent.com/assets/870154/7305726/0adc0674-e9ce-11e4-903a-514b21590925.png)

> As discussed elsewhere, once a non-web app is installed (e.g. on Android) it can handle navigations to deep links within the app's scope without waiting for a manifest to load. 

This is extremely fragile: the web application doesn't have a way of knowing if the user has the native application installed. This leads to the following situation where you can't deep link into anything with any certainty (invalid URL). So clicking "open in app": 

![screenshot 2015-04-23 15 54 04](https://cloud.githubusercontent.com/assets/870154/7306131/00955578-e9d1-11e4-9467-653e269a13ee.png)

Leads to: 

![screenshot 2015-04-23 15 52 11](https://cloud.githubusercontent.com/assets/870154/7306082/c5ab8e82-e9d0-11e4-8834-cc1568a93b14.png)

Which devs are handling, `onerror` and routing apps to the appstore automatically (see AirBnB, which uses a routing service called "deeplink.yoz.io"). It's a hack, but it works (tm) and there are businesses built around this:

![screenshot 2015-04-23 15 58 17](https://cloud.githubusercontent.com/assets/870154/7306235/ba660894-e9d1-11e4-8631-57be657ec8d8.png)
  
Unless you want one of these "`onerror`, redirect to app store" routers, you actually want the OS/UA to deal with that by allowing the user to open the native app or route the app to the app store automatically without showing the "invalid URL" error.  

More sophisticated actions, like performing an action via a deep link in a native app, might require more infrastructure (as per whatever we discover as part of #363)

---
Reply to this email directly or view it on GitHub:
https://github.com/w3c/manifest/issues/364#issuecomment-95704871

Received on Thursday, 23 April 2015 20:09:00 UTC