Keyboard workflow when generating new login... possible without the Escape key?

Options
bruinbits
bruinbits
Community Member

I'm a very longtime 1p user. I've been using 1p4 since release, and there's something stuck in my brain that I can't seem to overcome: one seems to need to use the Escape key to signify "accept and continue" in a keyboard-only new login creation workflow.

Here are the exact keystrokes I use (assuming your vault is unlocked and Logins is already active):

  1. Cmd+N
  2. Mousedown
  3. Enter
  4. [name the login]
  5. Tab, Tab, Tab
  6. [record chosen username]
  7. Tab, Tab (now highlighting what looks like a safe's analog dial)
  8. Spacebar
  9. Escape
  10. Tab
  11. etc etc, filling in as many form details as one wishes. At the very least I always record what's now named "website"

What I'd like to be able to do is tab away from the password field into the next "Section" but it seems I need to hit "Escape" to get the password generator to close. In fact, only Escape or Cmd+S seem to cause that to close, and Cmd+S isn't good since I'm not really done with what I'm doing and I don't mean to "save and stop editing." Thus I claim here that Escape is effectively mapped to "accept and continue" the randomly generate password. This is super counter intuitive and frankly makes my brain hurt.

What am I missing here? 1p3 had a perfectly fine keyboard workflow for this type of job. It seems like the password generator widget is super aggressive about keeping itself open. Sure that would make sense if, say, hitting Space repeatedly caused new passwords to generate (maybe you didn't like the first option), but that's not even true. One must still hit Escape then Space to cause a new generation. I guess I don't understand, from a keyboard-only perspective, why that popup doesn't go away after one successful generation?

Is there some more intuitive (for guys like me) way to make new logins using only the keyboard? Am I missing something obvious that I should try?

Comments

  • sjk
    sjk
    1Password Alumni
    Options

    Hi @bruinbits,

    Thanks for your detailed description of this workflow and your issue with Escape key usage in it.

    For it to work that way, presumably you have All controls selected under System Preferences > Keyboard > Shortcuts:

    First, a quick tip. With Logins selected in the sidebar, or any Login item selected, you can simplify steps 1-3 into:

    1. Press Shift-Command-N (⇧⌘N) to run File > New Login.

    Hope that helps a bit. :)

    What I'd like to be able to do is tab away from the password field into the next "Section" but it seems I need to hit "Escape" to get the password generator to close.

    The way Tab behaves when keyboard focus is in the Password Generator popover, and requiring Escape to dismiss, is similar with (for example) Calendar app popovers for event editing:

    Using Escape to cancel/close is common and even recommended in OS X. Under the Full keyboard access section of OS X: Keyboard shortcuts:

    Esc     Click the Cancel button or
            Close a menu without choosing an item
    

    And under NSPopoverBehavior in NSPopover Class Reference:

    You may consider implementing -cancel: to close the popover when the escape key is pressed.

    I don't foresee that aspect of the Password Generator popover changing relative to the current implementation.

    However …

    Sure that would make sense if, say, hitting Space repeatedly caused new passwords to generate (maybe you didn't like the first option), but that's not even true. One must still hit Escape then Space to cause a new generation. I guess I don't understand, from a keyboard-only perspective, why that popup doesn't go away after one successful generation?

    Return might make more sense than Space for regenerating a password in the open popover. From Apple's Keyboard shortcuts article again:

    Space bar           Select the highlighted menu item
    Return or Enter     Click the default button or perform the default action
    

    In any case, it looks like there could be some polish done in this area and I'll pass along suggestions to the developers. Thanks again for your input!

  • bruinbits
    bruinbits
    Community Member
    Options

    Yes, I set

    System Preferences > Keyboard > Shortcuts:

    to

    All Controls

    many moons ago!

    I also appreciate your tip for faster 'new login' workflow.

    Your detailed response is extremely insightful and I totally get it now. I still think this is a step down/backward in usability, but perhaps this was a step forward in your code for compliance with recommendations, etc. I could say "this isn't entirely AgileBit's fault now =] =] since you're doing the right thing" for NSPopover. With that said, I think: NSPopover is broken (because it lacks a "close with success" builtin) and/or it is the wrong object to use in this case. My point hinges on the belief that when a popup happens, especially if it is modal* like this one, it is an implied there will be both "success" and "failure" exit paths.

    I think most people would agree that "cancel" has the strong connotation of "I expect this popup made no changes and Cancel will simply close the popup." From http://support.apple.com/kb/ht1343 the description "Close a menu without choosing an item" sure sounds like "hey, Mr Computer, I know I opened this popup to generate a new password but I changed my mind. How about you close this NSPopup dohickey and DO NOT CHANGE ANYTHING. M'kay?" This, of course, would mean that if there wasn't a password before, there won't be one now.

    Moving on; I see your point about the Space VS Return and, upon closer inspection, the vault-dial icon is not highlighted when the NSPopup happens so yeah, as it stands Space should not be mapped to "try another password generation." Actually, as it stands I don't see a way to explicitly keyboard command to "try again/generate another one." The only way I see is the arrow keys, but this is inefficient if you're happy with your password length as you have to run two command (Left then Right or Up then Down) to both make a new password and keep the originally intended length.

    Ok, so now in the spirit of constructive criticism I'll proposal a solution is a extremely simple to implement, hopefully still complies with all Best Practices, and hopefully makes intuitive sense to everyone (including me, yey!): Add three buttons to the password NSPopup, which I'll clumsily name here, "Cancel," "Regenerate," and "Use This Password." I don't actually care what button, if any, is the default focus item since you can now map the Return key to "Use This Password." The Escape key is mapped to "Cancel" at this point, which also complies with recommendations. I guess by deduction one could default focus to the Regenerate button so that the Space key would create more passwords. You could also keep the Left and Right arrows as-is to modify length.

    *In this case I'd call the NSPopup "soft modal," a term I'm making up right now. You're not explicitly forcing the user to interact with the popup, you're just killing the popup if they try to interact somewhere else, so, "Either you interact with me or I go away." Maybe there's a better term for what I've called "soft modal"?

    Thoughts?

  • Hi @bruinbits‌,

    I'm not as well-versed in the guts of NSPopup as @sjk is, but I do think you propose a good solution. We'll be sure to bring it up with the developers, but we can't promise anything.

This discussion has been closed.