Taxonomy of Dialog Prompts
What Are You Trying To Say?
Choosing the right dialog prompt for the situation is harder than it might seem. Choosing the right type of dialog prompt is crucial to the end-user's understanding of the situation. On top of all that there's the buttons the dialog prompts should offer as options, what the dialog prompt should actually say and how it should say it. These are all required factors in choosing a dialog prompt and it can be done incorrectly.
Choosing a Type
The first step is to actually decided on the type of dialog to display to the user. This is actually, sometimes the most erroneous step. The following sections describe the different styles of common dialog prompts and a brief outline on how they should be used. Each description also contains the standard available buttons, which should help you in the final decision.
Errors dialog prompts are the most critical of prompts. Generally they indicate an error has occurred and the regular/expected course of action was not/cannot be taken. For instance, if an attempt to save a file does not succeed it's an error because the file could not be saved.
Generally error prompts show show a single Ok button or Abort|Retry|Cancel button. These are not buttons that are set in stone. In the example given regarding saving of files, it might be required to have Retry Save|Dismiss buttons.
Warning dialog prompts are just that, warnings. It is easy to consider an error as actually being an warning, which has been done in EiffelStudio. However, warnings are very different from error dialog prompt. A warning dialog prompt should indicate that that something unexpected happened but an alternative course of action was taken automatically, with the course not the best course. Alternatively a warning can be shown to alert the user that what they are about to do may be dangerous, and so they will have to confirm to proceed with the action.
Generally warnings prompts should show a single Ok button or Ok|Cancel
Use of the additional Cancel button is warranted when asking the user to continue with a potentially dangerous operation, where Ok will proceed and Cancel will return without performing the operation.
From time to time you may want to show the user some information in response to an action requesting it, or display information when a long process/action has completed. Be careful when using informative dialog prompts, too many, too often will harass and annoy the end-user.
Informative dialog prompts should only show a single Ok button, except for special circumstances.
Question (as known as Confirmation) dialog prompts offer the user a choice, proposed with a question which has a yes or no answer. Question dialog prompts can easily be used instead of warning dialog prompts so they require careful consideration. You need to ask if any course of action taken from the a selection made in the dialog prompt is dangerous or possibly time consuming in anyway. If so then a warning dialog prompt should be used.
Generally question prompts should only show Yes|No buttons or Yes|No|Cancel buttons.
Use of the additional Cancel button is warranted when a situation arises where the end-user may not want to do either. Such a case is when exiting EiffelStudio when there are unsaved changes. Yes will save the changes and exit, No will discard the changes and exit, and finally Cancel will no save the changes and will not exit, allowing the end-user to review their changes.
Showing the Correct Text
The text formatting of dialog prompts is another subject that is incorrectly used. Generally this happens between using warning and question dialog prompts, because the dialog prompts are used incorrectly.
Given the subject is more involved that just simple declarations based on the dialog prompts used, please refer to Dialog Prompt Text and Messages.
Setting Default Actions
If you have read through Using Dialog Prompts (Advanced) you'll know about setting default buttons on dialog prompts. If you have read Using Dialog Prompts (Basic) it does not mention default buttons because they default buttons are set automatically. You should be aware of the default buttons even when using the basic method of showing dialog prompts because the automatically set default buttons should affect how you word your dialog prompts.
Choosing Basic Vs. Advanced Dialog Prompts
If you have already decided that a discardable dialog is what you require when you only have the option to use the advanced methods of instantiating and showing a dialog prompt. However if it's a simple common dialog prompt then you can choose to use the basic methods, which provide a fast a easy way to show dialog prompts or the advanced method which is still simple and provides a lot more control.