eduvpn / apple

app for iOS and macOS
Other
61 stars 18 forks source link

macOS: Richer app menu to enable keyboard navigation #412

Closed roop closed 3 years ago

roop commented 3 years ago

Adresses #331.

This PR:

The menus in each screen look like this:

Why:

roop commented 3 years ago

@fkooman @efef Can you please review the UX of the menus?

ghost commented 3 years ago

This below is just a suggestion, we can probably make it better still!

The menu items are not really clear in what they do. Begin connecting... to what? Toggle VPN? What does this do? Maybe we can find a better label for it (once I know what it does)

Perhaps you need "fold out / pull out" menu's that open a sub menu when choosing "Connect".

Connect to...
   - Radboud Universiteit
   - vpn.tuxed.net
   - ....
   - 

If there is only one option, you can obviously do something like "Connect to Radboud Universiteit" (if that fits) or "Connect to VPN".

"Go back to server list" --> "Open Server List", or even "Open Main Window".

ghost commented 3 years ago

If you extend the context menus just a tiny bit more, there is no use for the main UI at all anymore ;-)

roop commented 3 years ago

@fkooman These menu items apply on something in the UI, and would make sense only in the context of what's shown in the UI. The "Server" menu is like the "Card" menu in Contacts.app, or like the "Message" menu in Mail.app -- the commands in the menu apply to the current item in the UI.

So, "Begin Connecting" starts the connection flow for the current server, like below:

Screenshot 2021-07-14 at 1 41 59 AM

And "Toggle VPN" toggles the VPN switch, like below:

Screenshot 2021-07-14 at 1 43 23 AM

It wouldn't be a good idea to have a Connect to ... > vpn.tuxed.net menu in the app menu, but we do have that in the status menu.

ghost commented 3 years ago

Ah! And why not "Connect" instead of "Begin connecting"? And "Enable" or "Disable" instead of "Toggle VPN" (depending on the state)?

roop commented 3 years ago

I didn't want to say "Connect" because whether we'd connect or not depends on how many profiles we get, and whether we get a profile that we've already seen.

I used "Toggle VPN" because Cmd+T is easier to associate with toggling, rather than "Enable" / "Disable". And I didn't want to have both "Enable" and "Disable" items, with only one usable at a time.

johankool commented 3 years ago

I didn't want to say "Connect" because whether we'd connect or not depends on how many profiles we get, and whether we get a profile that we've already seen.

The way you indicate that there will be more steps first is to add the 3 dots. So "Connect…" would make sense here.

The command-P for select profile is odd. That one is really reserved for printing. You'll never want to do that in this app, but it is still an unusual key combo to use for anything other than printing. A key combo to open a pulldown is 'odd' anyway. Not sure what the 'right' way is though.

roop commented 3 years ago

@johankool:

The way you indicate that there will be more steps first is to add the 3 dots. So "Connect…" would make sense here.

According to the HIG:

Use an ellipsis whenever choosing a menu item requires additional input from the user. The ellipsis character (…) means a dialog or separate window will open and prompt the user for additional information or to make a choice.

So I'm not entirely sure if we should say "Connect..." here. I used ellipsis for "Select Profiles..." which doesn't exactly fit the HIG description either, so I'm not fully against "Connect...".

The command-P for select profile is odd. That one is really reserved for printing. You'll never want to do that in this app, but it is still an unusual key combo to use for anything other than printing.

Good catch. Any suggestions for the key combo we can use instead?

A key combo to open a pulldown is 'odd' anyway. Not sure what the 'right' way is though.

It's indeed a little odd, but I can't think of a better way. We could do Cmd+1 / Cmd+2 / Cmd+3 for selecting first / second / third profiles, but that's probably more weird?

roop commented 3 years ago

@johankool: