Thank you Mark for clarifying all the complicated use cases! You always
have the clearest logic in the thread :)

I've discussed your idea( which is to ignore the edge case for now) with
Joe C and we both agree on it. Since it's not the-end-of-the-world use case
and users still can go to preferences to enable autofill sync, I guess we
can ignore this case in 56.

So it sounds good to me (and Joe)!

Juwei


On Wed, Jun 14, 2017 at 5:17 PM, Mark Hammond <mhamm...@mozilla.com> wrote:

> On 6/13/17 6:10 PM, Juwei Huang wrote:
>
>>     I believe the intention is that when a doorhanger is shown for the
>>     user to opt-in to the feature itself (ie, to storing
>>     address/credit-card information locally), there will be an
>>     additional checkbox shown for sync users where they can also opt-in
>>     to syncing the data.
>>
>>
>> It makes sense to the users new to autofill, and I’ve already covered the
>> scenario in autofill ux spec:
>> https://mozilla.invisionapp.com/share/AP8TFZ22G#/185446463_1-5_Autofill
>>
>> The doorhanger[1] only shows up **one time** when users login FxA and
>> encounter the *first* form.
>>
>
> Thanks the the pointer to that mockup.
>
> Thinking more about this, and given the other sub-thread re Android and
> rnewman/rfkelly's comments, I think what we need to do is, roughly, (2).
> The lazy me wanted (1), but I don't think that works.
>
> * Desktop will add support for the engines, disabled by default.
>
> * For account creation, only Desktop Firefox 56+ will be offered the new
> engines. It will flip the state of the new engines to enabled if they are
> selected and will update the "declined" set otherwise.
>
> * Android can support the round-tripping engine (bug 1360359), but *will
> not* have that engine exposed in any UI - neither the web-based "create
> account" flow, nor the local "sync options". It will only get that UI
> support when it gets the autofill feature, at which time it will replace
> that round-tripping engine. In the meantime, it will do the round-trip sync
> whenever they aren't. Grisha, does that sound good?
>
> So in effect, people creating an account on Android/ESR will be in the
> same position as all existing users are.
>
> However, it doesn’t cover the case that users have used autofill feature
>> before *login*.
>> For example, users sign up FxA in computer A when it’s Firefox 55, and
>> use another computer B without login FxA. Now Firefox in computer B is
>> updated to 56, and users start to use autofill in B without login FxA. If
>> they login FxA afterward after using autofill for a while, there is no hint
>> to tell users to sync autofill.
>>
>
> Yes, that's a good point.
>
> So I prefer, in this case, users would see sync autofill option in *login
>> page* instead of doorhanger.
>>
>
> For various reasons, I don't think we can make that happen for 56 (the
> server simply doesn't know if it applies at signin time, and the client
> doesn't know as it's not yet signed in.)
>
> However, I expect these users are somewhat edge-cases. The absolute
> worst-case is that they need to visit about:prefs and enable the engine -
> and that might be OK for MVP.
>
> However, if we use doorhanger to handle sync, it would be a different door
>> hanger from doorhanger[1] and it makes less sense to me to show sync option
>> at the moment when users focus on autofilling a form.
>>
>
> Yes, we could show a slightly amended doorhanger at any time. I agree that
> simply interacting with the feature may not be a good time, but maybe it's
> not that bad given these users are unfortunate to be in this state at all.
> Or maybe just the next time they save a profile (ie, at the same time we
> would have first prompted for local saving)?
>
> To me, it’s a little weird to see autofill in one of my sync options but I
>> cannot find anywhere to use it on my phone. If we prefer to go for this
>> proposal, could we at least inform users that autofill only available in
>> desktop (for now)?
>>
>
> As above, the lazy me was hoping we could get away with just showing it
> everywhere, but I'm now convinced that's not going to work - Android
> shouldn't offer this engine.
>
> So, my current thinking says the UX looks roughly like:
>
> * Desktop user creating account on 56+: new engines offered at creation
> time. May or may not have opted in to the local feature, but it doesn't
> matter - that's the simple case.
>
> * Desktop user upgrading to 56 with existing Sync account: (ie, existing
> sync users). New engines appear in about:prefs but are disabled. First time
> doorhanger shown for the local feature the "also sync?" checkbox is in the
> doorhanger, and this flips the new engines to enabled.
>
> * Android/ESR user creating an account (1): Not presented with the new
> engines. Signin in to the account on desktop will *not* present the engines
> - hopefully it's a fairly new profile so they haven't yet opted in to
> formautofill on the profile.
>
> * Android/ESR user creating an account (2): Not presented with the new
> engines. Signin in to the account on desktop, but *have* already opted in
> to the local feature. This is Juwei's scenario above - worst case, must
> find about:prefs, best case is that we show a modified doorhanger.
>
> And what this means to engineering:
>
> * New engines are landed with pref defaulted to disabled.
> * FxAccounts/Browser handshake is extended to indicate if the new engines
> should be enabled, and whether they were actually shown. Or maybe UA sniff
> - we can work those details out.
> * Desktop changes a little so if it is sure the new engines were displayed
> and they weren't declined, we explicitly enable the engine.
> * Android/iOS doesn't change at all.
> * The "declined" feature basically does as it was designed to do - the
> engine will not be marked as "declined" when the account is created on
> Android (and obviously isn't marked as declined for existing users). Yay
> Richard ;)
>
> So the only 2 outstanding questions I see are:
>
> * This *doesn't* handle a case where the *entire* autofill feature is
> disabled for some obscure reason (eg, addon breakage? Something else?). I
> propose we commit to this feature in 56+, so even if the entire feature
> *is* disabled, we assume it is temporary and still offer the engine and
> continue as normal, assuming it will be back any second now :)
>
> * The edge case from Juwei (ie, somehow already have opted in to the local
> feature without being asked about sync) is, largely, ignored - we make a
> best-effort for a modified doorhanger, but would accept those users might
> need to visit about:prefs in the worst case.
>
> Does that sound OK?
>
> Thanks,
>
> Mark
>



-- 
Juwei
_______________________________________________
Dev-fxacct mailing list
Dev-fxacct@mozilla.org
https://mail.mozilla.org/listinfo/dev-fxacct

Reply via email to