Modes are special states within the same application that offer a different UI and therefore different interaction expectations for users. For example: pressing the shift key, temporarily changes the input *mode* of the keyboard, pressing *ctrl+f* changes the user interface into a *find* mode.
**Modal Dialogs** are temporary surfaces that appear on top of the current screen, they interrupt the ability to interact with the content below until the user has completed the interaction.
- **Considerations for Modal Dialogs**
- **Interruption to the user workflow:** if the user has not initiated the dialog they will lose context and cannot continue what they were doing
- **Adding additional steps:** The user now needs to either interact with the content of the dialog or dismiss it. For high-friction events where the user has choice whether to continue or just walk away (for example in a survey or sign up form) then extra steps will be an overhead.
- **Main content is blocked:** The user may require the information now being blocked by the dialog, don’t obscure what might be important for using the dialog.
**Modeless Dialogs** (or Non-Modal Dialogs) live along side the main content of the application and support the interaction, usually these dialogs can be moved within the window.
- **Considerations for Modeless Dialogs**
- **Modeless Dialogs may not translate to small screens:** On a small screen, a modeless dialog becomes effectively a modal dialog as the user does not have enough screen space left to continue the workflow.
- **Main content can be blocked:** The user may require the information now being blocked by the dialog, consider where the dialog is spawned to avoid the *pop up advert effect*
- - -
##### References
[Modal & Nonmodal Dialogs: When (& When Not) to Use Them](https://www.nngroup.com/articles/modal-nonmodal-dialog/)