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

Design: Preferences Layout #183

Closed
slemeur opened this issue Jun 9, 2022 · 12 comments
Closed

Design: Preferences Layout #183

slemeur opened this issue Jun 9, 2022 · 12 comments
Assignees
Labels
area/ui kind/enhancement ✨ Issue for requesting an improvement

Comments

@slemeur
Copy link
Collaborator

slemeur commented Jun 9, 2022

Is your enhancement related to a problem? Please describe

The layout / styles and sections in the preferences need to be reworked.
Capture d’écran 2022-06-09 à 10 35 50

At the moment there are the following challenges:

  • The sections are difficult to identify
  • Some of sections are "settings and configuration" of the tool itself, some other are "user preferences"
  • It will be hard to scale with the future options we might be adding

Describe the solution you'd like

  • We may need to consider introducing a "Settings" section in the left sidebar (main navigation) for some of the main settings for the application (registries, resources and in the future, proxies, volumes, secrets).
  • Each of the provider (podman, crc and other) may need to contribute certain specific settings too
  • We need to make it clearer/easier to navigate in the different preferences
  • We may need to consider using lists for the "extension catalog" section and the different "machines" from podman.

Describe alternatives you've considered

No response

Additional context

No response

@slemeur slemeur added kind/enhancement ✨ Issue for requesting an improvement area/ui labels Jun 9, 2022
@gbengaoti
Copy link

Beginning with how the preferences/settings page should open, I have made a sketch in FIGJAM

https://www.figma.com/file/FkfUo7A97j8TXWwonsOtSp/Preferences-section

Essentially, when the user clicks on settings, a new page should be opened

@gbengaoti
Copy link

With regards to the configuration settings, I have made some sketches in FIGJAM on what I think they should look like. However, I am still unclear on the content that needs to be presented to the users. Some feedback on these sketches would be helpful: https://www.figma.com/file/b6wXhPl49jRI9aJJVtqkND/configuration-settings

@slemeur
Copy link
Collaborator Author

slemeur commented Aug 10, 2022

Thanks @gbengaoti ! The proposed layout approach works well!

Question:

  • should we differentiate application configuration (managing podman machines, resources) from user preferences (display options)?

I think the next step would be to look at creating patterns that we can reuse across different sections. The proposed solution from @mairin with tiles for registries could be a nice option, but I'm worry it might not be applicable for all kinds of configurations and we may need simple list.

As @mairin pointed out, it's going to be important to allow creating/editing without using a 3rd level of modal too.

@gbengaoti
Copy link

Thanks, Steven, the user preferences are currently called preferences on the main settings page but the label can be changed to make it clearer.

Have you had a look at the configuration page, are you happy with the structure and the content of it? Please let me know

Yes, unifying the UI of the application would be good

@benoitf benoitf mentioned this issue Sep 5, 2022
6 tasks
@slemeur slemeur changed the title Preferences Layout Design: Preferences Layout Feb 15, 2023
@jeffmaury jeffmaury assigned mairin and unassigned mairin Feb 17, 2023
@mairin
Copy link
Member

mairin commented Feb 20, 2023

Two inital options here.... top has a tree, bottom does not.

I'm concerned about ordering... some of these seem more core than others - what I did in the tree one is pin the "Preferences" category to the top and the rest are in alphabetical order by top level name. I can't make out rhyme or reason for how the order of how they display in vscode so that wasn't much inspiration.

Preferences (1)
Preferences

@benoitf
Copy link
Collaborator

benoitf commented Feb 21, 2023

I prefer option 1 but it may take more to implement

About the way to update values, when is it done ? each time user change a character ?
About choosing files, for now user click on the field and it brings a dialog to select a file/folder. Should the rendering contains a browse... button so bring that dialog or from UI/UX it's ok to behave like that.

@deboer-tim
Copy link
Collaborator

Visually I prefer 1 as well, my only worry is whether the two columns on the left will take up too much space on small screens (but maybe that's not an issue).

My preference for most properties is to have them apply immediately. I wonder if we'll want a 'reset to default' on some?

@benoitf
Copy link
Collaborator

benoitf commented Feb 21, 2023

reset to default would be nice (we know which properties have default values)

@deboer-tim
Copy link
Collaborator

I had a Slack chat with someone asking about preferences redesign, and they preferred the first option as well. They suggested the second tree could be merged into the left nav - which is essentially where it is today. I'd second that, or say that with only ~8 prefs today we could fix the rest and defer the decision of whether to add nav directly onto the page.

@mairin
Copy link
Member

mairin commented Feb 21, 2023

Awesome thanks for the feedback! Here's the points I'm taking away to think about:

  • I was thinking instant apply would be best for this screen - I surveyed preferences dialogs like this across a bunch of tools and most have instant apply... there were a few situations where they're a little more transactional and queue up any changes and have a global "apply" button with a notification "you have unsaved changes", but the latter seemed like a lot of complication without too much payoff. I think instant apply is simpler; I'm not an expert in implementing it but I think a common way of triggering it is to save after the field loses focus. So you don't have to call save on every single character press and you have some idea the user is finished typing.
  • For responsiveness of the treemenu - we could make it disappear in narrow window situations, or merge into the main nav under Preferences like you suggested @deboer-tim ... I'll mock this up and see how it works.
  • I'll add reset to default buttons!
  • I'll add browse buttons for paths - I think this is a good idea @benoitf!

@mairin
Copy link
Member

mairin commented Mar 22, 2023

I forgot to update with the new mockups! The changelog for these is basically in the last comment: #183 (comment)

Opt 1 Main nav tree merge

Preferences (Tree in main nav)

Opt 2 separate tree

Preferences (Tree v2) (1)

I believe during the UX review meeting we had a preference for opt #1.

lstocchi added a commit to lstocchi/podman-desktop that referenced this issue Apr 20, 2023
Signed-off-by: lstocchi <lstocchi@redhat.com>
lstocchi added a commit that referenced this issue Apr 20, 2023
feat: refactor preferences tree (#183)

Signed-off-by: lstocchi <lstocchi@redhat.com>
RandyMcMillan pushed a commit to timechain-academy/timechain.academy that referenced this issue May 9, 2023
@mairin
Copy link
Member

mairin commented Jun 1, 2023

This is already implemented 😅 Closing!!

@mairin mairin closed this as completed Jun 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ui kind/enhancement ✨ Issue for requesting an improvement
Projects
Archived in project
Development

No branches or pull requests

5 participants