Re: [manifest] Allow multiple application contexts per app (#294)

> Try using the Android Facebook app. By default it will open external links in a very basic 
> overlay on top of the app rather than respect my choice and use my fully featured default 
> browser. 

This is generally a business decision. You don't want the user to leave your app - but you want them to complete the task they need to complete (e.g., reading a news article, viewing a funny picture, etc.). Thus this need a good balance between what developers want and what users wants.  

> In my opinion, if I click on a hyperlink which doesn't fall within the scope of 
> an installed app, it should open as a new tab in my browser, not stay inside the context 
> of the app with some kind of stripped down overlay.

The overlay might provide that choice to the user, as Twitter on iOS does: 
![screenshot_2015-01-14_10_14_15](https://cloud.githubusercontent.com/assets/870154/5731979/5adacab6-9bd6-11e4-9a66-1e583d56fd88.png)
 
The thing is to provide enough choice to satisfy everyone.  

> Once I've left the scope of the app I'm 
> back out on the open web and free to follow further hyperlinks, it doesn't make sense to 
> keep me in the app.

I strongly disagree. Jumping from one app to another to view a web page would be tremendously annoying to most users. It's why this (stripped down browsers) is such a prevalent pattern in so many apps. They allow users to do whatever they need to do (view an article, watch a quick video, etc.) without actually having to go to the big heavy browser. It avoids a big context switch, it's fast, etc. and keeps users focused.   

> These are largely UX decisions specific to a particular user agent so as long as the spec 
> doesn't prevent an implementation from making these kinds of choices, I think that's 
> fine.

Agree :+1: 

>  I think defining an application context as a browsing context to which a manifest 
> has been applied is fine. I think specifying that an application context can only be created 
> by launching an app would be overly restrictive (I don't think the spec currently says 
> this). 

Yeah, the spec doesn't prevent this - and I think it would be awesome for implementers to experiment with this. 

> I think saying that an application context MUST always be navigated to the start_url 
> when it is created may be too strong,

Ok, yes - I think I see what you mean. The text was written from the perspective of launching the application from the homescreen - not from a "deep link". It was certainly not the intention to prevent "deep linking". I'll clarify. 

>  the user agent might want to deep link into an app and 
> therefore navigate a new application context to a URL other than the default start URL 
> used when launching the app.

Agree. 

> So perhaps the sentence "When an application context is created, the user agent MUST 
> immediately navigate to the start URL with replacement enabled" is a little strong? 

I'll fix that up. 

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

Received on Wednesday, 14 January 2015 00:30:48 UTC