Let’s Be Thoughtful Out There

I knew Hanlon’s Razor: "Never attribute to malice that which can be adequately explained by stupidity." And the variants attributed to Heinlein, described on the same page as adding "… but don’t rule out malice." or "… but keep your eyes open."

But I only just now came across Grey’s Law, which follows the flavor of Clarke’s Third Law: "Any sufficiently advanced incompetence is indistinguishable from malice."

One example that irritates me too is focus-stealing popups. Grr, no, I didn’t mean that enter key to select "Reboot", I was just finishing a paragraph or writing a space. Please, Mr. Callous Software Developer, just leave me alone! I don’t care how important you think your application is — it’s never important enough to pop up on top without warning. No. Bad developer. Down. I said down. Stay.

As a counterexample, I really like how Windows handles the "are you sure you want to run this application?" dialog. Not only does it not steal focus… even better, it ignores the first mouse click when it gets focus. That’s right, if the window is visible but not active, and you click on the "Run" button, it doesn’t also push Run — it merely makes the window active. Then if you hit Run again, it runs. Yes! Good developer!

To paraphrase Hill Street Blues: Let’s be thoughtful out there.

2 thoughts on “Let’s Be Thoughtful Out There

  1. I totally agree that focus-stealing popups should be gone forever. It’s happened way too many times that I restarted my computer by accident or sent a message to the wrong person on IM because another window stole the focus.

    It’s definitely nice that Windows recognizes this problem and does something to counteract the annoying behavior. With that said, however, I don’t think it’s necessarily good usability to simply ignore a mouse click. At least I happen to know several non-techie people who would go "Why is it taking so long. I just clicked the button." Of course, most people would then just click the button again, but shouldn’t we really let the user know why he should click the button twice rather than having him discover it by himself and be puzzled forever? (I’m imagining a simple balloon tip would be enough to tell the user.)

  2. I hate to say it, but Vista finally caught up with the Mac (of yesteryear). I’m not sure if it is still the case, but back in the early days (hint: Apple IIGS), the mouse click that activated a window was always discarded. It just made sense… click to focus, right? When I first used Windows (v3.0) and ran into this issue (inactive windows accept mouse input) it took me quite awhile to adapt. I don’t know if the Mac ever adopted the same buggy behavior though.
    Jeff

Comments are closed.

In comments, use [code] [/code] for code blocks, and the same with angle brackets for code inside text paragraphs. I appreciate and try to acknowledge feedback on GotW articles; if you're suggesting an improvement for a GotW Solution post, please post under your real name (or include it in the comment text) if you would like to be acknowledged here and when the material is updated and expanded in future Exceptional C++ books.

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s