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

New Project Wizard: Usability #1967

Closed
awqk opened this issue Jul 7, 2024 · 6 comments
Closed

New Project Wizard: Usability #1967

awqk opened this issue Jul 7, 2024 · 6 comments

Comments

@awqk
Copy link

awqk commented Jul 7, 2024

Finding the Project Name input just had me confounded for a minute, and I dare say new users will have trouble as well:

gnome-shell-screenshot-3pr527

@vkbo
Copy link
Owner

vkbo commented Jul 7, 2024

How so? It's the first field, and it tells you exactly what's wrong. How do you propose to improve it?

Edit: I would also appreciate if you used the Bug report template. It asks a few key questions it's useful to have in a bug report. It also adds the bug label which makes it much clearer that it is intended as a bug report.

@awqk
Copy link
Author

awqk commented Jul 7, 2024

Everything is working, so it's not a bug, just an observation.

In a dialog, hiding or disabling inputs is not a good idea, because the internal logic hiding something is usually not as obvious to the user as it is to the designer (think of the ill-fated adaptive menus in one of the older Windows versions). You're not doing this here, so that's not the problem. The hiding of input elements happens because the subpanel doesn't fit the dialog and ends up scrollable, unexpectedly hiding input elements. The scrollbar is very easy to overlook, and many users will not immediately see how to make them visible again.

Edit (proposed fix): increase the dialog size, or adapt the dialog size to the subpanel size. It used to work in wxWidgets, should be possible in Qt.

@vkbo
Copy link
Owner

vkbo commented Jul 7, 2024

A few points on why it is the way it is.

  1. The welcome dialog remembers the size you give it, so if you want it bigger, you can just resize it.
  2. Making it bigger programmatically doesn't help, as the size varies based on OS, font selection and a bunch of other things.
  3. The size of the form varies, depending on options, so not having the form on a page and instead auto-fit would make it skip and jump.
  4. Removing the scrollarea and make it forced to fit the size is also not desirable as I will be adding more settings to the New Project Form.

The fields also says "Required", is on the top when you enter the form and you have to actively scroll away to hide it, and the dialog feedback given is pretty clear. The form behaves like pretty much any web form in existence. I'm not really sure what else to do without getting in the way of the above points.

@awqk
Copy link
Author

awqk commented Jul 7, 2024

Some users have a contrarian spirit, as we all know. In this case, "Required" looked like a good name for my test project, and I started with choosing the project folder first.

--> 1. a new user hasn't yet done this.
--> 2. wxWidgets allowed to query a widget's minimal size, taking everything into account (OS, font, etc.), probably rendering against some invisible canvas to get the result. I remember choosing the max height of all panels, centering the smaller ones. I don't know about Qt.
--> 3. In this case, the skip happens after choosing the prefill option, so some skipping/resizing would be acceptable. The list of recent projects should continue to be scrollable, it's obviously a list.
--> 4. probably not an option.

You probably assign priorities to all the issues, and this is definitively low priority, just something to keep in mind when this wizard is revisited.

@vkbo
Copy link
Owner

vkbo commented Jul 7, 2024

--> 1. a new user hasn't yet done this.

But they can, right there. This is perfectly normal dialog window behaviour? I don't get the issue here.

--> 2. wxWidgets allowed to query a widget's minimal size, taking everything into account (OS, font, etc.), probably rendering against some invisible canvas to get the result.

That's not the issue either. Qt can do this too. It either results in the dialog box resizing, or I can force it to the maximum size needed, which is exactly what I don't want to do because it makes the dialog too big. Especially for small screens. And it will grow when I add more options.

--> 3. In this case, the skip happens after choosing the prefill option, so some skipping/resizing would be acceptable.

Unexpected resizing is jarring, and to be avoided. I don't want to do that at all. That I'm certain of.

You probably assign priorities to all the issues, and this is definitively low priority, just something to keep in mind when this wizard is revisited.

This is not about priority, but I don't see a better solution here. Your main suggestions is precisely what I wanted to avoid with the scroll page design (which is the same design used in Preferences and Build Settings), and unless there is a wider call for a redesign, I don't intend to change it yet again in the foreseeable future.

I am not at all convinced this is a problem in the first place either. This is how every other form people fill in works. Forms are always a little annoying to fill in anyway, but this is not exactly one you need to interact with often, and not exactly one that takes a lot of time.

If you have a better suggestion than to force the dialog to a bigger size, then feel free to add it, and this can be revisited. In the mean time, I'll close it. I'm trying to keep the backlog here a little more manageable.

@vkbo vkbo closed this as not planned Won't fix, can't repro, duplicate, stale Jul 7, 2024
@vkbo
Copy link
Owner

vkbo commented Jul 7, 2024

I made a PR #1968 that automatically focuses the Project Name field and sets the cursor there (and selects the text if any is already there) when the New Project Form is activated. It should help indicate where to start.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants