Emergent Chaos, because they're awesome, posted this discussion the other day responding to Ars Technica calling most users idiots. In case you don't feel like reading the background material on this, a bunch of scientists over at the Psychology department of North Carolina State tested the response behavior of a number of subjects when presented with "fake" dialog boxes such as might be presented by malware, trojans, or other unwanted software.
What they found was that users click on fake dialog boxes - no matter how outlandish they look or what warning signs that they include that the dialog box is dangerous (or suspicious). Now, from this evidence, Ars Technica concludes that the users in question are (in their words) "idiots". Sigh. Emergent Chaos claims that it's the developers who pop up useless dialogs that are the idiots. Hmmm... Closer to the truth maybe, but I think there's a much different process going on here.
First of all, you can't blame the users. You absolutely cannot. Not just because that would be "blaming the victim" (which is admittedly uncool), but also because they'd be hard-pressed to behave any other way than how the NC State folks found them to behave - in other words, they are just responding in a way that is consistent with human nature. It's called "habituation" - in other words, the more dialog boxes that you show somebody, the more people just respond without analysis.
Which moves us to the developers. Do you blame developers for putting up dialog boxes? Well, I'm not sure about this one either. Developers usually learn pretty early on the principal of "when in doubt, ask the user." All kinds of crazy shiz could happen in any snippet of code - how do we know what to do or how to try to recover? Throw up a dialog. So that's already ingrained. But even if developers could write an app that didn't put up any dialog boxes at all, don't forget that Windows would still pop them up anyway without our knowledge or consent. In fact, that error box that the NC State guys used? NOT a developer-initiated dialog box - Windows puts it up "automagically" given a certain set of parameters. it's the default behavior for a corrupted pointer: no intervention necessary on the part of the developer to make it happen. Somebody just trashed a pointer a mite early - it happens *all the time*, and it's *crazy hard* to fix. Now, I'm not saying that developers don't come up with all sorts of unnecessary dialog boxes (I see thousands of them every day), but I'd say a good 50 percent of error boxes are just windows being windows (or macs being macs, or linux being linux).
So, who's fault is it? Well... I'm not sure I know, but I'm not going to be first in line to point fingers... Maybe we can just agree that it's a confluence of events and work on fixing the problem rather than assigning blame.
Posted by Ed at September 26, 2008 09:41 AM | TrackBack