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.)
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.
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.
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.
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…
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.
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.
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.
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:
What does the app need to do?
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?
Mock up the UI.
Commence development of the back end with constant reference to the UI.
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.
“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.
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 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.
Your approach to UI is frequently not shared by the people who hold the purse strings (although this is becoming less common).
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.
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.
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”.