I'm sure Alan Cooper has a better name for it, but this thread on GDN caught my eye today;
    Question: I want to make sure that the txtBox is Numeric Only on "Leave". I'm sure a user will at eventually enter a $ into the txtBox. I want to bring up a MessageBox on "Leave" that will notify the user to take the $ of the txtBox and prevent further data entry until the $ is removed.

    Answer: This is sort of a "punitive" user interface. You allow them to do something wrong, and then complain and make them do it right. If you want the text box to only have numerals in it, try this...

This thread got my attention for two reasons;

First, it shows me the "right" type of discussion that needs to take place on web forums or newsgroups.... not just a technical support process (how do I do A? You do this...) but instead an opportunity to learn better ways of doing things. This was a pretty standard question, and most people (myself included on most days) usually just focus on answering the question. Instead of the fairly helpful response that solves their problem, what I think we all should do whenever we see a post on a message board is take a step back and try to determine if we can add more value by discussing alternatives... I have the best discussions when my first reply is "Ok, you can do that using blah, blah... but can you tell me why you want to?"

Second, I just liked the response... why punish the user for their "bad" entry... disable buttons and menu options that are not appropriate, don't yell at them for pressing the wrong button at the wrong time (and worse yet, don't crash because they clicked save when they should have clicked Save As...). That is certainly a guideline that deserves a top place when you are designing and/or reviewing your User Interface. Like I said at the start of this post, I realize this is already a well-known UI guideline, but it certainly seems to have been missed in quite a few of the products I use.

(Listening To: Terra Firma (Lara's Mix) [Delerium (feat. Aude) / Tomb Raider OST])