Warnings When Undo Isn't Possible

Enjoyed this post Never Use a Warning When you Mean Undo by Aza Raskin. It makes sense never to warn users if an undo option is possible. The examples given are from the web space. Here's the conclusion:

Warnings cause us to lose our work, to mistrust our computers, and to blame ourselves. A simple but foolproof design methodology solves the problem: "Never use a warning when you mean undo." And when a user is deleting their work, you always mean undo.

However, in enterprise apps you may find that an undo option isn't technically possible or desirable. Objects may be shared with other users or part of a flow elsewhere, for example. Undoing an action on an object committed to the database (a rollback I guess), as opposed to just being cached or saved, or on an object that has become locked by another process isn't feasible. Plus, what might happen to a modified object when it moves downstream in the process isn't always obvious. So, the implications of delete (and other) actions need to be clearly communicated to users in advance.
So, warnings are important in the enterprise space. Data has a very high value, and users can perform a wide variety of actions that may risk that data, not always within the application itself (at browser level, for example). That said, throwing warnings all over the place when an undo option is possible is annoying. Instead, treat warnings with respect. When there is no undo option possible, use warning messages to communicate potentially dangerous or irrecoverable actions or the downstream consequences of user actions on the process or task flow. Force the user to respond to a warning message by using a modal dialog with clearly labeled action buttons. Here's a couple of examples:

But what about mobile apps? I don't recall seeing undo options in apps, which can be frustrating as objects can be easily deleted by an accidental finger gesture (as anyone who has accidentally removed an account from an app--or indeed at entire app--on an iPhone will tell you). Warnings are very important there too for irrecoverable actions.

A great article that got me thinking. Let's see more articles like that. And let's not forget there's more types of messages than just error messages. User assistance and user experience professionals need to understand when best to use confirmation, information, and warning types too.

This suggestion (mine, below) might be considered overkill but I've seen situations where people have asked "why didn't we have this warning" :
When inserting data "Warning : Are you sure that you have entered all the values correctly ?"
In most cases such validation is only done for passwords that are being entered for new user accounts. But some data might be very critical (remember the incident where Stock Index was badly influenced by a trader who entered a trade for 1million or so instead of 1000 ?).
Hemant K Chitale

Another improvement. Instead of using Yes/No and OK/Cancel for the dialog buttons I would suggest to make the dialog more user friendly and tell the users what the buttons do. The reason for that is that sometimes you have to read the alert text twice to really understand whats going on and if you have to press Yes or No to perform the action.
Having buttons which are called Delete/Cancel or Discard Changes/Cancel, ... are much more clear.
Regards
Patrick