Download & Extend

Improve the living crap out of OpenID login help text

Project:Drupal core
Version:8.x-dev
Component:user interface text
Category:bug report
Priority:normal
Assigned:Unassigned
Status:needs work
Issue tags:drupal.org identity, ui-text, Usability

Issue Summary

James is demoing OpenID now in front of the LA meetup. It is not in any way obvious that:

1. It's looking for a URL like http://walkah.myopenid.com/
2. You are going to be whisked away to some other website once you submit the form
3. What happens next.

I almost think this is worth breaking the 6.x string freeze. :\

See attached screenshot for further critique.

AttachmentSizeStatusTest resultOperations
openid-usability.png42.33 KBIgnored: Check issue status.NoneNone

Comments

#1

Status:active» needs review

Here's a first stab.

AttachmentSizeStatusTest resultOperations
openid-fix-help-text-218323-1.patch1.08 KBIdleFAILED: [[SimpleTest]]: [MySQL] Unable to apply patch openid-fix-help-text-218323-1.patch.View details | Re-test

#2

Status:needs review» needs work

I love you, Angie.

#3

"Enter an OpenID provider URL"

I think this is too wordy/long, for the label I'd just use "Your OpenID".

For the description, "Enter your full OpenID URL. What is OpenID?".

Using a default value of just one of the many many providers would be a little unfair to the rest, it could also (possibly) cause some people to think that the website only 'supports' that particular provider. So I would take out the default value and use the description text to elaborate if needed.

#4

Agreed. The example could go in the description. Also, I remember that we kind of have the policy of default values being values that can actually be used - placing an "example" here breaks that expectation.

Note: Default form values are used by some websites to indicate an example that should not actually be used. These examples are cleared dynamically on focusing the text field (and could, for graceful degradation, be added dynamically too). However, that is probably more of a feature request for the next Form API - an '#example' for text fields that will be inserted with jQuery when no '#default_value' is set, removed on focus, and colored gray. It's not worth the trouble to manually implement that kind of behavior here...

#5

Component:documentation» user interface text

#6

Status:needs work» needs review
AttachmentSizeStatusTest resultOperations
issue-218323.patch1.16 KBIdleFailed: Failed to apply patch.View details | Re-test

#7

Here's another updated patch. It does a few things:

  1. Changes the textfield title to "Your OpenID" to make it clear that's what is supposed to be entered. Another alternative could be "Your OpenID URL".
  2. Adds an example to the description. This isn't finished - we should provide a working example, but how do we not favor one OpenID provider? So for now, it just uses the mythical 'openid.drupal.org' as the example.
  3. Adds a fieldset containing a brief summary of how OpenID works. Unfortunately, the OpenID site itself is pretty poor at this, and we don't want to be losing users as they try to log in. Again, I use a few examples of providers, because I think it's important to show that "known organizations" provide OpenID's. But, what organizations to actually list needs to be decided. While I don't have anything to back this up, intuitively I think that if users don't see recognizable names to use to log in with OpenID then it won't be used, or worse they won't log in at all.
  4. Adds the appropriate CSS and JS to make the fieldset work as expected.

I had wondered if we're going about this the wrong way. A dropdown allowing users to choose a provider where the URL is determined automatically might be the best solution. Choose a provider (with an API hook to allow modules to provide more), enter your username, and let Drupal figure the rest out. But, this would be beyond the scope of this issue :).

Thoughts and comments?

AttachmentSizeStatusTest resultOperations
218323_openid_help_text_7.patch3.51 KBIdleFailed: Failed to apply patch.View details | Re-test

#8

Status:needs review» needs work

The last submitted patch failed testing.

#9

Here is an updated patch which applies against HEAD, but the layout is now slightly broken in the user block and on /user.

AttachmentSizeStatusTest resultOperations
218323_openid_help_text_9.patch3.54 KBIdleFailed: Failed to apply patch.View details | Re-test

#10

Status:needs work» needs review

Changing status to "code needs review" to request test on new patch.

#11

Status:needs review» needs work

The last submitted patch failed testing.

#12

Status:needs work» needs review

Manually patched the failed chunks and re-rolled.

Seeing the following notice whenever the OpenID form is displayed

Notice: Undefined variable: form_id in _openid_user_login_form_alter() (line 117 of /Applications/MAMP/htdocs/drupal-head/modules/openid/openid.module).

This is corrected by applying the the patch from comment #14 from #287178: Use hook_form_FORM_ID_alter() where possible

should I roll that in as well?

AttachmentSizeStatusTest resultOperations
218323_openid_help_text_10.patch3.56 KBIdleFailed: 10267 passes, 1 fail, 0 exceptionsView details | Re-test

#13

I'm also receiving the following notices when logging in using OpenID for the first time

* Notice: Undefined index: values in openid_form_user_register_alter() (line 148 of /Applications/MAMP/htdocs/drupal-head/modules/openid/openid.module).
* Notice: Undefined index: values in openid_form_user_register_alter() (line 149 of /Applications/MAMP/htdocs/drupal-head/modules/openid/openid.module).
* Notice: Undefined index: values in openid_form_user_register_alter() (line 156 of /Applications/MAMP/htdocs/drupal-head/modules/openid/openid.module).

which are covered here #230934: Undefined index when creating account via OpenID

#14

Updated patch with CSS fix for OpenID logo & changed form weights so the fieldset always shows below the OpenID login link.

AttachmentSizeStatusTest resultOperations
218323_openid_help_text_11.patch3.92 KBIdleFailed: 10268 passes, 1 fail, 0 exceptionsView details | Re-test

#15

  1. The character length of the legend makes the fieldset overflow the sidebar, could we shorten the legend from "How do I log in with OpenID?" to "What is OpenID?"
  2. Why are we hiding the OpenID Help fieldset when canceling an OpenID login attempt? the help should stay available.

I've attached samples of what #1 would look like.

AttachmentSizeStatusTest resultOperations
218323_openid_help_text_sidebar_collapsed.png7.79 KBIgnored: Check issue status.NoneNone
218323_openid_help_text_sidebar_expanded.png18.41 KBIgnored: Check issue status.NoneNone
218323_openid_help_text_collapsed.png13.2 KBIgnored: Check issue status.NoneNone
218323_openid_help_text_expanded.png27.96 KBIgnored: Check issue status.NoneNone

#16

Status:needs review» needs work

The last submitted patch failed testing.

#17

I like the changes suggested in #15. Here's an updated patch which implements them. I'm also tagging this issue for the redesign as AFAIK the results of this will eventually be exposed on d.o as it's going to use OpenID for logins on subsites.

AttachmentSizeStatusTest resultOperations
218323_openid_help_text_12.patch2.1 KBIdlePASSED: [[SimpleTest]]: [MySQL] 20,933 pass(es).View details | Re-test

#18

I do not think, what is openID should be displayed on a normal login box, rather it should be displayed when one chooses the openID login method (Login using openID).

#19

Status:needs work» needs review

Looks like the last patch wasn't tested, so sending it to the testbot.

#20

Personally, I'm not sure this help text should be inline and part of every page. That feels a little heavy.

#21

Status:needs review» needs work

The last submitted patch failed testing.

#22

Also linked from the Redesign project #661708: Meta issue for misc modules: Drupal, OpenID Provider and API because this issue was tagged 'drupal.org redesign'

#23

Issue tags:+ui-text

tagging

#24

Priority:critical» normal

This is not critical. We obviously shipped D6 with totally non-sensical help text for OpenID. ;)

#25

subscribing

#26

Issue tags:-drupal.org redesign

Not part of the d.o redesign.

#27

Status:needs work» needs review

#17: 218323_openid_help_text_12.patch queued for re-testing.

#28

Version:7.x-dev» 8.x-dev
Status:needs review» needs work

talked to webchick, and it's too late to do this for d7, bumping to d8 and marking needs work...