[UX] The UX specs for the returning user experiences

VERIFIED FIXED in Firefox 55

Status

()

enhancement
P1
normal
VERIFIED FIXED
2 years ago
2 years ago

People

(Reporter: Fischer, Assigned: verdi)

Tracking

(Blocks 1 bug)

unspecified
Firefox 55
Points:
---
Dependency tree / graph
Bug Flags:
qe-verify -

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [photon-onboarding][ux])

Attachments

(2 attachments, 2 obsolete attachments)

(Reporter)

Description

2 years ago
The UX specs for the returning user experiences
(Reporter)

Updated

2 years ago
Whiteboard: [photon-onboarding][ux]
(Reporter)

Updated

2 years ago
Blocks: 1268708
Target Milestone: --- → Firefox 55
Assignee: nobody → mverdi
Status: NEW → ASSIGNED
(Assignee)

Comment 1

2 years ago
Posted image returning-user-experience.png (obsolete) —
The idea of the Returning User experience is to take people who have not used Firefox in a long time (exact interval TBD) and treat them like a new user while saving their important data (bookmarks, passwords, etc.). As such, the experience is like the new user experience with 2 important changes:
* We should not run automigration. We'll use the existing Firefox data.
* We should not offer the account sign-in step since if the user had an account and was signed in they would still be signed in. Instead we should show an alternate version of the firstrun page that just includes the wow moment animation (sun rising, pause, and then zoom into the sun) leading to the new tab page automatically.

So how do we turn a returning user into a new user? On startup we want to check the last time Firefox was active. If that is longer than our threshold (TBD, maybe a month or so) then we'll also want to check to see if this process has been done already. I don't think we'd want to do this on a profile more than once a year. If you make it past both checks we'll clean up the profile. Assuming this feature doesn't ship earlier than Firefox 57, this could mean doing an automatic refresh along with copying over compatible extensions or, if that's not feasible, we could reset all browser preferences. Then we'd want to NOT restore the user's session, skip automigration, show the "wow moment" and automatically take the user to the new tab page. From here, the experience will be just like a new user, namely that they would then get the new user tour overlay and notifications.
Flags: qe-verify-
Priority: -- → P1
(Assignee)

Comment 2

2 years ago
Posted video wow.mp4
For a returning user that we've performed auto-refresh on, we don't need to show them the account sign in form on the first run page. If they were signed into their account before the refresh, they'll still be signed in after. So in this case we'll want a version of the firstrun page that just includes the "Wow" animation and does not include the sign in form. The attached video demonstrates what it should look like.

Erica Wright built the original version of this page (with the sign in form). Here are links to her work:

The first Pull Request which has all of the relevant files - though the code has changed a bit since then, it’ll show where to look: https://github.com/mozilla/bedrock/pull/4579/files

the html: https://github.com/mozilla/bedrock/blob/master/bedrock/firefox/templates/firefox/firstrun/new-firstrun.html

the JS: https://github.com/mozilla/bedrock/blob/master/media/js/firefox/firstrun/new-firstrun.js

the styles: https://github.com/mozilla/bedrock/blob/master/media/css/firefox/firstrun/new-firstrun.less
I'm not sure why we don't want to do the automigration for the Returning User.
Since they have been leaved Firefox for a while, the reasonable guess is they used some other browser in that period. It seems a good timing to ask or import those data from other browser and make them continue to use Firefox seamlessly.

Comment 4

2 years ago
Hi Michael,
Wondering (In reply to Verdi [:verdi] from comment #1)
> Created attachment 8862610 [details]
> returning-user-experience.png
> 
> The idea of the Returning User experience is to take people who have not
> used Firefox in a long time (exact interval TBD) and treat them like a new
> user while saving their important data (bookmarks, passwords, etc.). As
> such, the experience is like the new user experience with 2 important
> changes:
> * We should not run automigration. We'll use the existing Firefox data.
> * We should not offer the account sign-in step since if the user had an
> account and was signed in they would still be signed in. Instead we should
> show an alternate version of the firstrun page that just includes the wow
> moment animation (sun rising, pause, and then zoom into the sun) leading to
> the new tab page automatically.
> 
> So how do we turn a returning user into a new user? On startup we want to
> check the last time Firefox was active. If that is longer than our threshold
> (TBD, maybe a month or so) then we'll also want to check to see if this
> process has been done already. I don't think we'd want to do this on a
> profile more than once a year. If you make it past both checks we'll clean
> up the profile. Assuming this feature doesn't ship earlier than Firefox 57,
> this could mean doing an automatic refresh along with copying over
> compatible extensions or, if that's not feasible, we could reset all browser
> preferences. Then we'd want to NOT restore the user's session, skip
> automigration, show the "wow moment" and automatically take the user to the
> new tab page. From here, the experience will be just like a new user, namely
> that they would then get the new user tour overlay and notifications.

Hi Michael, 
Wondering what it takes for us to decide the inactive period to account one as a returning user. Is it based on people feel unfamiliar with a product after stop using it for x period of time? Is it based on once a user is inactive for x period of time, the chance for them to return is minimum? Is it based on how different the product experience is since x months ago? Just want to check if you have given this some thoughts or have some previous discussions. I can also check strategy & insights channel and see if they have ideas there.
Flags: needinfo?(mverdi)
(Assignee)

Comment 5

2 years ago
(In reply to chsiang from comment #4) 
> Hi Michael, 
> Wondering what it takes for us to decide the inactive period to account one
> as a returning user. 

Hi Cindy,
Looks like it didn't get noted in here but we decided on 60 days. Peter might be able to say more but the basic reason was most users have inactive periods of less than 30 days so we didn't want to make it too short and catch too many people. And we think 60 day is far enough out that you've really stopped using Firefox.
Flags: needinfo?(mverdi)
According to the meeting this morning we are going to completely remove the time-based auto-refresh and only hint opt-in the user to refresh their profile from stub installer. Michael, please update the flow chart and stuff accordingly as we agreed this morning. Fischer, you might want to re-align the scope/bug/breakdowns with the updated spec.
Flags: needinfo?(mverdi)
Flags: needinfo?(fliu)
(Reporter)

Comment 7

2 years ago
(In reply to Tim Guan-tin Chien [:timdream] (please needinfo) from comment #6)
> According to the meeting this morning we are going to completely remove the
> time-based auto-refresh and only hint opt-in the user to refresh their
> profile from stub installer. Michael, please update the flow chart and stuff
> accordingly as we agreed this morning. Fischer, you might want to re-align
> the scope/bug/breakdowns with the updated spec.
Yes, I will update the Bug 1351616 - Trigger Refresh Firefox if users don't user Firefox over 60 days and Bug 1369255 - Profile clean-up option in stub installer.
Flags: needinfo?(fliu)
(Assignee)

Comment 8

2 years ago
Posted image Returning-User---Refresh-opt-out.png (obsolete) —
(In reply to Tim Guan-tin Chien [:timdream] (please needinfo) from comment #6)
> Michael, please update the flow chart and stuff
> accordingly as we agreed this morning. 

I've attached the new flowchart. It details the aspects that happen in the stub installer (bug 1369255) and in Firefox. Some things to note:
* As we discussed at the Photon workweek in Toronto, this flow is dependent on the stub installer and thus limited to Windows users who do a paveover update or reinstall.
* The requirement to migrate add-ons still needs to be discussed. That's happening later this week.

(In reply to Fred Lin [:gasolin] from comment #3)
> I'm not sure why we don't want to do the automigration for the Returning
> User. Since they have been leaved Firefox for a while, the reasonable guess is
> they used some other browser in that period. It seems a good timing to ask
> or import those data from other browser and make them continue to use
> Firefox seamlessly.
That's a good point. We would like to do this but after discussing it, it seems like a good deal of work and risk so we should postpone that to a later version.
Attachment #8862610 - Attachment is obsolete: true
Flags: needinfo?(mverdi)
(Assignee)

Comment 9

2 years ago
(In reply to Verdi [:verdi] from comment #8)
> * The requirement to migrate add-ons still needs to be discussed. That's
> happening later this week.

The team met yesterday and decided that migrating add-ons is not feasible in the Firefox 57 time frame.
Attachment #8874676 - Attachment is obsolete: true
(Assignee)

Updated

2 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → FIXED
Marking as verified since the specs are in comment 9.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.