first-time-run wizard

roippi

Developer
Right now, mafia detects when you are running a new installation. It installs all of the requisite subfolders and, notably, opens the Preferences window so that the user can make appropriate adjustments. I find this latter part dissatisfying for a couple of reasons:

1) New users are going to be turned off/completely flabbergasted by the array of options presented to them there. There's a lot. But, perhaps more importantly:
2) Only GLOBAL options can be altered when the user is not logged in. User preferences will not persist to when the user is logged in. Imagine a new user's confusion when he ticks "show blatant spoilers," logs in, and there's still no spoilers.

What I see as a better way of doing things:

-On opening the program, a small "welcome to kolmafia" window pops up. Very little information needs to be in this, other than telling the user to put in his login/pass and click go.
-On logging in for the first time and opening the main frame, a first-time-run wizard appears. This should be a very pared-down version of the Preferences frame, with every option it presents verbosely explained as to its purpose.

Where I need input is on the contents of that wizard. So far I'm planning on a number of things from the "item acquisition" tab and from the "relay browser" tab, with a smattering of other options from other tabs. I won't enumerate which ones quite yet, since I haven't put a ton of thought into it. Of note, I really only want to put options into the wizard that can be toggled with a checkbox.
 

Theraze

Active member
If you're breaking things into a 'logical' wizard, I'd show global options first, before they log in, and then show the individual login options on the first execution of that character, when the <name>_prefs is created.

Automation options should be on there as well, and that's global. Maybe should offer to let them skip a section if they wanted.

Also, if we have a pretty wizard, it should be able to be executed later as well. Few things worse than knowing that the wizard has EXACTLY the option you're looking for, but you can't get it back again and so you need to scour for what seems like a very long time to try to find it.
 

Winterbay

Active member
I agree that both global and individual settings need to be shown, and I would say probably explained to some sense as well. You never know what people can deduce and what they cannot.
 

roippi

Developer
If you're breaking things into a 'logical' wizard, I'd show global options first, before they log in, and then show the individual login options on the first execution of that character, when the <name>_prefs is created.

I'd really rather not create triple the work for myself and just make one wizard. There's hardly any benefit to splitting things up like that.

Automation options should be on there as well, and that's global.

Only login/logout are global, the rest are per-user. And all of those things are significantly more advanced than what a brand new user needs to configure.
 

jasonharper

Developer
Rather than a stripped-down Preferences, might I suggest a simple list of presets? "Logger", "Spoiler", and "Automator" should cover the basic mafia use-cases.
 

slyz

Developer
Being able to configure if Mafia can use the closet/stash/mall and the autoBuyPriceLimit would be great and probably very comforting for a new user. That's probably what you meant by the "Item acquisition" part.

Other than that, maybe a short explanation of the various top row buttons... or maybe just point out the Relay Browser icon, at least, and let them figure out the rest for themselves.

A link to the forums, the wiki, and SingingSally's (slightly outdated?) guide would be a nice way to end the Wizard.

If the Wizard code is easy to expand, I would be glad to add some panels.
 

Bale

Minion
Questions to ask:

  • To what level should basic KoL browser experience be modified?
    1. No modification at all
    2. Helpful links (such as use links after item acquisition and recovery links in left panel)
    3. Add automation functions during browser adventuring (Moods, recovery, adventure scripts)
  • Should Spoilers be added to KoL? (Such as for choice adventures and Arcade games)
  • KoLmafia can do once/day things at first logon.
    1. I want to do those things myself
    2. Only get things that are free like the Klaw
    3. Also get clovers from the Hermit
    4. Also cast once/day skills like Pastamastery and Cocktailcrafting
  • What level of automated Helpfulness should KoLmafia provide?
    1. Don't acquire anything without being told!
    2. If out of Ronin, pull whatever is needed from storage
    3. Also automatically purchase items from mall stores
    4. Also buy items with tokens from coinmasters
    5. Also buy items from the mall
  • Is it okay to remove items from your closet to fulfill requests?

Note that some of those questions combine several preferences so the user can fine-tune his preferences later.
 
Last edited:

roippi

Developer
Rather than a stripped-down Preferences, might I suggest a simple list of presets? "Logger", "Spoiler", and "Automator" should cover the basic mafia use-cases.

I do kind of like the idea of having a high-level Big Dumb Button that you can click to load some presets, but I also like the idea of it showing you what preferences are being set and what they do.

Perhaps the BDB loads a card and there's a "select all" button to check all the checkboxes on that card - or you can individually click them / hover over for more info.

Questions to ask:

Ooh, I kind of like this interface direction too. Decisions, decisions..
 
Last edited:

Catch-22

Active member
both.png


Couldn't you have the "big dumb" preset buttons + an "advanced" button that just opens up a new window containing some of the more finely tuned options?
 

Theraze

Active member
On Bale's Question list, most of the once-a-day and acquisitive helpfulness items would work better as checkboxes, since the ability to get only 'free' stuff might include the casts before you prefer the hermit clovers, but that depends on where I'm at...
 
Top