Skip to content
This repository has been archived by the owner. It is now read-only.

Fennec integration tracking issue. #2771

Closed
ncalexan opened this issue Jul 16, 2015 · 23 comments
Closed

Fennec integration tracking issue. #2771

ncalexan opened this issue Jul 16, 2015 · 23 comments
Assignees

Comments

@ncalexan
Copy link
Member

@ncalexan ncalexan commented Jul 16, 2015

Two requests:

  • first, communicate to the browser when the account is verified. I understand this doesn't replace polling on Desktop or timed background syncing on Fennec, because the about:accounts page may be closed. But we have to get in the habit of helping the browser do the right thing.
  • second, make /signup_completed (and /signin_completed, if it exists) redirect to /settings or have some concrete action to take. I have no buttons or links with ?context=iframe&service=sync, leaving just a tab with no action to be taken.
@shane-tomlinson
Copy link
Member

@shane-tomlinson shane-tomlinson commented Jul 16, 2015

@ncalexan - which environment are you making this request for? There are a couple of ways to implement your request, I want to make sure we do the right thing and don't cause unexpected change of behavior for existing clients.

@shane-tomlinson
Copy link
Member

@shane-tomlinson shane-tomlinson commented Jul 16, 2015

@ncalexan - BTW, I'm assuming fennec.

@shane-tomlinson
Copy link
Member

@shane-tomlinson shane-tomlinson commented Jul 16, 2015

Side note, if a new context is needed, we will need a new column in https://docs.google.com/spreadsheets/d/16Uhb8vtGB_-krMbzaq0b3XYvTWePi_xgIElL7dquohA and corresponding functional tests.

@mhammond
Copy link
Member

@mhammond mhammond commented Jul 16, 2015

IIUC, Nick would like a "notification" (ie, event or channel message) as the content server transitions to the /signup_complete page, which indicates the user is verified. Or to put it another way, something that would mean the polling we do for the verified flag could be considered a fallback because most of the time we would not get a notification directly from the content server of the state change.

@mhammond
Copy link
Member

@mhammond mhammond commented Jul 16, 2015

sigh - "because most of the time we would get a notification directly from the content server of the state change"

@shane-tomlinson
Copy link
Member

@shane-tomlinson shane-tomlinson commented Jul 17, 2015

Your video gave me all the context I need, thanks @ncalexan!

@shane-tomlinson shane-tomlinson changed the title Improve /signup_completed for WebChannel iframe flows Improve /signup_completed for fennec Jul 22, 2015
@shane-tomlinson
Copy link
Member

@shane-tomlinson shane-tomlinson commented Jul 30, 2015

@ncalexan - fennec speaks the WebChannel variant of the messaging protocol, correct?

@shane-tomlinson
Copy link
Member

@shane-tomlinson shane-tomlinson commented Jul 30, 2015

first, communicate to the browser when the account is verified. I understand this doesn't replace polling on Desktop or timed background syncing on Fennec, because the about:accounts page may be closed. But we have to get in the habit of helping the browser do the right thing.

@ncalexan - When embedded in about:accounts for desktop, the content server does not poll. Having both the browser and the content server poll was our highest source of load. For about:accounts, the content server redirects from the signup page to the "confirm your email address" page, and stops. At this point, the browser polls in the background. If the about:accounts page is still open when the browser discovers the account is verified, the browser hides the content server and displays its own content.

For Fennec, you want the confirm screen to poll, and when the user opens the verification email, if the tab with the confirm screen is still open, it should transition to /settings?

second, make /signup_completed (and /signin_completed, if it exists) redirect to /settings or have some concrete action to take. I have no buttons or links with ?context=iframe&service=sync, leaving just a tab with no action to be taken.

For the verification tab, desktop stops at /signup_complete. We did this because an automatic transition from /signup_complete to /settings gave users little opportunity to read the /signup_complete content, including the marketing material (that says "Go Download Firefox for Android!") that pushes your product.

We could add a link to the /signup_complete page that allows the user to go to /settings, which might be a good idea for Desktop as well.

@ryanfeeley - can you help with the Fennec flows to ensure both a good experience and consistency with our other products?

@ncalexan - I added a new column to the giant flow doc. We will need to fill out the column labelled FxAndroid/Sync with each of the possible scenarios so that we can ensure expectations are understood, that the code matches the expectations, and that we have functional tests that test all of the above.

@shane-tomlinson
Copy link
Member

@shane-tomlinson shane-tomlinson commented Jul 30, 2015

@ncalexan - for Fennec, what do you think about using context=fx_android_v1 instead of context=iframe or context=fx_desktop_v1? That way we can completely isolate the Fennec related behaviors and modify them without causing problems for other environments.

@ncalexan
Copy link
Member Author

@ncalexan ncalexan commented Jul 30, 2015

On Thu, Jul 30, 2015 at 5:54 AM, Shane Tomlinson notifications@github.com
wrote:

@ncalexan https://github.com/ncalexan - fennec speaks the WebChannel
variant of the messaging protocol, correct?

Correct, or at least, it will.

@ncalexan
Copy link
Member Author

@ncalexan ncalexan commented Jul 30, 2015

On Thu, Jul 30, 2015 at 6:27 AM, Shane Tomlinson notifications@github.com
wrote:

@ncalexan https://github.com/ncalexan - for Fennec, what do you think
about using context=fx_android_v1 instead of context=iframe or
context=fx_desktop_v1? That way we can completely isolate the Fennec
related behaviors and modify them without causing problems for other
environments.

I absolutely support this. But I prefer "fx_fennec_v1" rather than
"android", which feels too generic.

shane-tomlinson pushed a commit that referenced this issue Aug 10, 2015
shane-tomlinson pushed a commit that referenced this issue Aug 18, 2015
If `context=fx_fennec_v1` is specified, use the new Fennec broker.

issue #2771
shane-tomlinson pushed a commit that referenced this issue Aug 18, 2015
If `context=fx_fennec_v1` is specified, use the new Fennec broker.

issue #2771
@rfk rfk added this to the FxA-27: fennec web login milestone Sep 4, 2015
@rfk
Copy link
Member

@rfk rfk commented Sep 4, 2015

and /signin_completed, if it exists

Currently a successful signin goes straight to settings without an intermediate screen. We're working through some tweaks to that for the first-run flow atm (see #2945, #3021), and I kinda like the idea of an intermediate "you signed in, good job!" screen for embedded device flows like this. Would such a screen be sensible/useful in the android case as well, as a success state?

@ncalexan
Copy link
Member Author

@ncalexan ncalexan commented Sep 4, 2015

On Thu, Sep 3, 2015 at 7:42 PM, Ryan Kelly notifications@github.com wrote:

and /signin_completed, if it exists

Currently a successful signin goes straight to settings without an
intermediate screen. We're working through some tweaks to that for the
first-run flow atm (see #2945
#2945, #3021
#3021), and I kinda
like the idea of an intermediate "you signed in, good job!" screen for
embedded device flows like this. Would such a screen be sensible/useful in
the android case as well, as a success state.

You read my mind. In discussions with @antlam, we focused on connecting
the fxa-content-server "success" transition (you signed in) to the user's
intent being fulfilled (you're syncing). @antlam is not a fan of
interstitials and wanted an animated notification icon to appear. (This
mirrors a new download on Fennec and also the "Sync will start" dropdown on
Desktop.) I'd like to do that animated notification icon and have the
fxa-content-server say "you're connected".

Worth noting this applies to both sign up/sign in and force_reauth:
"Welcome" and "Welcome back", respectively.

@stomlinson, @zaach: sorry I didn't know of this when we talked about
Fennec asks. Do you have thoughts about this?

@shane-tomlinson
Copy link
Member

@shane-tomlinson shane-tomlinson commented Sep 9, 2015

ref #2771

@shane-tomlinson
Copy link
Member

@shane-tomlinson shane-tomlinson commented Sep 9, 2015

@ncalexan - @zaach and I are wondering - do you want a new interstitial screen, or an animation on the settings screen post-signup/signin/whatever?

@shane-tomlinson
Copy link
Member

@shane-tomlinson shane-tomlinson commented Sep 9, 2015

@ncalexan - also, what's the time frame for this?

shane-tomlinson pushed a commit that referenced this issue Sep 29, 2015
…bjects.

This allows for more concise behavior declarations in brokers as well as
provide an abstract type that can be consumed by views in an abstract sense.
A view just calls the behavior with itself and lets the behavior do the rest.
No more adding new code to a bunch of views to add new functionality!

issue #2771
shane-tomlinson pushed a commit that referenced this issue Sep 29, 2015
…bjects.

This allows for more concise behavior declarations in brokers as well as
provide an abstract type that can be consumed by views in an abstract sense.
A view just calls the behavior with itself and lets the behavior do the rest.
No more adding new code to a bunch of views to add new functionality!

issue #2771
shane-tomlinson pushed a commit that referenced this issue Sep 29, 2015
…bjects.

This allows for more concise behavior declarations in brokers as well as
provide an abstract type that can be consumed by views in an abstract sense.
A view just calls the behavior with itself and lets the behavior do the rest.
No more adding new code to a bunch of views to add new functionality!

issue #2771
shane-tomlinson pushed a commit that referenced this issue Sep 29, 2015
…bjects.

This allows for more concise behavior declarations in brokers as well as
provide an abstract type that can be consumed by views in an abstract sense.
A view just calls the behavior with itself and lets the behavior do the rest.
No more adding new code to a bunch of views to add new functionality!

issue #2771
shane-tomlinson pushed a commit that referenced this issue Sep 29, 2015
…bjects.

This allows for more concise behavior declarations in brokers as well as
provide an abstract type that can be consumed by views in an abstract sense.
A view just calls the behavior with itself and lets the behavior do the rest.
No more adding new code to a bunch of views to add new functionality!

issue #2771
shane-tomlinson pushed a commit that referenced this issue Sep 29, 2015
…bjects.

This allows for more concise behavior declarations in brokers as well as
provide an abstract type that can be consumed by views in an abstract sense.
A view just calls the behavior with itself and lets the behavior do the rest.
No more adding new code to a bunch of views to add new functionality!

issue #2771
shane-tomlinson pushed a commit that referenced this issue Sep 29, 2015
* signin_complete, force_auth_complete

issue #2771
shane-tomlinson pushed a commit that referenced this issue Sep 30, 2015
…bjects.

This allows for more concise behavior declarations in brokers as well as
provide an abstract type that can be consumed by views in an abstract sense.
A view just calls the behavior with itself and lets the behavior do the rest.
No more adding new code to a bunch of views to add new functionality!

issue #2771
shane-tomlinson pushed a commit that referenced this issue Sep 30, 2015
…bjects.

This allows for more concise behavior declarations in brokers as well as
provide an abstract type that can be consumed by views in an abstract sense.
A view just calls the behavior with itself and lets the behavior do the rest.
No more adding new code to a bunch of views to add new functionality!

issue #2771
shane-tomlinson pushed a commit that referenced this issue Sep 30, 2015
* signin_complete, force_auth_complete

issue #2771
shane-tomlinson pushed a commit that referenced this issue Sep 30, 2015
* signin_complete, force_auth_complete

issue #2771
shane-tomlinson pushed a commit that referenced this issue Sep 30, 2015
* signin_complete, force_auth_complete

issue #2771
shane-tomlinson pushed a commit that referenced this issue Sep 30, 2015
* Hook up support for the signin_complete and force_auth_complete screens.
* Disable support for the signup marketing material.
* Add a "Sync preferences" button to the *_complete screens.

issue #2771
shane-tomlinson pushed a commit that referenced this issue Oct 1, 2015
* Hook up support for the signin_complete and force_auth_complete screens.
* Disable support for the signup marketing material.
* Add a "Sync preferences" button to the *_complete screens.

issue #2771
shane-tomlinson pushed a commit that referenced this issue Oct 2, 2015
* Hook up support for the signin_complete and force_auth_complete screens.
* Disable support for the signup marketing material.
* Add a "Sync preferences" button to the *_complete screens.

issue #2771
shane-tomlinson pushed a commit that referenced this issue Oct 2, 2015
* Hook up support for the signin_complete and force_auth_complete screens.
* Disable support for the signup marketing material.
* Add a "Sync preferences" button to the *_complete screens.

issue #2771
shane-tomlinson pushed a commit that referenced this issue Oct 2, 2015
* Hook up support for the signin_complete and force_auth_complete screens.
* Disable support for the signup marketing material.
* Add a "Sync preferences" button to the *_complete screens.

issue #2771
shane-tomlinson pushed a commit that referenced this issue Oct 5, 2015
* Hook up support for the signin_complete and force_auth_complete screens.
* Disable support for the signup marketing material.
* Add a "Sync preferences" button to the *_complete screens.

issue #2771
shane-tomlinson pushed a commit that referenced this issue Oct 5, 2015
* Hook up support for the signin_complete and force_auth_complete screens.
* Disable support for the signup marketing material.
* Add a "Sync preferences" button to the *_complete screens.

issue #2771
shane-tomlinson pushed a commit that referenced this issue Oct 5, 2015
* Hook up support for the signin_complete and force_auth_complete screens.
* Disable support for the signup marketing material.
* Add a "Sync preferences" button to the *_complete screens.

issue #2771
@shane-tomlinson shane-tomlinson changed the title Improve /signup_completed for fennec Fennec integration tracking issue. Oct 5, 2015
shane-tomlinson pushed a commit that referenced this issue Oct 6, 2015
Based primarily on @vladikoff's work from commit
223f6d4

* Only enabled for fx_fennec_v1
* Extract `onSignUpSuccess` into its own mixin to share.
  * Shared between views/permissions.js, views/sign_up.js, and views/choose_what_to_sync.js
* Add the fancy new checkboxes to the choose what to sync screen.
* Use the newest, flashiest image for "Choose what to Sync"

issue #3080
issue #2771
@shane-tomlinson
Copy link
Member

@shane-tomlinson shane-tomlinson commented Oct 7, 2015

I'm closing this since the bulk of user facing work is released and separate issues are filed for the last remaining issues.

@vladikoff
Copy link
Contributor

@vladikoff vladikoff commented Oct 7, 2015

Woohoo!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants