Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

This comment on another UX.Stackexchange question:

that's not to force you to read it, it's to ensure that websites don't pop up the window as soon as your mouse pointer goes to click something in the same position as the install button.

reminded me of a problem I do sometimes encounter - I'm in the middle of quickly typing a text and all of a sudden some unrelated application considers itself important enough to not only pop up and visually steal focus (which is annoying enough) but also steals input focus such that keypresses that already left my brain and will be executed by my hands a few milliseconds (or even microseconds?) after the focus steal, effectively causing my just pushed N or ENTER or similar to trigger a function of that popup, which then vanishes before I even realize what happens and merely notice a few letters are missing from my text. Well, until my PC suddenly restarts since it was an automated updater...

So, while said comments states Mozilla products add a delay to the extension installation dialogue to mitigate this partly, is there any valid reason for focus stealing? (Note I am not referring to intended focus shift, e.g. when I hit the Windows key I do expect keyboard focus to switch to Windows' start menu; I am talking about a shift of focus that has no correlation to my current input)

share|improve this question
3  
I mean, sure enough the "You are running out of Oxygen" warning should be very visible on an ISS terminal, but even then the "Which of the following sections (2 inhabited) to evacuate first" input should not be shifted without user interaction... (sidenote: would "evacuate" refer to the atmosphere (to concentrate oxygen to other sections) or to the persons inside in this case? Bad choice of wording...) –  Tobias Kienzler Sep 6 '13 at 8:21
    
related question asking on alternatives to this silly behaviour: ux.stackexchange.com/q/39595/7228 –  Tobias Kienzler Sep 6 '13 at 8:25
    
To show an ad? (I'm kidding. Spotify does this and it's really annoying.) –  Brian Ortiz Sep 11 '13 at 1:25
    
@BrianOrtiz It is indeed a shocking experience to once in a while browse the internet in general without adblock (of course I deactivated it on SE though) –  Tobias Kienzler Sep 11 '13 at 5:13
add comment

3 Answers

There is one situation where having an application steal focus is not only possible, it's desirable - when the application involved is designed to interrupt your flow.

I wrote an application to do exactly this - it's one of the most popular downloads from my website, called OOSAlarm.

OOS is a reference to "occupational overuse syndrome", also known as "repetitive strain injury" (RSI) and is a common problem for software developers and others who spend all day on their computers.

OOSAlarm is designed to interrupt your flow and "encourage" you to take regular short breaks to allow your body to cope with the stress of everyday work.

I use it on my own machine, configured to force a 15 second break every 4 minutes.

Focus stealing is an important feature of the program, as the whole point of the micropause is that that it actually does interrupt me for a short time. It's so important that the application includes an aggressive where it resteals the focus 5 times a second to prevent the user skipping the break.

That said, most programs that steal focus aren't doing so because you asked them to - they're just muscling their way in front and they shouldn't.

share|improve this answer
1  
I wouldn't mind you including a link to OOSAlarm here (found it though: nichesoftware.co.nz/oosalarm) and I agree this is a valid reason (+1). However it is, as you mentioned, a software specifically designed (and then installed) to catch focus while other software was not and yet does so. I'd imagine ideally a software like yours would explicitly ask for an OS's "flow interruption privilege" upon installation and if denied (or not even asked for) the OS would simply ignore any attempts at focus stealing by that program. Then again, ideally there were no OOS (or "out of oxygen") –  Tobias Kienzler Sep 7 '13 at 6:51
    
I didn't include a link in my original post because I felt it was off-topic - and that it might have been regarded poorly. Glad you found it though. –  Bevan Sep 7 '13 at 10:31
    
Well, since the program is an answer to this question, it is kind of on-topic :) But anyway, it's just two links through your profile away. Maybe I should start using it actually... –  Tobias Kienzler Sep 8 '13 at 8:20
add comment

No, there aren't any valid reasons for an app stealing focus I can think of.

If you ask me, the OS should be ultimately responsible for this by not allowing it (people coding apps in a misguided or malicious way will always exist).

share|improve this answer
    
+1 That is exactly the way MS has (and probably the others have) gone. Inexplicably much to the displeasure of many that think their application is so important that they absolutely, positively, no other way about it, have to have the user's attention and have it now. "What if two programs did this?" –  Marjan Venema Sep 6 '13 at 12:27
1  
@MarjanVenema I must have missed the part where MS has gone the way of not allowing focus stealing - there's almost infinitely many programs stealing focus thanks to multiple mechanisms Windows provides for this (well maybe not on purpose, but they definitely failed at prohibiting this) –  Tobias Kienzler Sep 6 '13 at 14:16
1  
@MarjanVenema There's the problem - they shouldn't have made it possible to start with. And this is a "feature" that really doesn't need backwards compatibility. I understand there are people with the strong desire to do it anyway, but those are probably the same people that use rand(rand(rand(time()))) because "one rand alone isn't random enough", and ideally there shouldn't be a need to support their "products"... –  Tobias Kienzler Sep 6 '13 at 14:26
2  
@Tobias: Of course they shouldn't have, but they didn't know or have the experience then that they do now. Actually the feature does need backwards compatibility, because if MS wouldn't provide that, they would get blamed for the fact that a program stops functioning when users go to upgrade their Windows system. If you don't believe me, try and research how much code there is in Windows that is application specific -> ie fixes in Windows code for bugs in applications written by other companies. Hint: look for why Asp.Net MVC etc. is open source (at least that's where I think I found it). –  Marjan Venema Sep 6 '13 at 14:36
1  
@RicardoSánchez-Sáez: May be it is, but what you seem to ignore is that UX is just one aspect with regard to Windows. Business wise it wouldn't make any sense at all to tell people not to upgrade their Windows because that would be the only way to keep their applications running. And the comparison with Apple is interesting, but not quite fair either. Their turnover is not quite in the same league and they focus more on consumers than on businesses, and the latter are much more liable to sue MS even when it is a completely different vendor's application at fault. –  Marjan Venema Sep 6 '13 at 16:29
show 10 more comments

MS Outlook is a focus thief. I hate it!!! When I'm writing down the VPN password Outlook is starting and it steals the input focus several times, mostly when I'm entering the long password.

The reason is bad design, not especially of Outlook but of the OSs in general.
The UI designers need a way to post messages to the user that are more or less guaranteed to be seen, and I don't see any such solution.
I use Windows and it bugs me with messages like "an update is ready to install" that don't really steal the focus but slide the task bar (which I have normally hidden) over the place I'm working on.
We need a "communications area" for the applications to post messages that could steal real estate from the screen until the messages are acknowledged, or set a tag in a corner of the screen with a button to show the messages, or ... whatever.
The public communications area is adeal for abuse, so each message of every application should automatically acquire a "Kill this silly messages class once and forever" button.

share|improve this answer
    
Application startup focus loss is another problem indeed, but that applies to basically any application that doesn't start immediately. So all of them... Yeah, a designated notification area that never is used in any other way might be useful, but maybe an Android-like feature that an application needs to actively obtain "post notifications" privilege should be required then... The basic problem is however developers not once stopping to think "is this message really important enough to bug the user?", and that related question –  Tobias Kienzler Sep 11 '13 at 5:17
    
@Tobias "that related question" (users becoming notification-blind) IMO is not about users but about the design of the notifications, the evaluation of what is important or not (regarding the user, not the application). Like what you said in your comment. –  Juan Lanus Sep 12 '13 at 12:19
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.