Closed Bug 749195 Opened 12 years ago Closed 3 years ago

[sitb] Implement profile creation and switching

Categories

(Firefox for Android Graveyard :: General, defect)

All
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: mfinkle, Unassigned)

References

Details

      No description provided.
Assignee: nobody → bugmail.mozilla
OS: Windows 7 → Android
Hardware: x86_64 → All
:mfinkle says he has an addon that does this already, at people.mozilla.com/~mfinkle/fennec/addons/mobileprofiles.xpi - we need to bake this behaviour into the browser and figure out UX around it.
CC'ing sync folks as well as this will probably impact sync.
Thanks, kats; yes, this is a non-trivial thing. I leave it to Nick to link to the relevant multi-account bugs. :D 

What kind of timeline are you thinking of? 

This is probably strongly tied to UX for "Firefox Account" (whatever that turns out to be), which will be the setup experience for Sync 2.0. I don't think it makes sense to have two different experiences for logging in to Firefox. 

Regardless, there's a lot of design and implementation that needs to be done around handling of multiple Sync accounts and profiles. Some we're aware of, but we should sit down and figure out a plan, and fit it into the roadmap for probably Q2 or Q3.
I we are looking into support for "Guest Mode" as well, we could probably move ahead without Sync support. Guest Mode probably doesn't require Sync, where true Multiple Profile support would, ideally.
Concur. Would just need to make sure that all the right interfaces point to the right profile dirs and databases. Tabs probably needs touching. 


And to make sure that the CPs support concurrent access to two profiles… and all the Android observers are profile aware.
> And to make sure that the CPs support concurrent access to two profiles… and
> all the Android observers are profile aware.

Relevant to my interests: how exactly are profiles specified?  (I think it's by a query parameter.)  How do query parameters interact with Android observers?

Context: Bug 830884: I am adding notifications to `bulkInsert` and believe I don't need to consider profiles, but am not certain.
(In reply to Richard Newman [:rnewman] from comment #3)
> What kind of timeline are you thinking of? 

Multiple profile support is on the mobile platform Q1 goal list [1]. However, as you guys said in comments 4 and 5, we don't need to support sync in all of the profiles right away, and that can be targeted for Q2 or Q3. I'd like to limit this specific bug in scope to the things in comment 5 - ensuring that all of the android java code can deal with switching profiles (i.e. doesn't assume/hard-code a specific profile) and allowing some way to start firefox with a specific profile (probably as an intent extra for now).

[1] https://wiki.mozilla.org/Platform/2013-Q1-Goals#Mobile
(In reply to Nick Alexander :nalexander from comment #6)

> Relevant to my interests: how exactly are profiles specified?  (I think it's
> by a query parameter.)

Correct, at least right now.

> How do query parameters interact with Android
> observers?

ContentObservers are registered for a URI. I can't imagine that query params count as a "base URI". Android doesn't know that there are multiple databases backing one of our content providers, so each SyncAdapter would presumably get notified, unless we changed something about our observers.

Or we could programmatically filter them, of course.

> Context: Bug 830884: I am adding notifications to `bulkInsert` and believe I
> don't need to consider profiles, but am not certain.

You probably don't, because you just notify for the URI, and the CR/CP/CO mechanism does the right thing. But we probably need to alter our URI scheme.
> > Context: Bug 830884: I am adding notifications to `bulkInsert` and believe I
> > don't need to consider profiles, but am not certain.
> 
> You probably don't, because you just notify for the URI, and the CR/CP/CO
> mechanism does the right thing. But we probably need to alter our URI scheme.

This agrees with my interpretation.  Thanks for clarifying.
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #7)

> I'd like to limit this specific bug in scope to the things in comment 5 -
> ensuring that all of the android java code can deal with switching profiles
> (i.e. doesn't assume/hard-code a specific profile) and allowing some way to
> start firefox with a specific profile (probably as an intent extra for now).

I broadly think that's a good idea, though that still provides some UX pain: e.g., if a user tries to set up Sync for two different profiles (won't work), or sets up Sync in the non-default profile (will do exactly the opposite of what they expect).

We can cut off some avenues to this pain, for example by greying-out the "Sync" settings entry if we're not the default profile, but in general Bug 707123 needs to be addressed.

Re-scoping to "support multiple profiles, where the UX allows only Me or Guest" would be less painful.
(In reply to Richard Newman [:rnewman] from comment #10)
> Re-scoping to "support multiple profiles, where the UX allows only Me or
> Guest" would be less painful.

Sounds good to me.
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #11)
> (In reply to Richard Newman [:rnewman] from comment #10)
> > Re-scoping to "support multiple profiles, where the UX allows only Me or
> > Guest" would be less painful.
> 
> Sounds good to me.

Guest mode is a different thing. We would like to enable a family to share a tablet and have their own individual usernames, passwords, bookmarks, history etc.
Assignee: bugmail.mozilla → nobody
Any update on this?
(In reply to Josh from comment #13)
> Any update on this?

SITB is not on any roadmaps right now. Maybe later in the year.
We have completed our launch of our new Firefox on Android. The development of the new versions use GitHub for issue tracking. If the bug report still reproduces in a current version of [Firefox on Android nightly](https://play.google.com/store/apps/details?id=org.mozilla.fenix) an issue can be reported at the [Fenix GitHub project](https://github.com/mozilla-mobile/fenix/). If you want to discuss your report please use [Mozilla's chat](https://wiki.mozilla.org/Matrix#Connect_to_Matrix) server https://chat.mozilla.org and join the [#fenix](https://chat.mozilla.org/#/room/#fenix:mozilla.org) channel.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.