On Aug 11, 2013, at 4:35 PM, Richard Newman <[email protected]> wrote:
>> You asked the desktop team, but I assume we'd use this for Android too. I am >> a little concerned about the flow since Android actually has a "Sync & >> Accounts" area in the OS Settings. The creation and login would likely >> happen without any involvement with Firefox. I think we need to investigate >> what it would take to get Firefox involved in the flow, if possible. If it's >> tricky, we'd need to fallback to use a native UI, like we do now. > > Embedding a GeckoView (or a WebView, which Harald Kirschner spent some time > trying to figure out last time 'round) during account creation should be > feasible. We have some control over that activity. Some of the other account > processes might be more challenging. > > Doing so for everything else that lives in settings — checkboxes, status, > etc. — very much goes against the OS grain. And if we'd be touching settings > and events from elsewhere — turning on a feature from Fennec prefs UI, from a > notification, etc. — then we'd need to make sure that all of that stuff had a > pure-Java interface, had canonical state in SharedPreferences, etc. etc. > > I think that the general thrust of this conversation has been "credentials > into a webview, token out, never touch the webview for anything else", so > these complexities likely won't come up, but I figured I'd draw a line there. I'm not sure what the right decision is for Android, but I would leave open the possibility of using native Android UI/components for auth. My general POV is that you should not fight too hard against how the platform wants you to do things. Firefox Desktop and FxOS love the web. WebViews on Android are not first class citizens compared to native Android components [1]. Lessons learned from other projects that have built Android and iOS apps using WebViews suggest that it's important to pepper in native components when the UI needs to be highly responsive (in the "fast" sense of responsive). "Log in to device" is one case where I think we need to be highly responsive. That said, there may be room for the web implementation on Fx Android. "Password reset" may be infrequent enough compared to "sign in" or "sign up" that it's acceptable to do it in a WebView. I also think we should consider baking in an error path that triggers the web login flow, but we don't necessarily use it in v1. In the future, we may offer something like two-factor authentication and it would be nice if we had a flow for 2FA users to log in on legacy Android installs [2]. And yeah, to echo previous opinions: web content implementation would only be for auth. The sync storage will be baked in, so the settings and preferences for sync should be baked in on all platforms. -chris [1] I'm not familiar with GeckoViews, but maybe they're a better alternative to this problem for us. [2] Or possibly the primary way 2FA users log in. FWIW, this is how Chrome for Android does it: native UI for mainline, falls back to web when 2FA is enabled.
_______________________________________________ Sync-dev mailing list [email protected] https://mail.mozilla.org/listinfo/sync-dev

