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

Improve provides prompt usability, with bugfixes #3934

Merged
merged 6 commits into from
Dec 1, 2023

Conversation

HebaruSan
Copy link
Member

@HebaruSan HebaruSan commented Dec 1, 2023

Problems

  • In current dev builds, an installed mod can show up as not installed in the mod list, which in turn can lead to unhandled exceptions if you try to "install" it, or even more confusing scenarios like a mod that looks like it isn't installed but can be upgraded (!)
  • Also in current dev builds, installing Scatterer prompts regarding a recommendation for BetterKerbol via TheKramsieChallengePlanetPack, which doesn't make sense because you haven't selected to install that mod

Noticed while working on the below usability improvements for the provider choice prompt.

Causes

Motivation

@JonnyOThan has reported that many users on the KSP Subreddit Discord struggle with the prompt to choose a providing mod:

before screenshot

  • The progress bar in the lower right makes it look like the window might still be busy when it's not
  • The help text at the top doesn't explain why you landed here and is phrased in terms of "modules", which is programmer jargon rather than something a user would understand, and the "Please choose..." prompt is to the right of where they'd probably stop reading
  • There's no easy way for a novice user to figure out the most common choice, since "Scatterer Sunflare" is almost at the bottom and its abstract doesn't call out that it's important
  • 18 copies of the same abstract text for Kabrams

Apparently some people just sit there waiting for it to do something, before finally giving up and asking for help on the internet.

Changes

  • Now we exclude installed mods when generating GUIMods for the compatible and incompatible mods, which allows these lists to be safely merged in parallel
  • Now RelationshipResolver will only traverse all of the providers for recommendations and suggestions, so spurious recommendations-of-virtual-dependencies won't be pulled in
  • Now the progress bar in the lower right is hidden while the user is selecting a provider
    (Side note, the test from Add test to check GUI thread safety #3914 prevented a bug here!)
  • Now the default help text is phrased in terms the user is more likely to understand, with an explanation of which mod has the dependency and two line breaks before the part that presents the question they're supposed to answer
    (The custom help text from Override provides prompt with relationship property, check first recommendation in any_of group #3426 is not affected, so KSP-RO members can sleep comfortably.)
  • Now the providing mods are sorted in descending order of download count (then by name), to make the most popular mods easy to find at the top of the list
  • This might be controversial, but the top checkbox is now checked by default. Since that's the one with the highest download count, this will help novice users that just want to click "Continue" without reading anything while still allowing users with a preference to choose it.
  • Improve Scatterer-sunflare's abstract NetKAN#9865 and Make Kabrams sunflare abstracts module-specific CKAN-meta#3211 have already improved the worst abstracts

After this, users should be able to get through this screen more easily.

after screenshot

@HebaruSan HebaruSan added Bug Something is not working as intended Enhancement New features or functionality GUI Issues affecting the interactive GUI Core (ckan.dll) Issues affecting the core part of CKAN Relationships Issues affecting depends, recommends, etc. labels Dec 1, 2023
@HebaruSan HebaruSan merged commit 5684cd6 into KSP-CKAN:master Dec 1, 2023
8 checks passed
@HebaruSan HebaruSan deleted the fix/provides-prompt-usability branch December 1, 2023 20:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something is not working as intended Core (ckan.dll) Issues affecting the core part of CKAN Enhancement New features or functionality GUI Issues affecting the interactive GUI Relationships Issues affecting depends, recommends, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants