# Stealing Focus

**URL:** <https://boards.straightdope.com/t/stealing-focus/505823>\
**Category:** The BBQ Pit\
**Created:** [August 9, 2009, 8:26am UTC](https://boards.straightdope.com/t/stealing-focus/505823 "2009-08-09T08:26:03Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![jjimm](https://avatars.discourse-cdn.com/v4/letter/j/ba8739/32.png) [@jjimm](https://boards.straightdope.com/u/jjimm)\
**Post date:** [August 10, 2009, 6:32pm UTC](https://boards.straightdope.com/t/stealing-focus/505823/41 "2009-08-10T18:32:01Z")

</div>

I am not particularly in love with the politics of the poster of the OP, but I agree with the sentiment.

I do a lot of work in usability - not development - and in my 12 years’ experience working with developers, while they’re not necessarily fat or unwashed, many (not all) of them are as arrogant as **Red Skeezix** and throw weird shapes about people being retarded when their programs don’t act in an intuitive manner - rather than their UIs being pieces of shit.

Stealing focus is a fucking huge pain in the arse. There are ways to pop up an alert window that, for example, flashes in the task bar (qv Outlook meeting reminders) and demands attention without causing fuckups. That the default behaviour is to do this, and requires setting changes or even recourse to TweakUI, which 99% of people wouldn’t understand/can’t install, is a dumb fucking piece of idiocy.

(The worst offender of all for me is IE. Fuck OFF you annoying turd of a program. The only reason I use it is that the shit fucking MS applications I use will only work in fucking IE. So I have to run the shit and it grabs focus every time there is conclusion of any kind of activity. CRAP CRAP CRAP.)

---

<div class="post-metadata">

**Author:** ![kidchameleon](https://avatars.discourse-cdn.com/v4/letter/k/898d66/32.png) [@kidchameleon](https://boards.straightdope.com/u/kidchameleon)\
**Post date:** [August 10, 2009, 6:44pm UTC](https://boards.straightdope.com/t/stealing-focus/505823/42 "2009-08-10T18:44:55Z")

</div>

> [@jjimm](#):
>
> throw weird shapes about people being retarded

What does that even mean?

---

<div class="post-metadata">

**Author:** ![jjimm](https://avatars.discourse-cdn.com/v4/letter/j/ba8739/32.png) [@jjimm](https://boards.straightdope.com/u/jjimm)\
**Post date:** [August 10, 2009, 6:58pm UTC](https://boards.straightdope.com/t/stealing-focus/505823/43 "2009-08-10T18:58:32Z")

</div>

> [@kidchameleon](#):
>
> What does that even mean?

“Throwing shapes” is an Irish English phrase meaning “to strike a[n aggressive] pose”.

---

<div class="post-metadata">

**Author:** ![mhendo](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/mhendo/32/3159_2.png) [@mhendo](https://boards.straightdope.com/u/mhendo)\
**Post date:** [August 10, 2009, 7:26pm UTC](https://boards.straightdope.com/t/stealing-focus/505823/44 "2009-08-10T19:26:12Z")

</div>

> [@LeeshaJoy](#):
>
> Y’know, I’ve been using Macs since I was five years old and I can’t recall _ever_ running into a program that stole keyboard focus like that. Just sayin’.

I’ve been on the SDMB for about 8 years, and i can’t recall _ever_ reading a thread about computer issues that didn’t have some self-righteous Mac asshole make a gratuitous and condescending post.

---

<div class="post-metadata">

**Author:** ![wonky](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/wonky/32/393_2.png) [@wonky](https://boards.straightdope.com/u/wonky)\
**Post date:** [August 10, 2009, 7:29pm UTC](https://boards.straightdope.com/t/stealing-focus/505823/45 "2009-08-10T19:29:16Z")

</div>

If someone buys me and my entire workplace Macs, I’ll use them. Otherwise, please take this opportunity to bite me (and my entire workplace).

---

<div class="post-metadata">

**Author:** ![kidchameleon](https://avatars.discourse-cdn.com/v4/letter/k/898d66/32.png) [@kidchameleon](https://boards.straightdope.com/u/kidchameleon)\
**Post date:** [August 10, 2009, 7:35pm UTC](https://boards.straightdope.com/t/stealing-focus/505823/46 "2009-08-10T19:35:13Z")

</div>

> [@jjimm](#):
>
> “Throwing shapes” is an Irish English phrase meaning “to strike a[n aggressive] pose”.

And I learned something new today.

---

<div class="post-metadata">

**Author:** ![GargoyleWB](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/gargoylewb/32/199_2.png) [@GargoyleWB](https://boards.straightdope.com/u/GargoyleWB)\
**Post date:** [August 10, 2009, 7:46pm UTC](https://boards.straightdope.com/t/stealing-focus/505823/47 "2009-08-10T19:46:48Z")

</div>

I’ll go this one further and bash programs that appear to have focus (via the color of the header bar and a blinking cursor) yet don’t _really_ have them (such as X-terminal applications), and my typing either goes into thin air, or into a totally different application.

Or the ones that steal focus, but not actively, so that not only am I forced to interact with them, I can’t just hit a quick “tab enter” to make them go away.

The _only_ application that should ever steal focus from your keyboard is the **We’ve Traced the Call and It’s Coming from Your Second Line in the Basement, Get Out Now!** plugin to Firefox.

---

<div class="post-metadata">

**Author:** ![jjimm](https://avatars.discourse-cdn.com/v4/letter/j/ba8739/32.png) [@jjimm](https://boards.straightdope.com/u/jjimm)\
**Post date:** [August 10, 2009, 9:39pm UTC](https://boards.straightdope.com/t/stealing-focus/505823/48 "2009-08-10T21:39:20Z")

</div>

> [@mhendo](#):
>
> I’ve been on the SDMB for about 8 years, and i can’t recall _ever_ reading a thread about computer issues that didn’t have some self-righteous Mac asshole make a gratuitous and condescending post.

If you owned a Mac, it would automatically remove such comments before you had to read them.

---

<div class="post-metadata">

**Author:** ![Red\_Skeezix](https://avatars.discourse-cdn.com/v4/letter/r/aca169/32.png) [@Red\_Skeezix](https://boards.straightdope.com/u/Red_Skeezix)\
**Post date:** [August 10, 2009, 9:43pm UTC](https://boards.straightdope.com/t/stealing-focus/505823/49 "2009-08-10T21:43:37Z")

</div>

> [@jjimm](#):
>
> I do a lot of work in usability - not development - and in my 12 years’ experience working with developers, while they’re not necessarily fat or unwashed, many (not all) of them are as arrogant as **Red Skeezix** and throw weird shapes about people being retarded when their programs don’t act in an intuitive manner - rather than their UIs being pieces of shit.

Developers are a spiny, chitinous bunch for good reason. What you perceive as arrogance is the product of years of brow beating, ambiguous requests misinterpreted, being reason for all of the problems with every piece of software ever, and not being the reason for any of the successes of software. Developers are expected to understand specific business rules , how they overlap with other business rules, how to implement those rules so that they are reliable, be 100% empathetic to all users needs, be able to make changes to rules or interfaces for reasons they don’t understand, and provide a solution on time and to some specification that is usually ambiguous.

Remember that usability issues are often treated as common sense issues by non-development staff, unfortunately if a developer does not encounter or predict a possible issue, it’s not common sense to the developer.

Things which are intuitive to developers are not intuitive to other people. Things like reading the manual and/or help files when they don’t understand why a piece of software is behaving a certain way. They have a hard time understanding why someone else would be reluctant to do so. Especially when the changes required mean donation of time, that we don’t get paid for or recognized for.

(Note: I’m not stating this is the right attitude, just that it is the prevalent attitude).

Also, when I wrote those original posts I was a little pissed off by the vitriol so I felt a little arrogance was in order.

---

<div class="post-metadata">

**Author:** ![Malthus](https://avatars.discourse-cdn.com/v4/letter/m/85f322/32.png) [@Malthus](https://boards.straightdope.com/u/Malthus)\
**Post date:** [August 10, 2009, 9:52pm UTC](https://boards.straightdope.com/t/stealing-focus/505823/50 "2009-08-10T21:52:48Z")

</div>

Don’t think of it as “stealing” focus. Think of it as _panhandling_ focus.

---

<div class="post-metadata">

**Author:** ![Redwing](https://avatars.discourse-cdn.com/v4/letter/r/dfb087/32.png) [@Redwing](https://boards.straightdope.com/u/Redwing)\
**Post date:** [August 10, 2009, 10:19pm UTC](https://boards.straightdope.com/t/stealing-focus/505823/51 "2009-08-10T22:19:37Z")

</div>

> [@SmashTheState](#):
>
> What the bleeding cunt is wrong with software developers? I mean, other than being fat, unwashed, poorly-socialized nerds with the moral development of a snake. For about the ten billionth time, ZoneAlarm stole focus from me to pop up… _some_ warning about something, for about a nanosecond, in the middle of me typing something, stealing focus and causing the window to vanish, I having told ZA to do something indeterminate with a random keypress.
> 
> Do a Google search on “stealing focus” and you will see I am just one tiny voice, a single drop in the ocean of rage directed at stolen focus. WHY DO THEY DO IT? It baffles me, it beggars my imagination, to conceive of any reason beyond either deliberate sadism or total incompetence why ANY software developer would steal focus, given so many years of so many people howling with rage about it.
> 
> There seems to be an underlying belief among IT types that your computer belongs to them, and that you use the computer you bought and paid for only at their whim. It starts with Micro$oft – the ones who fail to give you any control over applications stealing focus to begin with – and continues on down the chain through application designers and on to webmasters and malware developers (which really brings us full circle back to M$ again). It’s as if every part of every piece of software on my computer is conspiring to take control away from me, to make me subservient to something I have purchased with my own hard-earned money.
> 
> Why? Why do they do it? I don’t get it. Has anyone, anwhere in the world, in the entire history of computing from the UNIVAC on up, said: “I really wish someone would make random things appear on my screen at unpredictable times while I’m typing”? What on EARTH makes software developers decide that the best way to determine the wishes of the user is to, randomly and without warning, fling a box in front of whatever the user is currently doing and interpret a random keypress as some kind of Oracular command to format the hard drive?

Wow. I mean, I knew you were a friggin nut job a while ago, but still. This is almost as silly a screed as something from the LaRoush campaign.

Let’s see, I will admit to being fat, and having the moral development of snake (I like snakes style, really, eat a huge meal, sleep for a week, repeat), but unwashed and undersocialized do not really strike me as understanding the amount of human contact that goes into software development.

Oh, wait, you’re talking about some little crapware. Then Microsoft, then something about ownership, then a wild and wacky conspiracy, then conflating IT with dev, then babbles about for a while. I do like that you try to garner some sympathy by appealling to people bitching on the internet 😃 If I thought you were actually capable of higher reasoning, or even object permenance, I’d try harder to decipher your message; but since you have already stated that you can not control the spastic twitching of your hands enough to avoid hitting a button in some window that pops up on your screen, I don’t think you have the required wit. When you learn some basic motor control, and manage to stop frothing, maybe you’ll have something interesting to say.

As for the rest of the thread, it’s a configurable user interface option. What do you want, the fucking dev to know what’s in your head? We’re not going to guess at what you fucking want something to do, we’re going to ask you, once, then we’re going to (if we work somewhere reasonable) make you sign something say that this is what you want, then, when come mewling back to us after you get the product, we’re going wave that form in your idiotic face and call you names. Why? because you’re trying to make your problem our problem. We’re assholes about it, because back in the day, before we knew that you were actually incapable of describing what you want, we tried to make things work they way you wanted, and every time we gave you something you whined at us, and tried not to pay us for the hours we spent building what you asked for (see form), then trying to be nice, we rushed around trying to make it different for you. We hate you even more because you don’t believe us when we tell you something is not easy, and you want to take weeks of schedule because that doesn’t sound hard. Ya know, if someone makes a request that causes me to work over Christmas this year, I’m going to make the next user interface I touch occassionally tile all of your windows and randomly focus one. I wonder if Microsoft is hiring…

---

<div class="post-metadata">

**Author:** ![StaudtCJ](https://avatars.discourse-cdn.com/v4/letter/s/90ced4/32.png) [@StaudtCJ](https://boards.straightdope.com/u/StaudtCJ)\
**Post date:** [August 10, 2009, 11:29pm UTC](https://boards.straightdope.com/t/stealing-focus/505823/52 "2009-08-10T23:29:25Z")

</div>

> [@Redwing](#):
>
> Ya know, if someone makes a request that causes me to work over Christmas this year, I’m going to make the next user interface I touch occassionally tile all of your windows and randomly focus one.

I’d pay for that application. I’d install it on my husband’s computer, my mother’s computer, that idiot at the office’s computer, and various others, for laughs. Especially after the office idiot broke my annoy-a-tron, I might add. I’m not a software dev, and I have the utmost respect for being able to take lots of 1s and 0s and turn it into a bell-and-whistle-full graphical interface. If you ever manage to get that running, I’m sure I’m not the only potential customer. 😃

---

<div class="post-metadata">

**Author:** ![Stealth\_Potato](https://avatars.discourse-cdn.com/v4/letter/s/d78d45/32.png) [@Stealth\_Potato](https://boards.straightdope.com/u/Stealth_Potato)\
**Post date:** [August 11, 2009, 12:24am UTC](https://boards.straightdope.com/t/stealing-focus/505823/53 "2009-08-11T00:24:37Z")

</div>

> [@Red\_Skeezix](#):
>
> I’m only arguing on the behalf of the developers. Us poor unwashed, unsocialized, overweight morally deficient bunch.

I’m a software developer too (though not an unwashed, unsocialized, or overweight one, so maybe my “cred” is deficient ;)), and I can quite agree that focus-stealing popups are a case of completely _idiotic_ user interface design. As **Dead Badger** pointed out, if you’re typing at the time one of these popups appears, you are quite likely to instantly dismiss it with Og-only-knows what result. That alone makes them completely unacceptable.

In cases where immediately seizing the user’s attention actually _is_ necessary, it’s absolutely essential that _keyboard input not perform any action until an unambiguous confirmation input has been received_. Preferably something like a mouse click, which implies that the user has had an opportunity to visually engage the popup. Even then, though, it’s possible for such a window to appear suddenly at the very instant the user is clicking the space on the screen where the “Reformat Computer” button is about to appear, so mouse input to the popup should be locked for a second or so just to make sure.

This level of mandatory annoyance should make it clear that stealing focus must be reserved for only truly important prompts.

---

<div class="post-metadata">

**Author:** ![Liberal](https://avatars.discourse-cdn.com/v4/letter/l/848f3c/32.png) [@Liberal](https://boards.straightdope.com/u/Liberal)\
**Post date:** [August 11, 2009, 2:17am UTC](https://boards.straightdope.com/t/stealing-focus/505823/54 "2009-08-11T02:17:59Z")

</div>

Whatever all this bashing of the OP is about, never mind. But stealing focus is almost always a bad idea when a keystroke can have some effect. How could anyone argue otherwise? Who is prepared to defend this practice, which is potentially dangerous, and at the very least a pain in the ass?

Granted, the OP went on and on about developers and IT and fat people and all that, but his essential point is spot on. If an app simply MUST steal focus, then it should do so modally. In other words, it should actually prevent keystrokes from applying to anything but itself. And then it should require a mouse-click before dismissing itself (assuming it’s delivering a message). Finally, it should put up the dreaded “Are you sure?” window before actually doing anything. Then when it’s clicked, it should just go away, leaving you where you were — maybe minus a keystroke or two, but not in a position where you just dismissed an important message, or just started an unstoppable long process, all because focus was stolen and you were typing in another app. I mean period. Really.

---

<div class="post-metadata">

**Author:** ![jjimm](https://avatars.discourse-cdn.com/v4/letter/j/ba8739/32.png) [@jjimm](https://boards.straightdope.com/u/jjimm)\
**Post date:** [August 11, 2009, 6:50am UTC](https://boards.straightdope.com/t/stealing-focus/505823/55 "2009-08-11T06:50:28Z")

</div>

> [@Red\_Skeezix](#):
>
> Remember that usability issues are often treated as common sense issues by non-development staff, unfortunately if a developer does not encounter or predict a possible issue, it’s not common sense to the developer.
> 
> Things which are intuitive to developers are not intuitive to other people. Things like reading the manual and/or help files when they don’t understand why a piece of software is behaving a certain way. They have a hard time understanding why someone else would be reluctant to do so. Especially when the changes required mean donation of time, that we don’t get paid for or recognized for.

This is why, when I’m involved in any new project (usually browser-based apps these days, but Windows and Java dialogs in the past), this is the order that I insist we do things:

1. What does the app need to do?
2. How does the UI express this to the user? How does it look? What user touchpoints are required? How few can we use to maintain functionality? How do we make them as simple as possible? What out-of-the-box settings will most users expect?
3. Mock up the UI.
4. Commence development of the back end with constant reference to the UI.
5. Begin gentle war of attrition between the compromises the developers require to the UI by dint of the limitations/vagaries of the software back end, and the necessity to keep the UI usable.

In other words, the UI _is_ the product - the back end, while very complicated, is merely how it does it.

By way of analogy, it’s like a car: the engine, brakes and suspension are the most important bits, and good selling points, but what people buy when they get a car is the shape, image, and look of the car, and how they experience it is via the ergonomics of the controls.

---

<div class="post-metadata">

**Author:** ![Dead\_Badger](https://avatars.discourse-cdn.com/v4/letter/d/848f3c/32.png) [@Dead\_Badger](https://boards.straightdope.com/u/Dead_Badger)\
**Post date:** [August 11, 2009, 9:04am UTC](https://boards.straightdope.com/t/stealing-focus/505823/56 "2009-08-11T09:04:28Z")

</div>

“Throwing shapes” can also refer to dancing (usually at a “rave” or electronic music recital), although if you use it in this context you tend to sound like a bit of a tit. Use ironically if your dancing is particularly shit.

> [@Redwing](#):
>
> As for the rest of the thread, it’s a configurable user interface option. What do you want, the fucking dev to know what’s in your head?

Yeah, but only if you download a separate utility specifically to change the option. And even then it only half works. And even if the OS does allow you to steal keyboard focus, it’s still a fucking stupid and annoying thing to do. The OS will allow your software to play [Chris de Burgh](http://www.youtube.com/watch?v=z1EIOLOzYyo) at top volume; would you argue that the luser should just turn the volume down? It’s a configurable user interface option after all - how are you supposed to know the luser doesn’t want CHRIS FUCKING DE BURGH played at him?

Oh, right; because the mono-browed irish twat is FUCKING ANNOYING.

If UI features were singers, stealing focus would most certainly be Chris de Burgh.

---

<div class="post-metadata">

**Author:** ![Red\_Skeezix](https://avatars.discourse-cdn.com/v4/letter/r/aca169/32.png) [@Red\_Skeezix](https://boards.straightdope.com/u/Red_Skeezix)\
**Post date:** [August 11, 2009, 11:35am UTC](https://boards.straightdope.com/t/stealing-focus/505823/57 "2009-08-11T11:35:29Z")

</div>

> [@jjimm](#):
>
> This is why, when I’m involved in any new project (usually browser-based apps these days, but Windows and Java dialogs in the past), this is the order that I insist we do things:
> 
> 1. What does the app need to do?
> 2. How does the UI express this to the user? How does it look? What user touchpoints are required? How few can we use to maintain functionality? How do we make them as simple as possible? What out-of-the-box settings will most users expect?
> 3. Mock up the UI.
> 4. Commence development of the back end with constant reference to the UI.
> 5. Begin gentle war of attrition between the compromises the developers require to the UI by dint of the limitations/vagaries of the software back end, and the necessity to keep the UI usable.
> 
> In other words, the UI _is_ the product - the back end, while very complicated, is merely how it does it.
> 
> By way of analogy, it’s like a car: the engine, brakes and suspension are the most important bits, and good selling points, but what people buy when they get a car is the shape, image, and look of the car, and how they experience it is via the ergonomics of the controls.

Two points:

1. Your approach to UI is frequently not shared by the people who hold the purse strings (although this is becoming less common).
2. The car analogy is inappropriate for two reasons: The cost of purchase of cars is much higher than software and the core functionality of all cars is essentially the same. Cars are one order of magnitude more expensive than specialty software, and two to four orders of magnitude more expensive than most retail software. They get you from point a to point b. If all programs did the same thing then the UI would be developed with higher regard.

Unfortunately software is more like going to the movies, the movie is the product and the theater is the UI, the theater owners are trying to maximize profit by shoehorning as many people into a room as possible and overcharge for the popcorn.

[QUOTE=Dead Badger]

[QUOTE=Redwing]

As for the rest of the thread, it’s a configurable user interface option. What do you want, the fucking dev to know what’s in your head?

[/QUOTE]

Yeah, but only if you download a separate utility specifically to change the option. And even then it only half works.

[/QUOTE]

I could be wrong, but I believe that **Redwing** was referring to zone alarm specifically. Its a user configurable option in zone alarm is how I read that.

---

<div class="post-metadata">

**Author:** ![jjimm](https://avatars.discourse-cdn.com/v4/letter/j/ba8739/32.png) [@jjimm](https://boards.straightdope.com/u/jjimm)\
**Post date:** [August 11, 2009, 11:43am UTC](https://boards.straightdope.com/t/stealing-focus/505823/58 "2009-08-11T11:43:29Z")

</div>

> [@Red\_Skeezix](#):
>
> The car analogy is inappropriate for two reasons…

I refer my learned friend to [this thread](http://boards.straightdope.com/sdmb/showthread.php?t=342011) by the Hon. **Dead Badger**.

---

<div class="post-metadata">

**Author:** ![Red\_Skeezix](https://avatars.discourse-cdn.com/v4/letter/r/aca169/32.png) [@Red\_Skeezix](https://boards.straightdope.com/u/Red_Skeezix)\
**Post date:** [August 11, 2009, 12:08pm UTC](https://boards.straightdope.com/t/stealing-focus/505823/59 "2009-08-11T12:08:00Z")

</div>

In my opinion, the fact that cars have only one core functionality, therefore the look and feel is the product. This fact is in Dead Badger’s words (from the other thread) “A Great Honking Difference … a show-stopper of a difference”, and that it is not “unto differences as the Macarena is unto dance”.

Also, Im sick of car analogies to software. 😃

---

<div class="post-metadata">

**Author:** ![jjimm](https://avatars.discourse-cdn.com/v4/letter/j/ba8739/32.png) [@jjimm](https://boards.straightdope.com/u/jjimm)\
**Post date:** [August 12, 2009, 3:36pm UTC](https://boards.straightdope.com/t/stealing-focus/505823/60 "2009-08-12T15:36:21Z")

</div>

> [@Red\_Skeezix](#):
>
> Also, Im sick of car analogies to software. 😃

How about a car versus a tractor versus a truck? 😉

[Previous page](https://boards.straightdope.com/t/stealing-focus/505823.md?page=2)

[Next page](https://boards.straightdope.com/t/stealing-focus/505823.md?page=4)
