pop-os / installer

Installer for Pop!_OS & other Linux-based OSes
https://system76.com/pop
GNU General Public License v3.0
26 stars 16 forks source link

feat: Define user information in installer #219

Closed mmstick closed 3 years ago

mmstick commented 3 years ago

Adds a user account creation view with an icon chooser to select the profile .face

jacobgkau commented 3 years ago

It looks like this failed to build on staging, although it seems to build locally.

ids1024 commented 3 years ago

Build for 4d711e7 failing on Jenkins with:

../src/Views/ProgressView.vala:343.13-343.44: error: Invalid member `profile_icon' in `Distinst.UserAccountCreate'
            profile_icon = conf.profile_icon
mmstick commented 3 years ago

I'll re-amend-push because it must have gotten triggered before distinst was built.

jacobgkau commented 3 years ago

This is what the first user information page currently looks like: Screenshot from 2021-06-14 20-09-02

There's currently no indication that clicking the photo opens the file chooser. The mockup includes an edit button: image Even if it's only on hover, it seems important for there to be some indication that clicking the photo will open the file chooser.

Also, with very low-resolution images (including many of the default images), the circle is flat on the top and left side: Screenshot from 2021-06-14 20-09-13

jacobgkau commented 3 years ago

Later in the installation, checking Encryption password is the same as user account password greys out the option to encrypt: Screenshot from 2021-06-14 20-17-12

After that, the button doesn't re-activate after unchecking the checkbox: Screenshot from 2021-06-14 20-19-00

jacobgkau commented 3 years ago

One more thing, after completing an installation with ab5266c, my user's default shell is sh instead of bash.

mmstick commented 3 years ago

The shell issue would be a problem in distinst. Sounds like it's not copying the profile defaults over to the newly-created user account.

jacobgkau commented 3 years ago

The highlight is working well. It still looks a little less polished than the border & button in the mockup; also, the mockup defaults to a more generic profile picture, while the actual installer's currently defaulting to a penguin photo (with the beak slightly cut off by the circular crop.)

icon-chooser

Also, the text underneath the username field currently says will be used to name your home folder. while the mockup has This will be used to name your home folder and can't be changed., which is more of a complete sentence.

I can imagine users (particularly laptop customers) wanting to know how to take a photo of themselves here to use as the profile picture-- macOS definitely allows this. I thought some versions of Windows did too, but it looks like they might not anymore.

The low-res cropping issue is fixed.

When I check the box to re-use the user password for disk encryption, the button still says Choose Password:

Screenshot from 2021-06-15 14-20-03

Clicking the button starts the installation and does not take me to a password selection screen, so that label needs to change. It looks like the mockup uses Encrypt and Set Password as the two labels (in separate buttons):

image

jacobgkau commented 3 years ago

Last thing for now, when I choose the option to re-use the user account password for the encryption password, the encryption password is not being set properly. I'm not sure what it's actually being set to, but it's not being set to my user password, and it's not blank.

jacobgkau commented 3 years ago

All major issues are fixed.

On the reuse password page, the button switches instead of having separate buttons. I think this is fine, but wanted to point it out since it's different from the mockup:

encrypt-button

The only other point of discussion would be the profile icon chooser. @maria-komarova Is the lightening on highlight as shown here sufficient, or do we need the edit button from the mockup to signal that it's editable without having to hover?

Also, are we okay with using this somewhat low-resolution penguin photo as the default? Some of the current defaults are low-res and some are higher-res, but they all seem to come from the gnome-control-center-faces package. Maybe we could get profile pictures of a few differently-colored Zetabots as defaults?

To compare our new picker with the one in GIS:

https://user-images.githubusercontent.com/7199422/122108619-9ff28300-cdd9-11eb-95c5-15da7a819b58.mp4

maria-komarova commented 3 years ago

For the buttons, it would be better if they do not switch, even though the suggestive action then switches places. But it's not the best usability overall when the buttons switch places since this is not an expected behavior.

We included the edit button on the mockup with the profile icon chooser because that does seem like an oversight in terms of usability. I also didn't realize one could change the image right there until I explored it more thoroughly to make the mockup. So it would be great if we can make it happen. It doesn't look like there is enough contrast on hover right now even with making the background lighter. I'm ready to explore other UI choices but the button on the mockup looked the best of what I have tried so far.

Our robots would be cool but I'm not sure how much time we have then to put together those visuals. Let's stick with high-res set that is there now and we can swap them for robots when or if we have them. How does that sound?

mmstick commented 3 years ago

It'd be nice if we had our own profile icons to choose from. The default ones are kind of bad, honestly.

leviport commented 3 years ago

I wonder if we could add in avatars of Kate's awesome robots :thinking:

edit: sorry, I missed where this was suggested already

maria-komarova commented 3 years ago

I'm talking to Kate about it. The question is only how much time we have. We did briefly discuss the possibility before so time might be the main constraint.

Another question is could we change the green and blue gradient colors of the default profile icon? Default until it gets overridden with initials. Is this controlled bu code or is this just an image?

jacobgkau commented 3 years ago

Let's stick with high-res set that is there now

We're opening up a file picker, which displays all of the files, including the symlinks to the lower-res photos. The symlinks (and optionally the subdirectory with the images themselves) would have to be removed to make the lower-res ones not show up in our picker.

I don't see a way to get a default "generic profile icon" or the initials with the new file picker. The generic profile icon isn't an image in the faces directory. The initials might just be what GDM and G-C-C fall back to if a face isn't set?

maria-komarova commented 3 years ago

What I meant by the default icon is this one: image

Trying to clarify, so we did a new file picker for the profile icon? So it won't change to initials anymore?

mmstick commented 3 years ago

We have our icon widget, which currently opens a normal file dialog that defaults to /usr/share/pixmaps/faces. The default icon is currently penguin.jpg so it shows that.

maria-komarova commented 3 years ago

If we use our own images, what should the requirements for those be? High-res, png? Anything else or different?

There was no intention to break away from the behavior where user profile icon defaults to the initials once someone types their name, just wanted to clarify. I'm not sure if there is any specific usefulness in it though, it was just a nice touch. I guess it's okay if we move away from it unless I misunderstood.

jacobgkau commented 3 years ago

If we use our own images, what should the requirements for those be? High-res, png? Anything else or different?

The newer GNOME defaults are 512x512, so I would call that the desired/minimum resolution.

The new defaults are all .jpg, but some of the older ones are .png, and that shouldn't make too much of a difference besides file size.

There was no intention to break away from the behavior where user profile icon defaults to the initials once someone types their name,

From my understanding, to match GIS's behavior, we'd just need to show a placeholder (that's not actually a profile image) until the user chooses an image, and if they don't choose an image, don't set one.

maria-komarova commented 3 years ago

Sounds good, thanks! We'll work on it. Not sure if we would be able to make the new images before release but we'll try.

jacobgkau commented 3 years ago

@mmstick I just noticed that if I set a profile picture in the installer, it shows up after install in G-C-C, but not GDM. When I change the profile picture in G-C-C, then that shows up in GDM. Are you also seeing this behavior?

I'm guessing this has to do with how the installer copies the picture to ~/.face and sets the path in /var/lib/AccountsService/users/username to that, while G-C-C just sets the path in /var/lib/AccountsService/users/username to point directly to the image in /usr/share/pixmaps/faces; I would guess the GDM user has access to /usr/share but not to the user's own home directory.

mmstick commented 3 years ago

Mine does say /home/mmstick/.face, so we can update that file to wherever we want the file.

jacobgkau commented 3 years ago

Mine does say /home/mmstick/.face, so we can update that file to wherever we want the file.

If you log out and go to GDM, does your profile picture appear there? That's where I'm seeing it not show up.

Would it be possible to update it to whatever path the user chooses in the file picker, like GNOME Control Center does?

jackpot51 commented 3 years ago

I do not think merging this should wait on the edit button, or on a better selection of profile images. We need to work on the GNOME Initial Setup changes soon, if we want to meet release deadlines.

maria-komarova commented 3 years ago

Fine with me to do edit button and profile images separately after we are done with more pressing things.

jackpot51 commented 3 years ago

@maria-komarova do we have issues for those? Good to add them to the project. @jacobgkau https://github.com/pop-os/distinst/pull/259 should fix profile icons in GDM

maria-komarova commented 3 years ago

@jackpot51 I don't think so. Edit button was part of the mockups but I can open a separate issue for that. Profile icons is more of a nice update rather than the required feature so they were never there. I can either open issues for each or add them to the project board.

jacobgkau commented 3 years ago

I've opened issues for the edit button and default profile icons, and added them to the stretch section of the project board.