Skip to content

Suggestion on UI/UX improvements #36

@exapsy

Description

@exapsy

Please agree to the following

Summary

Improve on menu and mainly security settings

Motivation

I struggle to understand the settings under the Settings->Security page.

Let's think the issues in three categories, User, Poweruser, Software engineer.
Firstly, of course a basic app like this, would 100% want to focus on a User to get traffic and recognition, after all a SE and a Poweruser are both users. But a Poweruser is not necessarily an SE neither an SE is always a Poweruser.

As a User (or a SE), when I see in the Security page the setting

  • Key Derivation Function -
    • As a user, I see that, and I think why is that there, should I change that?
    • As a poweruser, I see the option, and I think why is that there, there's only one option, and even if there were more, how could I know the benefit.
    • As a software engineer (SE), I see the option, and I think the app is very early release because I regognize that neither I have to know to know all encryption algorithms, that there is no more than one of them, and I get no explanation what this algorithm encrypts exactly because even as an SE this is not something I must know unless I work in the field of encryption.
  • Transform rounds
    • As a user, I see that, I wonder why is that under Security settings, it brings confusion, I think this app is complicated and Im too stupid to use it.
    • As a poweruser, I see this setting, and I think why would I use it, why this app doesnt explain to me how this would benefit me.
    • As a SE, I just regognize the app is flawed because even as a SE I have no idea what this means and probably many out there if not most. Probably something out of my Security asymmetrical encryption lessons in college?
  • Memory usage - Im gonna be straight up with this one. Is this Memory of how much does the encryption algorithm take? How does this make sense, why would I want this.
    • As a user, I would think if I have to define Memory usage, then this must be pretty significant memory usage.
    • As a poweruser, I would get pissed at that point because this app has so many options that I may have wanted to use but gives no explanation for.
    • As a SE, I understand that if I have to put memory usage into a Keepass application, then either the SE team that built the project wanted to put a redundant setting, or this app is heavily unoptimized because no Keepass should drain so much memory to have this as an option. All devices from smartphones to laptops or PCs or even arduinos are so heavily armed that they're pretty capable to be doing extraordinary things enough to not want to ever consider memory usage of a Keepass app.
  • Parallelism - Same w/ Memory usage. Why is that there, why would i want parallelism into a keepass app? And if I want, why would I want the user/poweruser or an SE to decide that? Such highly technical details should 99% of the cases be hidden from the users and even powerusers.
  • App settings - There is a small delay and a context that I cant get back from.
    1. I should be able to get back from App settings to where was (Database settings). Its bad user experience to not let the user go back where they came from
    2. Why both the App and the Database have a Security setting? It feels redundant to have 2 security settings, like duplicate code. Put both app and database settings under one Security menu so the user can see all security settings without switching huge contexts (Db settings / App settings)
  • App settings -
    • Why have a link to the App settings? Why make a link for that? In UX this is not the usage of a link, links do not open modals, they lead to other pages in the web, that's why they're links.
    • Why not a menu you can access independently? A menu that you can go there, rather than ONLY from database settings?
    • You should be able to go to both setting menus with one step. Currently you go to the App settings with 2 steps and only from the Database menu. Creates too much friction for the user
Screenshot 2024-10-08 at 12 17 27 AM

Considered Alternatives

  1. Have a tooltip with a question mark icon at prefixthat explains that part (e.g. (?) Transform rounds | (?) Memory usage | (?) Parallelism)
  2. "Advanced settings" collapsible - Hiding the advanced settings under a collapsed form. This is not an "Alternative" but rather an addition to a polished UI that serves the user
  3. Before any action I would consider asking the question of: Why are options these even there? I've never seen them in another Keepass compatible app. Why as a user would I want to consider "Parallelism", or Memory usage, or Transform rounds? How do these options improve my experience as a user?
  4. I would strongly consider removing those if they're not needed or have them in a hidden power-user menu. Otherwise they feel very redundant.
  5. Build both menus independently
  6. Dont separate too much the settings
  7. Create as less friction as possible for the user.
  8. Place menus with the same name together, but separate them under different contexts/categories (App/Database)

Anything else?

Please don't take my comments on 'Motivation' the wrong way. When I'm passionate about improving something, I may write at length which might come across as overly serious. My intention is simply to provide thorough explanations and share my perspective as clearly as possible and of course my frustration as a user that wants to like this project may show at times.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions