Dialog boxes

Perhaps due to the influence of Windows based software poor UI design, I often come across the common mistakes superfluous and poorly thought out dialog boxes. In addition to the maxim below, I believe we should avoid creating error dialogs when an undo will do. Unfortunately the essential undo function is still often forgotten.

Dialog boxes should be action-oriented; they should help guide users towards what their next step is likely to be and it should provide them with the information that they need in order to be able to accomplish that next step.