← Back to context

Comment by jagged-chisel

4 days ago

Any app should be ready to accept focus. It should never steal focus. When I start an app, and wait for it to launch, I am attempting to give it focus. I can withdraw that intent at any time by doing something else (e.g. switching apps) and the launching app should finish launching and wait in the background.

Your specific example is just repeating what I've said, but your generic point is wrong: let's say you have an important task in an app with unavoidable interruptions, during which you switch to your browser to mindlessly scroll.

You most likely want to return to the main task as soon as possible because that scrolling is just a time filler because you can't do anything productive. So you don't need any notification and extra action, just switch back asap and continue work with as little interruption as possible.

But even in the specific example that depends entirely on what you're switching from and to and for what reason. If it's for something quick non-interactive (I don't know, switch to a file browser to check the file name or something), then yes, you'd prefer to seamlessly be switched back to the main app to do the thing you launched it for.

But if it's not an important app, then yeah, you just want it to be ready for you and switch to it whenever you decide to avoid the launching delay later

  • Your example is wrong because the people who write apps always think they are the important work that should steal focus. The user on the other hand knows how to give focus to what they want to use when they want to use it and doesn't benefit from nondeterministic behavior.

  • He's saying the setting exists and does what he wants, how can you say his example is "wrong"?

  • So many strange assumtions, but the most striking is that you're presuming the user doesn't know what they want to happen.

    "you'd prefer to seamlessly be switched back to the main app to do the thing you launched it for"

    Would I? How do you know? Why do yo think so? This is such an odd thing to be sure about.

    • My real presumption is that the user knows exactly what they want to happen, but can't encode that knowledge into OS configuration because people have no imagination for trivial use cases, so demand blanket bans. While another group is just as limited and encoded blanket allows

      > Would I?

      You would

      > How do you know?

      By being the omniscient being that came up with the conditions in the first place

      1 reply →

  • I can count with 0 hands when this is useful. You can make a noise sure but never, ever, ever, ever pop up and interrupt me.

  • Nope. I never want my front task just interrupted like that. Let's take your "check the filename or something" example, and while you're there, you realize you also need a new directory, so while you're typing the name, the other task steals focus and the character you're typing cancels the task - and now you have to start it again. This exact situation has happened so many times, and it's why focus stealing focus of any kind is a problem.

    I don't care how important the app's developers think their app is. It's my computer, it's my decision how "important" something is.

    • > so while you're typing the name

      Let's take the real example I've made up (which is also a situation that happened many times to warrant an automated solution to limit distraction), not a totally different one you've made up because you can't point how the original fails withotu changing the conditions. Also, I've specifically mentioned typing as a different workfow/use case because that obviously requires different handling.

      9 replies →

  • > You most likely want to return to the main task as soon as possible

    For that it suffices if the window comes to the foreground, but it does not need to steal the focus.