Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UX Problems: Root Password Dialog in SLE Micro Installation #966

Open
shundhammer opened this issue Jun 8, 2021 · 11 comments
Open

UX Problems: Root Password Dialog in SLE Micro Installation #966

shundhammer opened this issue Jun 8, 2021 · 11 comments
Labels
feedback Discussion or proposal (not a bug)

Comments

@shundhammer
Copy link
Contributor

shundhammer commented Jun 8, 2021

(In this repo so the UX issues are all near each other)

From

https://documentation.suse.com/sle-micro/5.0/single-html/SLE-Micro-installation/#article-installation

install_authentication_slem

Problems

Dialog Title

Authentication for the System Administrator "root"

This is much too long. It consumes way too much screen space in this dialog; almost a quarter of the total screen space.

It's also much too verbose for any user who is not a complete beginner. Linux users know what a root password is; with that title, they have to decipher it first and then do the mental mapping to "oh, it's the root password". Yes, it can also be a root key, not just a password.

But that attempt of being 100% correct and also explaining basic Linux terms to novice users coming from the Windows world is way over the top; it drowns the information content in all that needlessly verbose wording.

I suggest to drastically shorten this to one of

Root Password

or

Root Authentication

(less easy to understand because it doesn't use well-known Linux terms such as root and root password)

For novices, an explanation could be added on the right side where right now it says

Do not forget what you enter here

e.g.

This is the authentication for the "root" user, the system administrator.

Do not forget what you enter here.


Side note: This kind of stuff is what we used to have that help panel for. But that had to go because certain people didn't think it looked cool enough; and now we get all kinds of static texts in the main dialog because the help text is not immediately visible anymore (out of sight and out of mind). That was a clear step back in usability.

Additional Buttons

Everything below the input fields is adding to the complexity, yet probably rarely used. We have 4 (!) UI elements there:

  • The static label "Import Public SSH Key"
  • The menu button with locations where to import them from
  • The "Refresh" button
  • The "Browse" button

Both "Refresh" and "Browse" look very much like an afterthought, and they are surely even more rarely used than the menu button. That is a clear case of overengineering killing usability. Those buttons shouldn't be there in the first place, let alone so prominently.

Alternative 1: Use a Pop-Up

We could reduce this to only one button "Import Public SSH Key..." that opens a pop-up dialog.

That dialog could contain the locations, preferably in a selection box, so the user doesn't have to click twice: Once to open the selection pop-up, once to select an item there.

The dialog should be a basic "OK" / "Cancel" dialog. It's debatable where the two remaining buttons "Refresh" and "Browse..." should go: To the right side of the selection box (preferably); or in the dialog button box left of "OK" and "Cancel"? (Meh...).

On second thought, this is probably not very clear if the user should ever go back to this dialog: We'd need to tell him somehow that an imported SSH key (and which one) is used.

Alternative 2: Add more Actions to the Menu Button

We could also remove those two buttons from the dialog and move the corresponding actions to the menu button that right now only holds the locations:

  • VBOX_CD-ROM (/dev/sr0)
  • ... (/dev/sdv1)
  • ---------- (menu separator)
  • Refresh
  • Browse...

That would move those kludge buttons out of the way, yet they would still be easily accessible; and, even better, at the one place where a user who needs them looks first:

When I want to import a key, I first check the list with the locations, so I click to open the list of available ones. If I don't find the location that I want there, I see the other two actions: "Refresh" and "Browse".

There is no need to pollute the main dialog with that; even less since those things are very rarely used.

@shundhammer shundhammer added the feedback Discussion or proposal (not a bug) label Jun 8, 2021
@shundhammer
Copy link
Contributor Author

BTW is there really no way to undo selecting an imported SSH key? This should probably also go to the list of options ("None" ?).

@shundhammer
Copy link
Contributor Author

@ancorgs , @joseivanlopez , @dgdavid , @hellcp : FYI

@dgdavid
Copy link
Member

dgdavid commented Jun 8, 2021

Let's try to involve @kwwii here too :)

@ancorgs
Copy link
Contributor

ancorgs commented Jun 8, 2021

I will not say we should bring the help panel in its original form. But I cannot help thinking we have quite some space at the left, below the title, that could be used to provide a bit of context and also to serve as some kind of "invitation" to use the full help if that info is not enough.

Something along this line (this is a very crude edit done with Gimp in 2 minutes):

draft-help

@joseivanlopez
Copy link
Contributor

joseivanlopez commented Jun 8, 2021

It is crazily amazing how many things can be improved in such a simple dialog like this! I agree, the title is confusing instead of helping. I infinitely prefer the shorted version proposed by @shundhammer. And I also like a lot the preliminary help with the button down as proposed by @ancorgs. I only wonder how to place it in the installer in case that other dialog layouts are used (e.g., in TW). And regarding the buttons for importing ssh keys, totally agree again, there are much better ways to do it. Personally, I prefer a popup more than a menu button. The popup allows more possibilities, like visible short help, etc. I would like something like:

Public SSH Key 
  imported from /dev/sda1  [Import...]

@joseivanlopez
Copy link
Contributor

Moreover, having the Test Keyboard Layout widget always visible could be questionable. This forces the user to always go through it when moving with tabs. I would prefer to offer it as an optional button or something like that.

@shundhammer
Copy link
Contributor Author

shundhammer commented Jun 8, 2021

I am torn about this keyboard test field. On one hand, it distracts from the main purpose of this dialog; it feels out of place. Anybody not familiar with the unfortunate variations of keyboard layouts (in the German layout Z and Y are exchanged with regards to the US layout: QUERTZ vs. QUERTY) will be confused.

On the other hand, if a user has such a very different keyboard layout and it's not active while setting the password, the next login will be a nasty surprise.

Actually, what I would really prefer is the Android way of (at least optionally) showing each letter for a short while; a second or two. That gives some confidence what was entered. Yes, it's not as safe against somebody looking over your shoulder as that "show only a black circle" thing that Qt does by default.

I just checked, and for a moment I thought that QLineEdit now supports that Android "echo for a moment" mode: https://doc.qt.io/qt-5/qlineedit.html#EchoMode-enum

...but it's not like that: QLineEdit::PasswordEchoOnEdit shows the complete text whenever the widget has the keyboard focus, and when you move the focus to another widget, you only see a black filled circle for each character. That's not what we need here, and I am pretty sure our security people are not going to like that.

How to experiment with that: Start Qt designer, create a new simple dialog, add some QLineEdit widgets, use the property editor to change the echo mode and start a test run with Ctrl-R.

@hellcp
Copy link
Contributor

hellcp commented Jun 8, 2021

You could always offer switching keyboard layout on every screen, for that matter having accessibility settings dialog that is accessible from every screen would be pretty helpful

@shundhammer
Copy link
Contributor Author

Making users aware of the problem is the challenge here. Most users won't even notice that a key they are using for a password delivers a different character than they think it does.

Again, that goes in the general direction of doing the Android-like echo for password fields (which includes the somebody-looking-over-your-shoulder problem).

@joseivanlopez
Copy link
Contributor

joseivanlopez commented Jun 9, 2021

Well, if there is somebody looking over your shoulders, then there is a chance for him/her to see what keys you are stroking anyway. I also like the option for quickly echoing the characters. And another possible option is to temporary show the password. I have seen it in some places, where you have to keep pushed an eye icon to see the entered password. The password is automatically hidden again when you release the button.

@shundhammer
Copy link
Contributor Author

Yes, that would be my choice as well. Qt doesn't offer that, though. But I think with some fiddling we could make our own that behaves just like that. It's Qt, after all; you can do everything in Qt. ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feedback Discussion or proposal (not a bug)
Projects
None yet
Development

No branches or pull requests

5 participants