When your program spawns a dialog box, the user is really at your mercy. Dialog boxes often prevent other windows from being activated, and thus get a monopoly on the user's attention. More important, they force the user to make a choice—between options you've picked. It's only natural to abuse that power and give the user a biased set of options.
I remember, for instance, playing shareware games that would open a nag box when you launched them. Instead of an option like "No, I don't want to pay for this game, I'm a worthless freeloader", there was only "Not Yet". Likewise, I was just on activestate.com downloading a copy of ActivePerl, and the only option I got for dismissing an offer of subscription to some newsletter was "maybe later". Much more egregious are those pseudo-antivirus Trojans that ask if you want a virus scan and then present you with fake scan results regardless of how you reply. But my favorite GUI abuse of this kind was in the preferences window of some ancient Macintosh application. Off in one corner was a checkbox labeled something like "Automatically transfer cash out of my wallet and into the author's", and if you cleared it, it would re-check itself in an instant.
---
The Albino Formerly Known as Mimir
When your program spawns a dialog box, the user is really at your mercy. Dialog boxes often prevent other windows from being activated, and thus get a monopoly on the user's attention.
Wow, that's terrible. Luckily, that type of dialog box is not possible in Mac OS X. The ones that are window specific appear as sheets that descend from the window's title-bar, and they are modal in that it must be dismissed before the user can interact with the window proper. The sheet metaphor solidifies this notion in that it's simply an extension to the window rather than a separate one, and its distinctness makes it visually prominent to attract the user's attention. This
More important, they force the user to make a choice—between options you've picked. It's only natural to abuse that power and give the user a biased set of options.
Each question should have a correct set of answers, usually no more than three. Hopefully the developer can pick the right ones.
I remember, for instance, playing shareware games that would open a nag box when you launched them. Instead of an option like "No, I don't want to pay for this game, I'm a worthless freeloader", there was only "Not Yet". Likewise, I was just on activestate.com downloading a copy of ActivePerl, and the only option I got for dismissing an offer of subscription to some newsletter was "maybe later".
Huge sign of disrespect of the user on the part of the developer, as if they don't care about them at all and are just trying to squeeze a buck out of them. On the Mac side, I've noticed this doesn't happen; indie developers are Mac users' rock stars, celebrities almost, but ones who actually respect their fans. They write software that they themselves would find useful, and they realize others would, too, so they market their product. Users find such services so useful that they're willing to pay for them, thus allowing these developers to write quality software for a living, instead of as a hobby.
Much more egregious are those pseudo-antivirus Trojans that ask if you want a virus scan and then present you with fake scan results regardless of how you reply.
You still see those?
But my favorite GUI abuse of this kind was in the preferences window of some ancient Macintosh application. Off in one corner was a checkbox labeled something like "Automatically transfer cash out of my wallet and into the author's", and if you cleared it, it would re-check itself in an instant.
I've seen this in Cocoa...blame the developer for not implementing it probably (they're probably eschewing Interface Builder and trying to hard code them in--bad idea).
---
Seth: What are you making?
Evan: I'm just drilling holes. Last two weeks, **** it.
"Modal"! That's the word I was looking for.
You still see those?
I haven't seen one for a while, though I would presume they're still out there. I once encountered one on nytimes.com. I later read it was some kind of mistake; how one can make such a mistake, I'm not sure. Maybe some especially hands-off kind of advertising service was to blame.
---
The Albino Formerly Known as Mimir
Oh, it looks like I forgot to finish a thought in the post above. On extension Cocoa provides to a dialog sheet is that if it's urgent, the user can still use other applications, but that application's dock icon will bounce until the user activates it. Some find this annoying, but it's better than the alternative. Of course, there are apps like DockDetox that let you customize/disable this.
---
Seth: What are you making?
Evan: I'm just drilling holes. Last two weeks, **** it.