Closed Bug 1110508 Opened 9 years ago Closed 8 years ago

Hello "Import" function should be hidden if no OAuth keys are available

Categories

(Hello (Loop) :: Client, defect, P3)

defect

Tracking

(Not tracked)

RESOLVED INVALID
backlog backlog+

People

(Reporter: abr, Unassigned)

References

Details

(Whiteboard: [contacts])

In Bug 1106854, glandium raises the perfectly reasonable point that a Firefox build without the Google OAuth key shouldn't result in an incomprehensible user experience when they try to import contacts.

I can imagine at least three ways to handle this when no OAuth key is present: (1) Hide the "import" button; (2) Grey out/disable the "import" button (possibly with some discoverable help information?); or (3) Keep the "import" button, but have it open up a more comprehensible error message.

While (3) would likely lead more downstream projects to set the feature up (if done properly), I think (1) is probably the preferable user experience (hence the current title of the bug)
Sevaan: your thoughts on the best path forward?
Flags: needinfo?(sfranks)
Another longer-term approach would be to expose the CardDAV importer and use it for Google contacts when an OAuth key isn't available. That would require even more UX and probably some new engineering to do things like integrate the password store. If we took this path, we would also be blocked on the Firefox/GFE/DAV/H2 issue, although I think there may be some hacky workarounds available now (based on conversations with Patrick last week).
> (1) Hide the "import" button; 

This is a good idea except for when a user is specifically looking to import and can't see how to do that. That could be a frustrating experience. I would much rather have the button stay active and a better error message displayed (Option 3).

I think this whole import function needs to be rejigged a little. For one thing, can we bring the process into the panel instead of as a separate popup?
Flags: needinfo?(sfranks)
mreavy to add the non-user friendly version of the error

Sevaan recommended option 3 - so we need to determine a better error message.
backlog: --- → Fx38+
Flags: needinfo?(mreavy)
Flags: needinfo?(matej)
Priority: -- → P3
The user less-friendly message is: "This build of Firefox does not support importing Google contacts because it was not built with a valid Google OAuth key."

I'll leave it Matej to make that more user friendly.
Flags: needinfo?(mreavy)
Can I get a little more context for what OAuth is and why someone wouldn't have it in their version of Firefox? Would this type of user understand terms like "build" and "OAuth"? Or can we skip stating the exact reason why?
Flags: needinfo?(matej) → needinfo?(mreavy)
OAuth is an open standard that specifies how to do authorization: http://en.wikipedia.org/wiki/OAuth.

The Firefox version for these users is coming from re-distributors of Firefox who make their own builds (e.g. Fedora, Ubuntu, Debian).  Many of these users are quite tech savvy. It's not that their Firefox versions are missing OAuth support;  these versions of Firefox are missing the OAuth token or key for Google contacts needed when building Firefox (if you want contacts import to work).  Quoting from the wiki page:  "In the case of OAuth, the application specifically requests a limited access OAuth Token (valet key) to access the APIs on the user's behalf (which typically explicitly names the particular rights requested, and does not require the user to enter credentials at all)."   

If the re-distributor creates a key or token and includes it in their build of Firefox (abr has a wiki page explaining how to do that), contacts importing will work.  Currently they are not, and that's why Contacts importing isn't working in those versions.
Flags: needinfo?(mreavy)
Thanks, Maire. That's all a little over my head, but it sounds like using those terms is the right thing to do for these users. Here's what I'm thinking:

You can not import Google contacts into this build of Firefox because it is missing a valid Google OAuth key.
(In reply to Sevaan Franks [:sevaan] from comment #3)
> I think this whole import function needs to be rejigged a little. For one
> thing, can we bring the process into the panel instead of as a separate
> popup?

I'm afraid not, the OAuth authentication flow know a couple of screens that are in control of Google in terms of UI. Websites also need to use popups to implement this authentication mechanism.
(In reply to Matej Novak [:matej] from comment #8)
> Thanks, Maire. That's all a little over my head, but it sounds like using
> those terms is the right thing to do for these users. Here's what I'm
> thinking:
> 
> You can not import Google contacts into this build of Firefox because it is
> missing a valid Google OAuth key.

This message can be shown once bug 1076764 is implemented.
Depends on: 1076764
I Folks, I'm a 'user' in the position of not having Hello work for the reasons here and Bug 1106854.

I'd like to suggest the import function should not be hidden - and neither should 'users' be given an more comprehensible error message re Comment 0 - instead, 'users' should be given instruction on how to get their own OAuth Client ID and Key.  I'd suggest it's pretty straight forward for those 'users' likely to be using FF in the user case scenario in which this issue arises.  That is 'users' of Debian, Ubuntu, Fedora, etc

Straight forward instructions are given here:
https://wiki.mozilla.org/Loop/OAuth_Setup

It took me no more than a few minutes to set up.  I suspect - but, not sure - that it's only possible to set up if you have a Google Apps account, but that's perhaps a large number of people?  And for those that don't, well they'll get a comprehensive explanation of what the problem is and how to fix it and perhaps they can ask someone with a Google Apps account to create them an OAuth Client ID and Key pair?

Thanks.
backlog: Fx38+ → backlog+
Rank: 35
Flags: firefox-backlog+
Whiteboard: [contacts]
Because we no longer have contacts in the product this bug no longer applies.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.