I have a program at work that steals focus constantly. It doesn’t do it to alert me to danger or anything like that. It does it to show me that it’s done printing, or that it has loaded a report. And somehow it steals it without really stealing it. The tab in the task bar will still be highlighted for the program you were using before. So, what happens when you try to go back to the program you were using by clicking on its tab? Why, that UNhighlights that tab, of course, and you have to click it again!
It seems noteworthy that ZoneAlarm is a (pretty decent free) firewall program. Non-retarded users like it when ZA steals focus because that’s usually a sign that something on the machine is doing something that needs our attention, since it’s pretty easy to tell it when to bother us and when not to.
Also, Alessan has the best quip making fun of our resident fat anarchist so far.
An application must never steal the keyboard focus. There are no legitimate reasons to do this. It is a security risk and the OS should not allow it to happen.
There are cases where an application may need to steal the screen focus – popping a message on your screen, but this is also problematic because it effectively steals the mouse focus as well.
Furthermore, popping up a window and stealing keyboard focus guarantees that in some (albeit small) percentage of cases, the user will close the pop-up before they get to digest its message. This is unacceptable particularly since we have already established that only important messages should be popped up.
This is exactly the example i was going to choose as a good way of alerting users to updates, problems, etc.
Right, but as the OP and Dead Badger have noted, if you’re typing in a Word document or something when the alert appears, and you hit Enter at an inappropriate time, the very warning that was designed to help you disappears before you even have a chance to evaluate its significance.
There’s a setting in TweakUI to prevent applications from stealing focus.
I’ve never had much luck with this setting. Does it work for you?
How about the opposite. Programs that lose focus. Quickbooks. When closing a report or other window within QB about 1 time in 10 QB will lose focus and one of the other programs you have running will come up to the front.
Not completely, but it seems to be better than nothing. Though frankly, I have bigger issues since I’m still running McAfee bloatware and haven’t gotten around to moving on to something less of a resource hog.
That’s almost as bad as “Are you sure?”
Yes I’mfffffffffUCKing sure!
Are non-retarded users capable of understanding the difference between something that is visible and requires attention, and something that steals keyboard focus?
I can’t really say – apparently I’m not in that group. :smack:
In my defense, I run an older version of ZoneAlarm, and have never had it steal keyboard focus (except every 60 days when it tries to force me to update), just pop up a window in the lower right of the screen. If it is indeed stealing keyboard focus such that you can accidentally grant permission to an application by typing before realizing what it did, then yes that is terrible software design, and I withdraw my objection to the objection.
To be fair, I haven’t used Zone Alarm in yonks either, and am taking the OP’s word for it. So if it turns out to be untrue I withdraw my objection to your objection to my- oh, fuck it, you get the idea.
To stick it to the man, man. A lot of programmers are secretly Sybionese. In conclusion,your a fucking poser, and
FREE FOCUS FOR THE POOR!
Dude, you’ve made the mistake of posting your picture on the web. Pot meet kettle, kettle, pot, and wait a minute, you’re the same person!
I’m fat too, you fucking maladjusted attention whore! I just don’t use that term as an insult. Now put down the bullhorn, take a shower, lay off the oreos, and learn to access your fucking computer settings! It’s so easy, a smelly crypto-marxist homeless advocate pituary case can do it.
As a professional software developer with a degree in electrical and computer engineering, I occasionally sit back in my chair and marvel that computers do anything at all. I mean, there are about a billion places where everything could go horribly wrong between the time you press the power button and the moment Zone Alarm oh so callously steals focus(!) from you.
That the software development cycle of most companies often produces a product which isn’t terribly late and that satisfies most of its scoped requirements is similarly surprising to me.
As alluded to by Skeezix, the process of Software Development is a labyrinthine, writhing mound of compromises. People without insight into development often seem (as the OP does) to labor under the delusion that their woes start and stop with “a developer” who is either too incompetent or too unfeeling to produce a robust product. This simply isn’t the case.
There is essentially never “one developer.” It is rare that an entire application is written by a single team. It is unlikely that the teams will converse in a constructive and timely fashion. It is highly unlikely that there will exist meaningful documentation or consistent specification throughout the duration of a project. The business people will always sell something that doesn’t exist, or make up requirements that they think the user might like (with no technical context to understand if what they want is technically workable/advisable) or forget to mention the feature that the project manager on the client end mentioned offhand in a meeting as “no big deal” but is actually a deal breaker. QA will dig so deep into the edges of edge cases that they don’t even recall what the application is actually for-- but the can tell you what happens if you press Ctrl-Alt-Shit-F7 while clicking a button repeatedly at 12:01am (and they don’t like it one bit). Also, don’t forget that everything will be politicized as various managers cavort and jockey to take credit for success and deflect blame as needed. And the customer is never sure exactly what they want and there is often more than one customer and they want different things and… that’s enough.
Really, developers are often compelled to release code they know is broken regardless of their feelings on the matter.
That said, oftentimes things which seem inexplicable to you, the end-user, are either A) necessary or B) way beyond the control of the developer. Windows GUI applications are the stuff of nightmares-- particularly when one codebase must be shoehorned into several iterations of the OS and/or do anything interesting under the hood.
Regarding this specifically:
Fuck you, you mouth-breathing software firewall using anarchist luser piece of shit. If the average end-user wasn’t essentially brain dead when it came to computers, most of the “ZOMG WHY DOES MY KOMPUTER HATE ME???” code would be completely unnecessary. The dirty little secret of UI design is that there will always be someone too damn stupid to use your application no matter how well you design it.
Also… this.
But the issue to me isn’t that ZoneAlarm or any particular software package suffers from this issue. The issue is that Microsoft Windows still lets applications do this despite it being a legitimate security hole. Stealing the keyboard focus complete undermines one’s ability to touch-type confidently. The fact that this issue is still in the product, year after year, is really frustrating. Microsoft obviously have staff that look closely at the UI and at security issues; they are certainly aware of this issue. If I had to guess, they are reluctant to fix it because doing so would break a great many existing applications. It is likely that Windows cannot confidently determine whether an application is stealing focus from another application or just from another window in its own application.
I know the OP singled out software developers specifically and heaped on lame 1980’s stereotypes, but the OP does have good reasons to complain. Aside from his point about stealing the focus, there is a real issue with software acting like it owns your computer. A lot of software tries too hard to give the user the “ultimate experience” and in the process adds too much junk to your System Tray, Program Folder, startup-applications, Desktop, etc. But it is right of you to point out that not all of these things are initiated by the software developer. Plenty of other people involved in the development process and often they are the ones calling for the bloat.
Oh, and the Onion article is a classic…
I think Tweak’s ability to stop focus theft is purely theoretical. It does nothing to stop AIM or Microsoft’s own Active Directory / Exchange Tools (It’s late, and I neither know nor really care what the actual name is) from stealing my keyboard. If AIM grabs my typing, it’s usually just going to send the tail end of some mainframe or Oracle command to someone who wanted to ask me a question, but when AD grabs it, 99% of the time, some poor user just got their name changed to “drop user dv_firedguy cascade;” because the Enter that was supposed to launch that command to drop an Oracle database user just went to AD, and there is no undo.
I wish I could change the settings on my boss. She keeps stealing focus away from the SDMB.
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’.