Bug 1201986 - Package conflict resolution dialog in ncurses is confusing, see below.
Package conflict resolution dialog in ncurses is confusing, see below.
Status: CONFIRMED
Classification: SUSE Linux Enterprise Server
Product: PUBLIC SUSE Linux Enterprise Server 15 SP3
Classification: SUSE Linux Enterprise Server
Component: YaST2
SLES15SP3Maint-Upd
Other Other
: P5 - None : Enhancement
: unspecified
Assigned To: YaST Team
Jiri Srain
https://trello.com/c/Grgsz6uW
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2022-07-29 15:17 UTC by Jonathan Rivrain
Modified: 2022-09-26 10:00 UTC (History)
1 user (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Confusing dialog (56.06 KB, image/png)
2022-07-29 15:17 UTC, Jonathan Rivrain
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Rivrain 2022-07-29 15:17:41 UTC
Created attachment 860486 [details]
Confusing dialog

It can be hard (at least for me) to understand what the radio button "see below" is doing, we can think :
- that there's a bug , and that the button should not be selectable.
- that if we select this button, it will automatically select the next radio button, just below it.

Then all starts making sense if we look at the qt version: "see below" stands for the table *under* the list.

Maybe a more explicit message like "See proposal in the table below" could be better, for example.
Comment 1 David Diaz 2022-08-01 08:37:11 UTC
And there are even two repeated (!?) options

"Following actions will be done: see below"

Thanks for the input @Jonathan. I'll add to our board to see what (and when) we can do.
Comment 2 Stefan Hundhammer 2022-09-26 10:00:24 UTC
The NCurses UI is intended for experts or as a fallback if the Qt UI cannot be used for some reason (which should always be the exceptional case).

Yes, we know that it's not pretty. We know that it has limitations; screen size, lack of graphical cues, usability in general. That's the nature of text-based user interfaces.

Agreed, having the same text twice is a problem. That is indeed confusing.

The problem is that in the general case, those "actions below" can be very long, depending on how many packages are affected. If it's only 3 lines, like in this example, it's simple: We could put them directly below the solution line in another tree level that is indented one level more.

But when there are more of those lines, they would need to be collapsed, so the user would have to open them explicitly; and hopefully it would be obvious enough that they are collapsed, not making the user think that everything is just fine.

So the apprach has been (for the last 15+ years!) to put the detailed actions into a separate scrollable list below the solutions list.

The confusion in this case arises only because there are several solutions with more detailed actions (i.e. more than one action) which leads to this undesirable case of having more than one of those (unfortunately) nondescript generic lines "Following actions will be done: see below".

AFAICS libzypp has become more intelligent, being able to suggest more than one of those complex solutions that result in those many detailed actions.

That wording "Following actions will be done" (which should actually be "The following actions will be done" anyway) is unfortunate. It's very generic; it only makes sense together with the detailed actions. But on this level, I fear we can't use any wording that makes more sense; it would need more intelligent parsing of what is going to happen.

As a human, you would probably describe most of those complex solutions with something like "delete half the packages on your system", "the nuclear option", "wreck the system". Only in rare cases there is something better to describe them.

In this particular case, it might be "Remove the locks" and THEN point to the details; but in the general case, it's more complex.

This is not easy. Frankly, I have doubts if there is a reasonable approach to do this better; much less in a limiting environment like the NCurses UI.