Menu

New Main Menu Items

2019-02-18
2019-03-08
  • Dominik Reichl

    Dominik Reichl - 2019-02-18

    I've added three new main menu items: 'Group', 'Entry' and 'Find'. These contain all commands related to groups and entries (some commands previously were available through context menus only). The 'Edit' menu has been removed, because all of its commands are available in the three new menus.

    Rationale:

    • Users are often asking for a feature that already exists. Apparently, they simply didn't find the existing command; this especially applies to the commands that were available through 'Edit' → 'Show Entries' and the entry context menu → 'Selected Entries'. With the three new main menus items, the commands can be found more easily.
    • According to various user interface design guidelines (e.g. [1]), commands shouldn't be available only through a context menu. Now, all commands related to groups and entries are available in the main menu. So, if you're looking for a specific command, searching the main menu is sufficient.

    The menus also have been improved: commands have been reordered (based on usage frequency and logical connections), items have been renamed (e.g. 'Selected Entries' is now 'Edit Entry (Quick)', because it now contains editing commands only), the entry context menu has been cleaned up (infrequently used commands are now available only through the 'Entry' main menu item), etc. To ensure that items can be discovered in the main menu, the items aren't hidden when they aren't applicable; they are only disabled. In contrast, context menus continue to adapt to the selected object(s) (for example, the 'Attachments' popup item is hidden when the selected entry doesn't have an attachment).

    Implementing these things was easy, but due to the large amount of changes, it's certainly possible that I forgot something. Therefore, I'd be happy if you could test it, if you have some free time. Especially, please let me know if you find a command that doesn't work or isn't enabled/disabled as expected.

    Here's the latest development snapshot for testing:
    https://keepass.info/filepool/KeePass_190218.zip

    Thanks and best regards,
    Dominik

    [1] https://docs.microsoft.com/en-us/windows/desktop/uxguide/cmd-menus#context-menus

     
  • wellread1

    wellread1 - 2019-02-19

    I like the new menu. I would like to suggest the following adjustments:

    1. Promote Copy URL(s) from the sub menu to the Entry menu dropdown, and change URL(s) to Open URL(s). Also, rename the new first entry in the sub menu to Open URl(s) with default browser

      Reasons:

      The Copy URL(s) menu item is still buried in a sub menu of the new Entry menu. It should be more accessible. The copy URL action is not available by double clicking on the URL in the Entry List and it's 3 key hotkey is not the most convenient.

      Once the URL(s) menu item is split into Copy and Open actions, you can include action verbs in the new menu item names. The renamed menu items are easier to understand.

    2. Promote Add Tag and Remove Tag to the Entry menu dropdown.

      Reason: Tags are a useful, but likley underutilized feature, possibly because the options to manage them and use them have been buried in sub menus.

    3. Rename Edit Entry (Quick) to Quick Edit

      Reason: The name is shorter and easier to understand. "Quick" is an adverb instead of verb, but that is close enough.

    4. Rename Print Entries... and Export Entries... to Print Selected Entries and Export Selected Entries

      Reason: The word "selected" describes what these menu items do better than the ellipses.

    5. The Find menu could be meaningfully shortened by moving all of the Expiring items to a sub menu.
     

    Last edit: wellread1 2019-02-19
  • wellread1

    wellread1 - 2019-02-19

    Some suggestions regarding the entry context menu

    Rearrange is not a good candidate for a context menu because rearranging is usually a repetitive action. Also, this action is more about altering the order of entries in the group than doing something concrete (like printing) with the selected entries. At any rate, users probably use the rearrange menu to remind them of the hotkeys. They can do that from the Entry menu.

    The items on the Data Exchange sub menu are all more valuable in the context menu than Rearrange. The context menu is still short enough to accommodate all 4 items if Rearrange is dropped.

    Menu item names along the lines of Copy Selected or Copy Selected Entries are more descriptive than the current names.

     
    • T. Bug Reporter

      T. Bug Reporter - 2019-02-19

      Agreed, these options aren't likely to be used from the main menu, but these changes seem to be more about discoverability; on that point, I see the wisdom of including them.

       
  • T. Bug Reporter

    T. Bug Reporter - 2019-02-19

    Despite my previous comment, I have reviewed the update, and I agree with essentially everything wellread1 wrote (in his first post here - I didn't see his second post before posting this). In addition:

    \6. I was initially confused by the Copy String choice; in most of the documentation, these are referred to not as "strings", but "custom fields". Terminology should be consistent.

    1. If wellread1's Point 2 is implemented, there's no longer much reason for a Quick Edit submenu - plus "Quick" incorrectly implies doing the same thing(s) that the normal editing tools do, only faster.
    2. Data Exchange is a rather cryptic catchall submenu (one really needs to click on it to figure out what it's for) - plus I'd like to see Print and Export afforded the same level of importance that they have on the Group menu.
    3. I realize that these suggestions probably lengthen the Entry menu too much, so I'd also suggest splitting this again into a top level menu for items that act on one or more entries as a whole, and another for items acting on individual fields. I'd suggest calling it the Field menu, but that might be confusing (or at least weird) next to the Find menu.
     

    Last edit: T. Bug Reporter 2019-02-19
  • wellread1

    wellread1 - 2019-02-19

    The idea of Quick Edit has some real potential. One can include some new ways of editing entries or groups of entries and organizing some routine entry editing tasks in new ways. Breaking editing into smaller bits may reduce the tendency of some users to "live" in the Edit dialog. Some examples:

    Icons - done
    Colors - done

    !!!|Edit Default Auto-Type
    -|-|
    Applies to:|a single selected entry.
    Action: |Opens a simplified dialog that shows the entry title, Override default sequence (checkbox ? instead of radio buttons), keystroke sequence field, placeholder field picker.
    Rationale:|Many users have difficulty understanding auto-type. These users will benefit from an edit dialog that presents only fields essential to configuring the default auto-type.
    Other users might appreciate a quick way to update the default auto-type.

    ?|Edit Notes
    -|-|
    Applies to:|a single selected entry
    Action:|Quick way to add or edit Notes
    Rationale:|Convenient, may reduce the tendency of users to "live" in the edit dialog.

    Expiration
    Applies to: Selected Entry(s)
    Action: Opens a specialized dialog to edit the expiration date of selected entries
    Rationale: Users that use the expiration field need a way to quickly update the expiration date of an entry or group of entries
    Enable/Disable Auto-Type
    Applies to: Selected Entry(s)
    Action: Sub menu: ON/OFF choice
    Rationale: Quick way to enable or disable auto-type for an entry or group of entries
    Enable/Disable TCATO
    Applies to: Selected Entry(s)
    Action: Sub menu: ON/OFF choice
    Rationale: Often asked for; a quick way to enable or disable TCATO for an entry or group of entries
     

    Last edit: wellread1 2019-02-19
    • T. Bug Reporter

      T. Bug Reporter - 2019-02-20

      Just for clarifcation: I'm not saying that having ways to quickly edit certain aspects of a given entry is a bad idea; only that as it stands now, there aren't enough such options to justify a separate submenu for them.

       
      • wellread1

        wellread1 - 2019-02-20

        Certainly meager menus should be srutinized. In this particular case, it would make sense to promote the color sub-sub-menu to the sub menu.

        Quick Edits shouldn't be added just to fill up a menu. I think some of the suggestions above might actually be useful.

         
        • T. Bug Reporter

          T. Bug Reporter - 2019-02-20

          No denying that.

           
  • John Jones

    John Jones - 2019-02-19

    Nice addition, works fine for me.
    where was the password quality report before in the menu? never noticed such a thing....

     
  • Rookiestyle

    Rookiestyle - 2019-02-20

    Overall I consider the new menu layout to be easier to use and more user-friendly.

    The group context menu shows a "Find in this group" entry. The group menu does not show this entry. I know it's in the Find menu and it should not be moved but added to the group menu as well

    Find -> Tag should be disabled instead of showing an empty submenu in case no tags are defined. This might apply to other items with possible submenus as well.

    Database related menu items are available in both main menu items File and Tools and I personally would like to have Database tools moved from Tools to File and - knowing this has been discussed some time ago - maybe even rename File to Database or vice versa.
    Using both terms might be confusing, e. g. opening a file and then changing database settings or working with a database but then synchronizing with a file instead of another database

    You explained that the new main menu items contain all commands related to groups and entries.
    Do you plan to enhance the option of providing plugin menu items accordingly?

     

    Last edit: Rookiestyle 2019-02-20
  • Dominik Reichl

    Dominik Reichl - 2019-02-26

    Thanks a lot for testing the new menus and all the feedback! :-)

    Promoting the URL 'Copy' command.
    The command to open a URL is at least as important as the command to copy a URL to the clipboard. Furthermore, a menu item can only be clickable (i.e. a command) or show a popup menu. So, promoting the copy command would also promote the open command; we'd end up with three URL-related menu items in the 'Entry' menu. In my opinion, this is too much. As there are other efficient ways to open/copy a URL (Ctrl+U and Ctrl+Shift+U, and the toolbar has separate buttons for opening/copying a URL), it's also not really necessary.

    However, the idea of making both the open and the copy command available by double-clicking is great! I've now implemented the following: when double-clicking the URL cell of an entry in the main entry list while holding down the Shift key, KeePass now copies the URL to the clipboard. A double-click without Shift continues to open the URL (analogous to Ctrl+U vs. Ctrl+Shift+U). The option 'Copy URLs to clipboard instead of opening them' reverses this behavior (i.e. a double-click copies the URL, whereas a double-click with Shift opens the URL).

    Renaming the URL 'Open' command.
    This command will not be renamed to 'Open URL(s) with default browser', because the associated default application isn't necessarily a browser (e.g. 'mailto' URLs are opened with a mail application). 'Open URL(s) with Associated Default Application(s)' is too long and would probably confuse some users.

    Promoting 'Add Tag' and 'Remove Tag'.
    There currently are no commands for quickly editing data directly in the 'Entry' menu. Thus, promoting 'Add Tag' and 'Remove Tag' would be an exception and introduce inconsistency (as quick edit commands would be in two locations). I don't think that adding/removing a tag is important enough to warrant such an exception.

    Renaming 'Edit Entry (Quick)' to 'Quick Edit'.
    When adding this menu item, I actually called it 'Quick Edit' :-) Later I then changed it to 'Edit Entry (Quick)'. The main problem that I had with 'Quick Edit' is that it would be somewhat disconnected from the 'Edit Entry...' menu item, and there would be a disruption in the 'COMMAND Entry' pattern in this menu section (with 'Quick' in parentheses it's also a minor disruption, but less than 'Quick Edit'). When both menu items start with 'Edit Entry', they are easier to recognize, and it hints that the quick commands provide just a subset of the possibilities of the 'Edit Entry...' command.

    Adding the word 'Selected'.
    Doing this only for printing and exporting would be inconsistent. To be consistent, 'Selected' would need to be added to many commands ('Edit Selected Entry', 'Delete Selected Entry', 'Edit Selected Group', etc.). Sure, with 'Selected' the command is described more precisely, but it also makes the menus less readable. Looking into other applications, I rarely find 'Selected', thus I'm not planning to add it.

    I noticed a different inconsistency though: the commands in 'Data Exchange' should use the singular 'Entry' instead of 'Entries'; I've changed this now. This also makes it clearer that the commands apply to the selected entries; for 'Entries' there theoretically are multiple possibilities (selected entries, all entries in the list, entries to be selected in a dialog, ...), whereas for 'Entry' the selected entry is clearly the most reasonable context.

    Submenu for 'Expiring...'.
    I agree and have implemented this now, i.e. all expiry-related commands except 'Expired' have been moved into a new submenu 'Expiring In'.

    Removing 'Rearrange' from context menu.
    For consistency, I either want to show 'Rearrange' in both the group and the entry context menu or in neither of them. The 'Rearrange' menu for groups contains more useful commands (sorting and expanding/collapsing). Even though most users probably are using the menu just for looking up the shortcut keys, rearranging items is a very frequent task, thus I prefer to keep it.

    Promoting 'Data Exchange' commands.
    Do you often select certain entries and copy/print/export them? This is prone to errors (wrong entries selected) and I doubt that many users are doing this frequently.

    Changing 'Strings' to 'Fields'.
    Good point. I've renamed the menu item to 'Copy Field' (without 'Custom'; maybe more things can be added in the future, like the notes).

    Incorrect 'Quick'.
    The 'Quick' is correct. All operations in 'Edit Entry (Quick)' can also be performed using the entry editing dialog, i.e. all commands in 'Edit Entry (Quick)' really are just quick alternatives.

    Catch-all 'Data Exchange'.
    All commands in this menu item are related to exchanging data. If you have a better idea for the name of this menu item, please let me know. 'Copy/Paste/Print/Export' wouldn't look good :-)

    Splitting the 'Entry' menu into 'Entry' and 'Field'.
    If the menu becomes too long in the future, that's indeed a good idea.

    More commands in 'Edit Entry (Quick)'.
    There's still a lot of space in this menu, so adding commands like the ones that you suggested is indeed possible.

    Password quality report.
    In KeePass 2.41, it was available through 'Edit' → 'Show Entries' → 'Password Quality Report'. I'm glad that you found it in the new menu :-)

    Duplicating 'Find in This Group'.
    I looked through other applications on my PC and haven't found any duplicated commands in their menus. Collecting commands from different main menu popups into a context menu seems to be common practice though.

    Disabling 'Find' → 'Tag'.
    If 'Tag' is disabled, a user doesn't know why it's disabled (and for instance might unsuccessfully look for an option). This confusion is avoided by showing a disabled menu item '(No tags found)' within 'Tag'.

    Menu 'File' vs. 'Database'.
    The commands in 'File' affect a database file as a whole, whereas the commands in 'Tools' → 'Database Tools' only affect certain data within the database. The command 'Print Emergency Sheet' was in the wrong place; I've moved it into 'File' → 'Print' now.

    I think it's important that users realize that database files are just regular files and a 'File' menu hints at this. Furthermore, Microsoft's user interface design guidelines for menus [1] say: 'For programs that create or view documents, use the standard menu categories such as File, ...'. Calling the database tools 'File Tools' would be confusing though, because here you'd expect commands operating on the file system (e.g. securely erasing a file, etc.). So, I'll leave this as-is.

    Plugin menu items.
    Yes, group- and entry-related menu items of plugins should be shown in the new menus. I've added this now; the group- and entry-related menu items that plugins return through the GetMenuItem method [2] now automatically appear both in the main menu and in the context menus.

    Here's the latest development snapshot for testing:
    https://keepass.info/filepool/KeePass_190226.zip

    Thanks and best regards,
    Dominik

    [1] https://docs.microsoft.com/en-us/windows/desktop/uxguide/cmd-menus#menu-categories
    [2] https://keepass.info/help/v2_dev/plg_index.html#co_menuitem

     
  • John Jones

    John Jones - 2019-02-26

    Wow big UI changes, nicely done!

    hopefully next version will also have some results from the bug bounty going on.
    will be testing the new version just to make sure nothing unexpected occurs

    Thanks

     
  • wellread1

    wellread1 - 2019-02-27

    Promoting the URL 'Copy' command.
    I've now implemented the following: when double-clicking the URL cell of an entry in the main entry list while holding down the Shift key, KeePass now copies the URL to the clipboard. ... The option 'Copy URLs to clipboard instead of opening them' reverses this behavior (i.e. a double-click copies the URL, whereas a double-click with Shift opens the URL).

    That is an excellent solution, and it doesn't lengthen the menu.

    Renaming the URL 'Open' command.
    This command will not be renamed to 'Open URL(s) with default browser', because the associated default application isn't necessarily a browser

    I agree it is better to leave the command as "Open"

    Renaming 'Edit Entry (Quick)' to 'Quick Edit'.

    This a style preference, but I still think 'Quick Edit' is better. It is a less awkward construction than 'Edit Entry (Quick)'. The term is easier to understand at a glance. It has a positive connotation (instead of a neutral one) that encourages exploration of the 'Quick Edit' menu.

    In the end, either way works.

    Adding the word 'Selected'.

    I agree. I didn't know the meaning of ellipses in menus.

    That ellipses indicate that the command needs additional information seems like an unimportant distinction to make. I doubt users care. It probably isn't a great idea to put Print and Print... or Add Entry and Add Entry... in a menu and force users to learn the difference between the items. Better to use words to make stronger distinctions. Dropping ellipses also seems to be the preference in "new style" menu systems, e.g., MS Word.

    I couldn't find any cases in KeePass where both forms of an action, with and sans ellipsis, were present in the menu system. I wonder if the menu would appear more modern if the convention were ignored and all the ellipses were eliminated. Just a thought...

    Submenu for 'Expiring...'.
    all expiry-related commands except 'Expired' have been moved into a new submenu 'Expiring In'.

    Looks good.

    Removing 'Rearrange' from context menu.

    OK, Putting Rearrange on the context menu does make it more discoverable.

    More commands in 'Edit Entry (Quick)'.
    There's still a lot of space in this menu, so adding commands like the ones that you suggested is indeed possible.

    Something to look forward to 😊

     

    Last edit: wellread1 2019-02-27
  • Dominik Reichl

    Dominik Reichl - 2019-03-03

    Knowing that a command requires additional information (and thus typically can be cancelled) can be useful. For example, you might hesitate to click on 'Print' (because the expected behavior is to print immediately, without asking for a printer or what is supposed to be printed), whereas with 'Print...' you can be sure that it won't print something immediately.

    Most applications on my PC (especially the large ones like LibreOffice, Visual Studio, Firefox and VLC) are using ellipses, thus I'll continue to use them for now, too. However, I'll keep watching other programs and design guidelines; if the majority of them aren't using ellipses anymore, I'll remove them, too :-)

    Thanks and best regards,
    Dominik

     
  • Mirco Babin

    Mirco Babin - 2019-03-06

    I installed https://keepass.info/filepool/KeePass_190226.zip and took a quick look. My compliments, this is a HUGE ui improvement.

    Most things are clear to me, except the "Edit Entry (Quick)". I would name it "Change Entries", because using this menu for just one item seems like overkill to me. I think this is only usefull for changing multiple entries.

     
  • Dominik Reichl

    Dominik Reichl - 2019-03-08

    Thanks for testing it! I'm glad you like the new menus.

    I prefer 'Edit Entry (Quick)'; the commands can also be useful for a single entry.

    Best regards,
    Dominik

     

Log in to post a comment.

MongoDB Logo MongoDB