Re: User agent context for rendering the presentation

On Wed, Aug 20, 2014 at 5:17 PM, Jonas Sicking <jonas@sicking.cc> wrote:

> On Wed, Aug 20, 2014 at 5:04 PM, Mark Watson <watsonm@netflix.com> wrote:
> > It often takes time to start from a fresh state, so there could be a UX
> > impact for some applications if the presentation side is not allowed to
> > store persistent state.
> >
> > The situation can get quite complex: suppose I have two laptops (L1 and
> L2)
> > and each laptop has two user accounts (A1, ..., A4) and on each user
> account
> > there are two browser instances running (B1, ..., B8) and each browser
> > instance is logged in to www.netflix.com using a different Netflix
> account
> > (N1, ..., N8). And everyone is on the same wifi with a single SmartTV,
> which
> > doesn't have multiple accounts or multiple browsers and which is logged
> in
> > to Netflix on a further account N9 ?
> >
> > The Presentation API model is that by virtue of being on the wifi at all
> the
> > user of any of the devices is empowered to give permission for a site to
> > present on the SmartTV. The question is, then, when the person using B3
> and
> > logged in with N3 tries to present on the TV, does the TV browser use the
> > pre-existing state and stay logged in as N9?
>
> It depends. If netflix chooses to pass a user-account specific
> identified when calling requestSession, then no, it would not use the
> pre-existing state. It would instead create a new session.
>
> If netflix instead choose to pass a blank identifier whenever calling
> requestSession then the identifier would match and we'd connect to the
> existing N9 session.
>

​So, I'm no so much interested in whether it uses an existing Presentation
API session or not. Let's just assume it doesn't.

So the browser on the TV is freshly navigated to www.netflix.com. What I
meant by the TV being logged in to Netflix account N9 is that cookies,
IndexedDB data etc. for www.netflix.com is present indicating that it is
logged in. It would then be the sites decision, when launched in
presentation mode and after communicating with the controller, whether to
stay logged in on that Netflix account or log in on the same Netflix
account as ​the controller. I would very much like to be able to handle the
case where the controller is using the same Netflix account as the TV
without having to do a new Netflix log-in.

So, I'm saying that IndexedDB, if supported, should not be cleared each
time a new presentation session starts.


> Netflix could then use whatever application logic it wants to do
> whatever it wants. It could let the existing movie keep playing, or it
> could stop the currently running movie and resume whatever N3 was last
> watching. Or it could show UI to the user allowing the user to choose
> what to do.
>

​Yes, the case of attaching to an existing presentation session is clear.​

...Mark


>
> > Or does it log out and log in
> > as N3, explicitly clearing the N9 state ?
>
> It's up to the TV hardware and software to choose if it wants to
> support keeping existing sessions running or not. If the TV is capable
> of allowing the N9 state to stay in the background, then it could do
> so.
>
> > I would suggest this is a question
> > for the web developer. Perhaps we should give the web developer the
> option
> > to avoid this complexity by requesting that the remote browsing content
> be
> > "fresh" like an incognito one ? But for my part I would prefer to deal
> with
> > this complexity in return for the improved UX in the common case where
> there
> > is only L1, A1, B1 and N1.
>
> That's already possible. Session IDs is an optional convenience
> feature which just makes it easier to create a safe application. But
> you can choose not to use it and use application logic to accomplish
> whatever you want.
>
> / Jonas
>

Received on Thursday, 21 August 2014 01:06:53 UTC