canonical / ubuntu-desktop-installer

Ubuntu Desktop Installer
GNU General Public License v3.0
539 stars 94 forks source link

Screen 14 - Who Are You #40

Closed seb128 closed 3 years ago

seb128 commented 3 years ago

The design for screen n°14, Who Are You

who

Design details https://people.canonical.com/~platform/desktop/installer/14.%20Who%20Are%20You/

nafallo commented 3 years ago

I would like the bottom part, choosing Log in automatically to be able to be removed if you preseed the answer. Internally at work we do not allow automatic login.

fcole90 commented 3 years ago

This screen looks unbalanced towards the left. I think having the content box being centred would make it nicer.

fcole90 commented 3 years ago

Checking other designs, that's an issue with some others too, but here I can notice it more. Having the contents box centred would also help the window scale better if a user resizes it to be larger. So I would anchor it horizontally on the centre and vertically on the top.

chrismin13 commented 3 years ago

While I think the design looks solid, I do have two things that I think could be improved:

  1. While I also believe that the UI seems oddly placed and gravitated towards the left, I still think that it's the right move, especially since every other screen does the same. Instead, the left part of the screen could be filled up with a User Image Chooser. This is quite common place on other OS, such as macOS and Chrome OS and could be similar to the one provided by GNOME. Here's a super rough mockup as I'm not familiar with the Flutter design tools:

preview

  1. I hope that the password options can be reevaluated. The very first problem that I run into whenever I try to install Ubuntu to soemone's machine is that they wish to keep their account without a password. I understand, of course, the limitations and concerns behind such an action. However, the current options cause issues:

a. If the user chooses to set up an account that logs in automatically, they skip the login screen on the first boot. However, if they let their computer turn off its screen after a few minutes, that locks the machine. This is the source for lots of confusion, as in many cases the user might not remember their password or could have handed the device over to someone else. Furthermore, if they are using any applications that take advantage of the keyring, such as Chromium-based browsers, they are still prompted for a password after turning on their device, as they keyring doesn't get unlocked when logging in. This is far from an ideal user experience, and something that the user cannot predict during the installation phase.

b. If the user chooses to remove the password after the fact following instructions online, they might not be aware of the side effects and security concerns of such an action. This could leave the user with a malfunctioning system that's difficult to recover, as they could have broken the sudo command. Furthermore, many users might be unaware that this is an option, as it is certainly not recommended in any Ubuntu documentation.

I believe there are two ways to address this problem:

  1. Improve the inconsistencies with the auto login feature that were previously described (keyring, locking). This leaves the user with a password which can be used for superuser related activities, but functions normally whenever admin rights aren't necessary. While this is an overall decent solution, I understand it might be something outside of the control of the installer team and it could also cause users to forget their password. Still, I believe it's worth evaluating. This would bring the experience to a similar level to macOS and how it handles user passwords.
  2. Offer the option to not fill in a password. This is obviously the riskiest solution, but assuming that the user is informed with adequate warnings during the installation phase, it could be the most beneficial solution in the long term. After all, if the user's data is what a rogue program was after, it's already possible to access that information for users which are already logged in automatically. Instead, this does not offer a false sense of security like option 1 and ensures that the system will be set up appropriately. Furthermore, any admin tasks in GTK apps prompt the user even when no password is set up, similar to Window's UAC. This would bring the functionality to a similar experience as Windows and Android.

I understand that these are bold changes and especially important for the security of the system. However, I wanted to share some of my opinions, as I feel that these are long standing issues that should be addressed. Please let me know if you are also affected by these issues and how you would consider improving the experience!

Thanks.

Mannshoch commented 3 years ago

I would propose to allow set-up e.g. a Fido stick and/or a fingerprint scanner, may a face recognition or others here.

nafallo commented 3 years ago

Two options I'll throw in here. Either hide the autologin and keep it preseed only OR keep autologin but also turn on passwordless sudo, disable lock on "screensaver" etc... Basically disable all the common places passwords are used. Is it possible to keep the keyring unencrypted? ;-)

fcole90 commented 3 years ago

Why would you want passwordless sudo? Autologin should just bring you to your initial desktop, but that doesn't mean that one wants no password at all

nafallo commented 3 years ago

@fcole90 True! I suppose I meant that leaving an empty password would need to take care of those additional actions I mentioned rather than autologin (although I suppose the lockscreen may apply there as well?).

Mannshoch commented 3 years ago

I only see one case where you do not have to create a new user even root. It's the case where you authenticate Users by an external service. Like LDAP or other services.

Feichtmeier commented 3 years ago

@oSoMoN I'd like to work on this

Feichtmeier commented 3 years ago

@oSoMoN @longchung

I thought about something like this for the avatars (ofc the user scrolls through the avatars)

WDYT?

whoareyou grafik grafik

oSoMoN commented 3 years ago

That looks nice, but scrolling through the avatars doesn't seem very discoverable, I'll let Long comment on it.

Feichtmeier commented 3 years ago

That looks nice, but scrolling through the avatars doesn't seem very discoverable, I'll let Long comment on it.

Thanks! One can let the other avatars be viewable at the left and right edges of the box :) like ......... ) O ( One more question for the design: should the lower 4 textfields only show up when "require login" radio is selected?

Feichtmeier commented 3 years ago

@oSoMoN

whoareyou2 grafik

This is what I meant in the comment above. @long-chung would you like to have the picture/avtatar selection in the installer?

(click the picture / gif to enlarge for better quality)

oSoMoN commented 3 years ago

That looks good to me (but please wait for confirmation from @long-chung, I'm not a designer). That list of avatars would include the default user icon, I suppose?

Feichtmeier commented 3 years ago

That looks good to me (but please wait for confirmation from @long-chung, I'm not a designer). That list of avatars would include the default user icon, I suppose?

Sure, sorry - messed up his user name in the tag above :)

I think it should include the default user image, yes. I think it should be possible to generate an image with the initiales. Currently those are mock up images from the internet :)

Vertical is also possible vertical grafik

long-chung commented 3 years ago

@Feichtmeier This looks nice, but is out of scope for the installation. Maybe as an update at a later time.

There are a few things that need to be considered, for example:

I'm sure they may be more but thats all I can think of for now.

Feichtmeier commented 3 years ago

@long-chung

Do we allow the user to upload their own avatar

Only after this https://github.com/flutter/flutter/issues/41710 works in flutter

Does the user select from a list, or browse more

i would suggest this caroussel

How many images could we realistically show in a carousel, list, grid etc

You can add as many items to a carousel as you want. If you select infinite scrolling the first item comes after the last one. If not you need to scroll back

long-chung commented 3 years ago

@Feichtmeier Thanks.

All these things add extra steps/complications that need a bit more thought and was never planned in this release. So for now let's put this on the nice to have list.