Nexus-Mods / NexusMods.App

Home of the development of the Nexus Mods App
https://nexus-mods.github.io/NexusMods.App/
GNU General Public License v3.0
927 stars 45 forks source link

UI/UX Design: Needed Modal/Dialog for Selecting a Default Loadout #336

Open Sewer56 opened 1 year ago

Sewer56 commented 1 year ago

User story

As a Nexus Mods App user
I want to select a loadout to which a mod should be installed when I download it
So that I can manage and organize my mods according to different loadouts.

Requirements

Design

DOD

  1. The modal appears when a mod is downloaded.
  2. Users can select a loadout from the modal.
  3. The selected loadout is associated with the downloaded mod.
  4. If the user does not select a loadout, the mod is associated with a default loadout.

Note: In cases where user has only 1 loadout this modal will (of course) not be used.

Scenario 1

Given I am a Nexus Mods App user downloading a mod
When I initiate a download process
Then a modal should appear allowing me to select a loadout for the downloaded mod.

Other Information

https://github.com/Nexus-Mods/NexusMods.App/assets/6697380/85f895e3-8292-40f4-8131-98e0c0c81a3c

Currently we don't have a modal; so the process looks like this; with installation defaulted to default (first found) loadout.

Note

UX is left up to design team (as per usual); any steps above are just a suggestion; feel free to edit this issue.

Al12rs commented 1 year ago

Since mods seem to be installed only in one loadout, how would the process be for the user to later install the same mod on a different loadout?

Shouldn't there be a distinction between downloaded, installed (repackaged into nx archive) and enabled (applied in the game folder) in a loadout? It would make more sense to me that the downloaded and repackaged mod is now available to all loadouts and then the user can activate the mod on the loadouts it cares about?

In the video the downloaded mod was downloaded, installed and enabled in a single step, which is problematic if it isn't the desired loadout, but the download and installation portions are probably ok for all loadouts.

Unless loadouts are supposed to be completely separated lists of mods, with each one requiring a separate copy of all the mods.

In MO2 there are two concepts: Instances and Profiles. Instances are completely separate and you need to have multiple copies of the same mods if you want them in multiple Instances. Different games and game installation require different instances in MO2, but each installation can have multiple instances.

Profiles on the other hand are simply different configuration of the same instance. So a different configuration of enabled mods, or configuration files etc. Mods on the same instance are shared across all profiles of that instance.

Are loadouts supposed to be more like profiles or more like instances?

Do you have a similar abstraction structure?

Al12rs commented 1 year ago

How should this be handled in case the download operation is instead started from the CLI?

Sewer56 commented 1 year ago

If it's a purely CLI operation we wish to expose too, then probably in a table format much like we do for FOMOD installer.

Al12rs commented 7 months ago

We can use the Last Loadout that was applied as the "current" loadout, where outside changes and downloads should automatically be put into.

We might still need to go over this UX, and this might still be needed for downloads that are valid for multiple games.