Keepassxc: [UX] New column-sensitive double-click behaviour is extremely confusing + surprising

Created on 1 Mar 2018  Â·  3Comments  Â·  Source: keepassxreboot/keepassxc


KeePassXC 2.3.0 is doing something really strange when I double-click on a password entry in the main view. It took me a period of confusion, several errors and accidental pastes, and finally some experimentation, but eventually I realized that KeePass's double-click behaviour now seems to vary based on _where_, _horizontally_ (ie., the x-coordinate) I double-click on the row for the password entry.

To wit:
screenshot from 2018-02-28 22-09-17-1
If I double-click on a row _within the red area above_, I'll get the details view for a given entry, as I normally expect.

If I instead double-click on a row _within the the red area below_:
screenshot from 2018-02-28 22-09-17-2
...the window will simply disappear, and nothing appears to happen. At first I thought KeePass had crashed -- but it was still in my tray, and I was able to open it again from there.

For a while it seemed like this release was simply broken -- it would always just disappear when I tried to open the details for an entry. Experimenting a bit further, I realized that it _sometimes_, seemingly at random, open the details correctly.

It took a little while longer trying to figure out what was going on for me to realize it was positionally sensitive. Eventually I formed a hypothesis that it was maybe supposed to paste the username into the last active window when I double-clicked on the username part of the row? But that didn't appear to be working.

After even more experimenting, I _finally_ discovered that it copied the username into my clipboard -- it was a bit hard to catch, since of course it was only copied for my configured timeout period of ten seconds.

Other columns seemed to exhibit behaviours of their own (opening a URL, etc.) -- there was just no hint or feedback of what these behaviours might be until I had formed a mental model that clicking was positional, and _then_ methodically experimented to figure out what those behaviours were.

Expected Behavior



When double-clicking on a row in the list of entries, the program responds identically regardless of where, horizontally, in the row I click.

Current Behavior



When double-clicking on a row in the list of entries, the program responds differently (in a surprising and seeming buggy or unintended way) based on the horizontal position of the click within the row.

Possible Solution



The easiest solution might be to roll this behaviour back. I can see how it might seem appealing, especially to the core developers, from an ergonomics perspective. However, from a UX perspective and especially for new or uninformed users (and I should note I'm neither; I've been using KeePassXC for quite a while now, and other versions of KeePass prior to that) I'd suggest it has the following problems:

  • Highly idiosyncratic. One reason this behaviour was very confusing to me is that I've never seen another application do something like this with this kind of list view before, ever. As a longtime user of Windows, Linux, MacOS, etc., my expectations as to how list views behave has been trained by many years' experience with them, across OSes; the typical behaviour is never sensitive to the horizontal position within a row. (For table cells or spreadsheets it's obviously a different story from list views -- but KeePassXC's main view looks like a bog-standard list rather than a table.)

  • Poorly documented. I actually read the release notes on the website -- probably more than the average user would do! -- but I missed this change. Poring over the post more carefully I now see it, towards the bottom of the post, buried in a list of 20-odd bullet points as a brief mention. This seems deeply insufficient for a change that has a high possibility of affecting most users' experience of using the app. Further, there's no documentation that I can see of _what_ the behaviour for double-clicking each column will be.

  • Poor discoverability. Hovering over each column in a row or over the column header doesn't, say, show any popup text as to what will happen next if I double-click there. The only way I can learn what each column does on double-click is to take some time to experiment and try each one in turn. (And again, note that _even when experimenting_ the behaviour isn't immediately obvious in some cases! It definitely wasn't clear to me when I happened to double-click over the name column that it had copied something to the clipboard. As a user, all I saw was that the KeePass window had disappeared. Again, at first I thought the program had crashed!)

  • No intermediate feedback. Idiosyncratic behaviour, poor documentation, and even poor discoverability might not _necessarily_ be dealbreakers individually, but they're also exacerbated by the lack of granularity of the visual feedback in the application.

    To wit: when I single-click on an entry in a list view it _highlights the whole row_. If it had instead, say, highlighted the specific _cell_ in that row (ie. a more "table"- or "spreadsheet"-like behaviour) when I single-clicked, it might have given me a better hint that the program was about to do something _based on that specific cell_. I'm not necessarily suggesting that this is a good solution to the problem of intermediate feedback, but it's a simplistic example of how the current behaviour might be at least hinted at.

  • Potentially negative privacy and security consequences. Worst of all: due to all the above UX issues, I think the current behaviour is confusing enough that it might risk exposing private data for some users. It might seem unlikely, but if someone doesn't realize they've, say, copied a password to their clipboard, there's a real risk they'll accidentally paste it somewhere where it might be exposed. (Eg. to shoulder-surfing, sent over the network, etc.) As an application that's working to provide users with better security, this seems like something that should be considered.

Debug Info


KeePassXC - Version 2.3.0
Revision: 4c0ed74

Libraries:

  • Qt 5.5.1
  • libgcrypt 1.8.1

Operating system: Ubuntu 16.04.4 LTS
CPU architecture: x86_64
Kernel: linux 4.13.0-36-generic

Enabled extensions:

  • Auto-Type
  • Browser Integration
  • Legacy Browser Integration (KeePassHTTP)
  • SSH Agent
  • YubiKey
user interface

Most helpful comment

I was really happy to see double click to copy in the new 2.3.0.

Double click to copy based on column was one of the best things missing compared to the original KeePass. It is good because it is fast and intuitive (once you know how it works). Adding ctrl or other combo will ruine the simple idea. When I want use combo shortuct I will use it for autofill and not for simple and fast "double click to copy".

In combination with auto minimize, it is great user experience during entering names and passwords every day.

In case it is considered as a security risk for uninformed person, it could be by default turned off in settings.
Information in gui "password was copied" would help too.

All 3 comments

We know, I recommended a message be put up when a copy occurred. For what its worth this is the exact same behavior as the original KeePass. I wouldn't exactly call this idiosyncratic behavior, but if you have "minimize on copy" enabled then it would be quite the surprise that a double click somewhere hides your window.

To me, double clicking should never activate the hide to tray feature. It should also be configurable.

Maybe we can trigger the copy only on CTRL+Click and open the edit entry on click instead?

Many times I forget about this and I fail to open an entry because I click on the username instead of the title.

Indeed a feedback for the copy-to-clipboard action is required

I was really happy to see double click to copy in the new 2.3.0.

Double click to copy based on column was one of the best things missing compared to the original KeePass. It is good because it is fast and intuitive (once you know how it works). Adding ctrl or other combo will ruine the simple idea. When I want use combo shortuct I will use it for autofill and not for simple and fast "double click to copy".

In combination with auto minimize, it is great user experience during entering names and passwords every day.

In case it is considered as a security risk for uninformed person, it could be by default turned off in settings.
Information in gui "password was copied" would help too.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

shaneknysh picture shaneknysh  Â·  3Comments

guihkx picture guihkx  Â·  3Comments

bleepnetworks picture bleepnetworks  Â·  3Comments

shyim picture shyim  Â·  3Comments

nfnty picture nfnty  Â·  3Comments