Open Bug 1161223 (androidwebfxa) Opened 5 years ago Updated 5 years ago

[meta] Replace Android native Firefox Accounts implementation with web based implementation

Categories

(Firefox for Android :: General, defect)

defect
Not set
normal

Tracking

()

People

(Reporter: nalexander, Unassigned)

References

(Depends on 1 open bug)

Details

(Keywords: meta)

This ticket tracks scoping a replacement implementation of Firefox Accounts in Firefox for Android.  Right now, Android implements a custom Firefox Accounts sign up/sign in experience in Android native widgets.  It's super nice!  Just kidding, it's crufty and the code has grown in unexpected directions.

Reasons this ticket is interesting:

* We'd like to unify our sign up/sign in experience across platforms: Desktop, Android, and iOS.
* We don't collect metrics on our sign up/sign in experience on Android.
* We can't easily A/B test our experience in native code.
* We lag to re-implement UX improvements on Android that are done first on the web.  (Floating suggestion text out of text boxes; auto-correcting typoed email addresses; completely changing the COPPA sign in flow).
* We're almost certainly never going to implement a whole class of features that are very web-centric, like third party OAuth flows.  (See Bug 1158875.)
* Eventually, we may want flexibility around where keys come from.  In this case we may want to use kA from the auth server.
Depends on: 1161234
I just want to mention how happy seeing this bug makes me.
I'd like to add a related user point-point to this open bug to support the prioritization of this project.  We still have a small but constant volume of confused user feedback stemming from users entering the wrong email address during the sign-up flow:  https://input.mozilla.org/en-US/?q=sync+%2B+email&product=Firefox+for+Android&date_start=2015-02-11

It appears that user confusion was not fully alleviated by the bug to add the remove your account option: https://bugzilla.mozilla.org/show_bug.cgi?id=984503

Thanks
Depends on: 1178924
Based on discussion with :nalexander today, I'm marking this work as a blocker for p11 production release.  If there's a smaller subset of this work that will be sufficient to enable p11 release then we should tease it out into a separate bug.
No longer depends on: 1178924
Depends on: 1178924
vivek asked, and then I replied:

Bug 1161223:

* Would this scrap StatusActivity, I'm guessing yes. We would show everything using Native web UI and use WebChannel.
* If yes for above what happens to Android AccountManager?

Not quite.  The Status Activity is the equivalent of Desktop's about:preferences#sync.  We need a place to show account status even when we're offline.  There's no particular advantage to having it native, but there's no rush to build the same thing as a chrome:// HTML + JS page either.  Plus, native looks decent in our settings.

What will happen is that (over time!) the Status Activity will shrink (to not include Sync checkboxes, for example) and become more just a "state indicator" and links to manage things on the web.  That is, the Status Activity shows you your local device status, and the web shows you your global and remote status.

The AccountManager code needs to remain, since you must have an Account type in order to use the Android SyncAdapter framework.

Nice to have:
* We should avoid tab queuing for certain Urls say like TOS, Privacy Notice, profile setting in Android Sync. Further,  this should always switch to an existing tab if it is already open. This would require adding extra data to intents and may be whitelisting urls to avoid tab queueing.

Adding extra data: agreed.  The flag already exists but isn't used in the Status Activity.  (Or elsewhere in android-sync.  See ActivityUtils.openInFennec.)  Can you file a ticket to make this so?

* How does above comment if valid sync with 1161223?

They are independent, I think.
Component: Firefox Accounts → General
Product: Android Background Services → Firefox for Android
Depends on: 1205418
Depends on: 1205734
Depends on: 1205754
Depends on: 1205817
Depends on: 1213812
Depends on: 1216333
QA Contact: mihai.ninu
You need to log in before you can comment on or make changes to this bug.