Ziktofel / Archipelago

Archipelago Multi-Game Randomizer and Server
https://archipelago.gg
Other
1 stars 8 forks source link

sc2: Reduced clutter of initial startup messages #198

Closed MatthewMarinets closed 4 months ago

MatthewMarinets commented 4 months ago

What is this fixing or adding?

Removed some clutter, and made the important /download_data message highlighted in red.

How was this tested?

If this makes graphical changes, please attach screenshots.

Old startup: image

New startup: image

Part 2 -- Added a red border and message to the launcher if maps are out of date

image

How was this tested?

  1. Opened the client with the maps out of date. Verified the border and message appeared.
  2. Resized the window a bunch to make sure that didn't break it.
  3. Ran /downlod_data. Verified the border / message went away when the download completed
  4. Closed and re-opened the client. Verified the border was not present with fresh data
  5. Deleted AP metadata file in the sc2 directory. Closed and re-opened the client. Verified the red border and message appeared again.
Ziktofel commented 4 months ago

I want some more reviews from other ppl as I'm not a kivy expert myself

EnvyDragon commented 4 months ago

NP: Red on dark grey is a little hard to read/notice; at a glance, I can see in the text box that something's wrong, but I can't actually read the text without focusing. On the mission label tab I don't see the warning at all unless I'm looking for it.

Can it be a shade of yellow/orange/etc instead maybe?

EDIT: For the record, I love everything else about how the warning text shows up. Thank you for adding this, it's an excellent usability feature!

MatthewMarinets commented 4 months ago

Can it be a shade of yellow/orange/etc instead maybe?

I tried to set the text colour to match the border colour, which I set to be red as that's normally the most attention-grabbing colour and also communicates that something is wrong. I could change just the text colour, but then I'm not sure users would intuitively connect it with the border. I could change both colours to e.g. orange, but I'm not sure we'd actually get that much more contrast.

I think best solution is to give the textbox a background? It's way harder than it has to be in kivy, but I think I know how to do it now.

MatthewMarinets commented 4 months ago

Another update to up the contrast of the message text:

image image

Ziktofel commented 4 months ago

BTW shouldn't the color of the font on red background be actually white?

See: https://stackoverflow.com/a/69869976 for font/background contrast

MatthewMarinets commented 4 months ago

BTW shouldn't the color of the font on red background be actually white?

See: https://stackoverflow.com/a/69869976 for font/background contrast

Hmm, here's the comparison picture. I think white text might be a little better?

image

I calculated the luminance Ys from the linked algorithm to be 0.14, which is on the white side of the threshold value 0.342.

>>> red = 0.82
>>> green = 0.2
>>> rco=0.2126729
>>> gco=0.7151522
>>> trc=2.4
>>> (red**trc)*rco + (green**trc)*gco
0.1471155558724614
MatthewMarinets commented 4 months ago

From Berserker:

also if you have that massive banner anyway, why not make it do bind("on_click", download_data)?

Sounds like a good idea, though I'm not really inclined to do that in this PR. I think that involves reworking this to be a button instead of a label, and personally as a dev I expect to want to avoid pressing that button.