obsproject / design

Mockups and design tasks for OBS Studio
Creative Commons Zero v1.0 Universal
19 stars 3 forks source link

Startup Actions #18

Open GeorgesStavracas opened 1 year ago

GeorgesStavracas commented 1 year ago

Sometimes we might need to query users for action on startup. Some cases and reasons:

I'm sure there are more cases like these. We need to immediately ask users how they want to react, because not doing so means they'll be surprised when their stream doesn't work as expected.

WizardCM commented 1 year ago

Initial notes. I'll write a longer comment later too.

We want to be direct to the user (get their attention) but not overwhelm them with dialogs.

Depending on the user's setup, at this time they could run into the following dialogs all in one second:

  1. Service integration stopped working; this can happen if they haven't launched OBS in a couple of months, resulting in the session tokens expiring
  2. An OBS update is available
  3. Missing Files (as you mentioned)
  4. First-time-run Auto-Config wizard (this can re-appear if Qt's DockState data gets corrupted)
  5. "What's New" dialog for a known issue or an upcoming/current update
  6. macOS only: a previously enabled permission (eg screen capture) was lost and the OS re-requests permission from the user

Ideally we don't show 6 dialogs together or in a row. Most users just want to get back to recording/streaming with as little noise from the app as possible. Currently, all of the above dialogs are not tied to any kind of central queue or priority list, and can therefore bombard the user unintentionally.

A similar issue can occur when a user tries to start a stream:

  1. User previously requested a confirmation dialog when starting streams. Start stream?
  2. You have no sources, continue?
  3. YouTube Stream Manager (pick which video ID to stream to, set stream title, etc)
  4. Invalid stream key/Encode couldn't start

These 4 dialogs would occur one after the other as we hit each error. As there's no queue/priority system, this introduces challenges.

Generally, multiple dialogs one-after-another are a UX no-no, and we should avoid it.