Kunzisoft / KeePassDX

Lightweight vault and password manager for Android, KeePassDX allows editing encrypted data in a single file in KeePass format and fill in the forms in a secure way.
https://www.keepassdx.com/
GNU General Public License v3.0
4.49k stars 266 forks source link

Barcode generation/display from field value #1033

Open tyleroconnell opened 3 years ago

tyleroconnell commented 3 years ago

Is your feature request related to a problem? Please describe. As the mobile access point to my accounts, KeePassDX does a great job of giving me access to logins, account numbers, passwords, TOTP, and more while on the go. Often times in the real world, however, account/membership numbers are not the simplest means of identifying oneself; stores, museums, and other physical locations would prefer (and even expect) their customers to simply scan the barcode representation of their account/membership number.

Describe the solution you'd like By integrating barcode generation, KeePassDX would greatly expand its usefulness in the physical world. While the exact implementation of this is open to an individual's design preference, I will outline one possible approach below:

  1. Display a barcode icon to the left of the copy icon (which is currently right-aligned with fields)
  2. When the barcode icon is pressed, allow the user to select the type of barcode to be displayed from a pop-up menu of options (e.g., qr-code, code-93)
    • Nice to have: only display barcode types that would be valid based off the value of the given field
  3. Once the type of barcode has been selected, generate a barcode based off field value and display that over the account screen (which can then be closed by navigating backward or clicking an x on the top right of the barcode)
    • Nice to have: increase the brightness to 100% during the time of the pop-up, and then revert back to the original brightness afterward

Describe alternatives you've considered It's possible that it will be determined that barcode generation is outside of the scope of KeePassDX. While I think the integration of such a feature would make it easier for folks to hold all account related information within a single source of record, I fully acknowledge that this information can be stored in both proprietary (e.g., Google Pay) and open source (e.g., Catima) external applications that have solved for this use case.

Additional context While very closely related to #729, this would expand upon the type of barcodes able to be displayed beyond QR codes.

J-Jamet commented 3 years ago

My goal was not to integrate a QR code generation library but it is possible to provide a field text sharing for an entry.

In this case, the user chooses the application that will generate the QR code according to his needs, it will be much more flexible, will allow many methods of sharing and there will not be all the maintenance related to the integration of a QR code library.

However, I need to do a study to verify the feasibility of this solution.

tyleroconnell commented 3 years ago

That's understandable @J-Jamet and seems like a reasonable alternative to me!

I'm actually already doing something similar by highlighting the text and clicking "Share" from those options. Not a huge difference since it's only a couple extra clicks but would you consider adding a share icon to the left of the copy and eye icons to do it directly from the app?

tyleroconnell commented 3 years ago

An alternative to adding a share icon (but then less obvious): turn holding the copy icon into sending to the share menu.

J-Jamet commented 3 years ago

It would be nice to add the share buttons but it might be a lot of buttons next to a field (3 is too much). Replacing the copy button with the share button would be a decent alternative, but I don't know if users would be lost with this technique.

tyleroconnell commented 3 years ago

I totally understand not wanting three icons and a field on the same row, especially when accommodating a variety of screen widths.

I agree that replacing copy with share sounds like the wrong approach since it slows the most likely usecase with the share menu. Would you be opposed to hiding share behind a long hold of that copy icon?