Please Don't Steal My Focus

I actually catch myself screaming to my computer to “Stop stealing focus!!!” out loud sometimes. Web browsers especially seem to exhibit this trait.

I’ve cursed the programmers responsible for more than a few apps (and websites!) numerous times, myself. I just can’t understand how they can think this is a good idea. I’ve actually experienced something similar to the situation you described with data corruption myself; it left me quite literally shaking with apoplectic rage when I found out.

I’ve lost work, typed passwords into the clear on public computers, the lot. Personally, I think anyone caught writing code that does this should have their crops burned and the land salted, be dragged into the street, flogged, shot, and then flogged again for good measure.

Sorry; kinda touched a nerve on that one. This sits on the annoyance scale just slightly above “system dialogs that you can’t ever really close” and “system notifications that cannot be dismissed without opening the program.”

The worst part is that the most common cause of these problems is the OS (and its utilities) itself, rather than some 3rd party coders using certain settings to get in your way. Generally, I can get rid of the more troublesome 3rd party software by using another program with less annoying behavior. Switching to Mac OS, on the other hand, requires so many hacks that possibly wouldn’t work on my computer, or buying a new computer, so that it’s not really an option at this point.

Stuart: see above. Windows doesn’t “allow” applications to steal the focus. Windows can’t stop them from stealing the focus.

Here’s my example of completely unnecessary and very annoying focus stealing:

With my laptop I got Roxio CD Creator. It includes an update checker which runs in the background every now and then. The annoying thing is that when it goes to check for an update, it first pops up a focus stealing message “I need to check for updates!”. And then, a few minutes later, “There are no updates right now!”.

Totally stupid. I don’t need to know when the program is going to check for updates, it should do that in the background without attracting attention. And when there are no updates, I don’t want to know that too.

Many companies / programmers overestimate the amount of attention they need to attract from the user. They think that their software is the center of the world and that the user is interested in every little thing that the software does.

Have you ever installed Norton Antivirus? I does an even worst thing than stealing your focus, it pops up window like this:

“Click OK to restart you computer”

The problem is that the damn window just have the OK button.

I just dragged the window to a corner once and left it there… guess what… forgot about it… and when I was doing a very important thing and didn’t save, the window just stole the focus and acidentally I hit Enter… the computer restarted and I lost some work -_-

I think this annoying problem should be solved by OS, if any active window is getting keystrokes, it should not lost focus within a timeout.

In urgent cases, modal forms may be started displaying transparent and inactive, then get opaque slowly and finally activate if there are not any keystrokes.

I say boycott apps that steal focus! (Though I haven’t managed to put all my money where my mouth is yet.)

Internet Explorer
RSS Bandit
Google Earth

some people can’t live without IE namely the Microsoft die-hards.

The most annoying case of focus stealing I can think of is Live Messenger. I often start it while doing something else as it takes some time to start. SUddenly it steals the focus. I then restore focus to the app I was working in… and it steals the focus again!! And if you are so unlucky that you have any offline messages waiting it will steal the focus a third time.

At least there are no fatal results from typing with Messenger in focus.

Stealing is bad and blah, blah, blah, but … Do you know that the 90%+ users of windows will never reboot (or do anything, no matter if the taskbar is flashing or a new icon appear in the tray bar) unless they are forced to?

I guess MS was forced to this solution by “security” experts, because the previous version was not like that.

another reason not to use windows…
and especially not internet exporer!

I’m amused to note that every example in Jeff’s post (and several in the comments) is a MICROSOFT product. The auto-update thing. The IE download window. Visual Studio. You’d think that they’d send a company wide memo at some point saying ‘No app shall steal the bloody focus!’. Or something.

Sigh.

I have extended “OK-itis” with that Automatic Update dialogue.

When it comes up, I reflexively type Alt+Space C Return net stop wuauserv Return exit Return to open a command prompt with Launchy and nuke the reminder from orbit.

This has happened to me too many times, my least favourite one though was where Automatic Update would pop up a dialog that was a 5 minute countdown to a reboot.

I often disappear from my computer for a brief period which was always longer than 5 minutes, leaving my computer exactly as is, and not hitting Ctrl-S on the way out, which means by the time I got back to my computer I had lost all my changes.

Ok this is probably my own fault to some degree, but I was usually thinking about the problem and would normally come back with the solution and then have to start from scratch again. And there was usually a good reason for not saving changes.

At least they have seen sense and stopped this one, well at least on my computers!

And I agree with Goran, VS help is really annoying.

Rob

If you can’t imagine a message so important that it should take the foreground, you’re not trying hard enough.

“Do you know that the 90%+ users of windows will never reboot (or do anything, no matter if the taskbar is flashing or a new icon appear in the tray bar) unless they are forced to?”

Surely a toast notification that doesn’t go away unless explicitly dismissed would go most of the way? People still don’t restart if it pops up in front of them anyway, they just click “Restart Later” because they’re in the middle of something. Then they forget. Then they do something else and it pops up in the middle of it again.

I have to say I’ve not really been bitten by attention seeking apps that much recently. Maybe I’ve just become immune to it and so haven’t noticed.

Raymond Chan has an amusing story about two apps that really wanted focus, so every 5 seconds made sure they were on top. Run them together and they would flip every few seconds.

Well, the Windows update notification functionality is a prime example of how not to implement a notification system.

First, it has the behaviour described in your post, and it also has no way whatsoever to control it. You can only tell it to restart now, or “later”. What does “later” mean? In this case, about 10 minutes. And then it’s the same story all over again.

In Vista this is a little bit better. But not much. It’s still the same principle. You can now tell it to remind you up to 4 hours later. But still not “Never!”. I really don’t see why…

Ubuntu does it quite well. It just says “You need to restart your computer for some of the changes to take effect.”. That’s all that’s needed really. Why shouldn’t the user be capable of restarting the computer herself?

All in all, there are extremely few cases where this functionality even is motivated at all. I wonder what they thought when they implemented it.

You can disable focus stealing with TweakUI. I used this to “fix” two applications I use at work that were constantly fighting to steal focus.

Acrobat used to steal focus on OSX…

Sort of related, OSX and Windows both handle shutting down in completely opposite but both completely annoying ways: OSX, it’s too easy for an application to cancel the shutdown process with a stupid question or taking too long to close. Windows, once you have started the shutdown process unless you are quick with Command Prompt, there is no stopping it, no matter how many apps are open and whether or not they have saved their progress.