See various styles in Sprint guide. Yes, overlaps widget and component. Make it work, as ONE item. Talk through it as wait indicator is the widget, suggestd /implementation/ for some states is as a modal dialogue. Add in lazy loading as a type... since most of these are standard wait clocks, or maybe the Etsy style moving stripes. The few that are clever (fuzzy to sharp image) are just workarounds, and need to move to show they are working still.

Problem

Processing, loading, remote network submissions and other delays must be clearly communicated to the user.

Solution

A variety of Wait Indicators are used to inform users of delays which are imposed by technical constraints. Almost never are

Some of the indicators described here are used almost exclusively on an Interstitial Screen. Read that pattern for implementation details, such as cancel functions, not considered here. Others may appear as portions of an interface, to communicate loading of modules, or individual images.

Another common implementation is the loading bar, often used for web browsers, which may not disable the existing page until some or all of the new page has been retrieved. The Wait Indicator occupies a space along the edge of the screen, and does not interfere with use of the old (or new) page.

This widget may be used in many was, as it best serves the needs of the user and the constraints of the design.

Variations

There are a number of variations on this basic theme, all of which will be considered here as they address the same basic issue.

The entire practice of loading web pages as the content is received is a sort of lazy loading implementation. Consider how slow loading of your page (or of many pages if designing a browser-based system) can influence the user, and may need to be optimized to communicate the delay better.

Interaction Details

The Wait Indicator is the widget that informs the

Presentation Details

Antipatterns

Examples