Dialog boxes should be used sparingly because they interrupt user workflow. Instead, provide information in line with a specific item where possible. For example, if a user doesn't complete a required field in a form, your application should identify the incomplete field instead of displaying a dialog box that describes the error.
You can use the same approach with progress information. For example, when a user downloads an application, your application can display the progress information in the current context. This approach allows users to complete other tasks while the action is in progress.
Use dialog boxes sparingly. Restrict dialog boxes to the following
- To inform users of urgent information or the status of important actions
- To warn users of unexpected conditions or situations where there is the possibility of data loss
- To present users with multiple options for choice or disambiguation
- When a user action is required for your application to proceed
- Use an implicit save model where possible. For example, when setting options, apply each setting as the user changes it. Some exceptions exist. For example, if a user chooses to close a document that is being edited, you can use a dialog box to prompt the user to save changes.