facet
perceived-performance
Making a wait read as shorter than it is.
22 terms across 5 categories · all facets
component
- Progress bar
A filling bar reporting how far along a task is, determinate when the end is known and indeterminate when it is not.
- Progress ring
A circular progress indicator that fills around a ring, often with the percentage in the middle.
- Spinner
An indeterminate loading indicator that shows work is happening without saying how much of it is left.
layout
pattern
- Lazy loading
Deferring the fetch of an image, list section, or module until it is about to be needed, usually when it approaches the viewport.
- List virtualization
Rendering only the rows currently in view and a small buffer around them, while spacers preserve the scrollbar of the full list.
- Load more
A button at the end of a list that fetches and appends the next batch only when pressed, keeping the reader in control of how much arrives.
- Offline indicator
A persistent notice that the product has lost its connection, saying what still works, what is queued, and when the last sync happened.
- Optimistic UI
Showing the result of an action immediately and reconciling with the server afterward, instead of making the user wait for confirmation.
- Progressive image loading
Showing a cheap stand-in for an image, a blur, a dominant colour, or a low resolution copy, and swapping in the full file once it arrives.
- Skeleton screen
A loading state made of grey shapes standing where the content will be, showing the layout before the data arrives.
interaction
- Debounce
Waiting until input has stopped for a set moment before reacting, so a burst of keystrokes or clicks produces one response instead of many.
- Scroll anchoring
Keeping the reader's position fixed when content loads or resizes above it, by adjusting scroll offset so the visible text does not jump.
- Tap delay
The pause a touch browser once held before dispatching a click, kept open in case a second tap arrived and turned the gesture into a zoom.
- Throttle
Capping how often a continuous stream of input is acted on, so a response fires at a steady rate instead of on every event.
motion
- Compositor-only animation
An animation limited to properties the compositor can handle alone, usually transform and opacity, so it keeps running even when the main thread is busy.
- Frame rate
How many frames a second the interface actually draws, the budget every animation spends: 60fps leaves about 16ms per frame and a 120Hz display halves it.
- Jank
Visible stutter in motion caused by frames arriving late or not at all, so an animation that should be continuous reads as juddering.
- Layout thrashing
Reading a geometric value after writing to the DOM in the same frame, forcing the browser to lay out synchronously over and over and stalling the animation that caused it.
- Perceptual duration
How long a spring appears to take, measured to the point the movement stops being visible rather than to its mathematical rest, the figure to quote against a timed animation.
- Shimmer
The moving highlight that sweeps across placeholder shapes to signal that content is still on its way.