vocab.design

layout

Scaffold

also called layout scaffold (material), app scaffolding (community)

The frame that positions an app's persistent regions, its bars, panes and body, so each screen drops content into named slots instead of inventing its own arrangement.

A scaffold is the empty frame an app is built inside: a slot for the top bar, a slot for navigation, a slot for the body, a slot for the floating action button, and rules about which of them appear at which window size. Screens do not lay themselves out. They hand their parts to the scaffold by name, and the scaffold decides where those parts sit, how far the body insets to clear the bars, and what happens to all of it when the window gets narrow. The word arrived in interface vocabulary through toolkits: Flutter’s Scaffold widget and Material’s scaffold guidance are the same idea under the same name, and both exist because every app was otherwise reinventing the same arrangement once per screen.

The value is consistency you get for free rather than by discipline. When the bars belong to the frame instead of to the screen, they cannot drift by two pixels between one screen and the next, they cannot be forgotten, and a screen that has no use for one simply leaves that slot empty. It also puts adaptive behaviour in one place: the scaffold is what turns a navigation bar at the bottom of a phone into a navigation rail on a tablet and a sidebar on a desktop, because it is the only thing that knows the window size and owns every region at once.

The near neighbour is the app shell, and the two are easy to confuse because both describe the part that stays. An app shell is a runtime idea: the markup, styles and script that load once and never reload while views come and go inside it. A scaffold is an authoring idea: the slotted frame a toolkit hands you so a screen’s parts land in the right places. A single-page app usually has both, and a native app usually has only the scaffold. Where the scaffold positions regions, a pane is one such region, and a canonical layout is a named arrangement of panes worth reusing across screens. The page header is the content that occupies one of the slots rather than the slot itself.

The failure mode is a scaffold too eager to be helpful. Once every screen is obliged to fill the same five slots, the screen that genuinely wants a full bleed map or a distraction free composer has to fight the frame, and the fight usually ends in a screen that opts out of the scaffold entirely and drifts from the rest of the app. A good scaffold makes each slot optional, states the insets it applies rather than baking them into the body’s padding, and leaves an escape hatch for the one screen in ten that is not shaped like the others.

Which word?

If you wantsay
the named slots a screen's parts drop intoscaffold
reaching for a proven arrangement, not a new onecanonical layout
naming the part of the app that never reloadsapp shell

Related

See also: App silhouette · Named grid areas

Implementations

Specimens illustrate the concept; for production use, start here.

materialScaffold

Sources