Developer Programs

Learn

Docs

Interaction Guidelines

Fundamentals > Interaction Guidelines
Follow these general best practices for best results when interacting with users.

Managing long-running operations

Group long-running operations together whenever possible. Gather as much of the input as possible up front, then perform long-running operations after that. This allows the user to kick off a long-running process, then switch to a different activity.

Don’t freeze the screen or input devices when a command is being processed. Let users continue to work while the command is processing. Separate data processing from data display, splitting tasks into multiple threads when necessary, processing the command in the background.

Responsiveness

When we say “responsiveness” in this specific context, we’re talking about how long it takes your app to respond to the user’s input rather than responsive layout.

Try to keep your user interface within the following standard responsiveness levels:

  • 0.1 seconds or less for immediate feedback when the user feels they are physically controlling something, say panning a map in Google Maps.
  • 1 second or less for keeping users “in flow”, say generating the next screen when they click a button.
  • 10 seconds or less for keeping the user’s attention from wandering, say when starting up a new app or when performing a major operation such as a data query.

Confirm unsaved changes

Prompt the user if they attempt to navigate away from any function that has unsaved changes.

Cancel an operation

Provide a way to instantly cancel a time-consuming operation, unless doing so will result in the loss of data, cause issues with the system, or have other unintended consequences.

This is important because users make mistakes and change their minds. Perhaps they provided the wrong date range for a lengthy query. Perhaps they’re installing software to the wrong folder. Or maybe they’re just bored waiting for a file to download and want to do something different.


Support options
Have questions on this topic?
Join the Responsive UI team in Microsoft Teams to connect with the community.
See something in this page that needs to change?
Send us feedback on this page.
Last updated Fri Feb 17 2023