Every so often I get full of myself and come up with a UX Opinion. Despite not being a UI or UX expert. I like to write them down.

None of these are original.

Buttons

  1. If a UI element is interactable, the cursor should change when mousing over it. Ideally it should change to some sort of pointing hand 👆 to match web browser behaviour.
  2. If a UI element is interactable, its appearance should change on hover.
  3. Any clickable UI element should have visually distinct states for: normal, hover, mousedown and mouseup (confirm).
  4. If a button is disabled, the tooltip or clicking it should explain why it is disabled and what the user can do to fix it.
  5. Text on buttons should be a verb. So don't use "Yes" and "No", use "Save" and "Cancel".

Shortcuts

  1. If a button has a keyboard shortcut, that shortcut should be displayed inside the button or in a tooltip.
  2. It should be possible to set a keyboard shortcut to all on-screen buttons.
  3. Any action that is performed in over 50% of interactions should have a keyboard shortcut.
  4. Pressing a keyboard combination when hovering over a button should take the user to a binding screen where they can set or change the shortcut for the action associated with the button.
  5. Pressing a keyboard shortcut should trigger an "activated" reaction in the corresponding button.

Text

  1. All text formatting should be done using Markdown.
  2. All text should be written for the audience. For example if your game is aimed at kids, don't say "modified" say "changed".
  3. All text should be displayed with less than 80 characters on a line.
  4. The meaning of any text should be understandable at a glance. If it is not, use bold and different colours to emphasize the meaning so it is understandable at a glance.

Windows

  1. It should always be possible to run multiple instances of the same application.

Misc

  1. Any screen that or window that has corresponding files on-disk, should have a shortcut to open the location those files. This applies to logs, settings, saves, screenshots.