CONCEPT Cited by 1 source
Visually Complete¶
Definition¶
Visually Complete is an operational predicate marking the moment a user has "seen the content they came for" on a given surface / page. It is per-surface-different — the done-state condition depends on what content the surface is fundamentally about. Visually Complete is the concrete predicate that timestamps User Perceived Latency.
Pinterest's framing: "Among all the performance metrics, the user perceived latency is a crucial one. It measures how much time the user spends since they perform an action until they see the content. This is also called Visually Complete." (Source: sources/2026-04-08-pinterest-performance-for-everyone).
Per-surface definitions — worked examples¶
From the 2026-04-08 post, each surface has its own Visually Complete rule:
| Surface | Visually Complete definition |
|---|---|
| Video Pin Closeup | "the full-screen video starts playing" |
| Home Feed | "all the images rendered and videos playing" |
| Search Auto Complete Page | "the search autocompleted suggestions' text rendered along with the avatar images" |
The variety is the point: Visually Complete is not a single algorithm, it's a family of predicates sharing the shape "all the content-critical views on this screen have transitioned to their user-visible state."
The hardness — and why platforms exist¶
"Given this dynamic nature of Visually Complete, engineers had to create customized measurement logic for each surface and that takes a lot of engineering effort and maintenance cost." (Source: sources/2026-04-08-pinterest-performance-for-everyone). Two engineer-weeks per surface on Android (see concepts/instrumentation-engineering-cost).
Pinterest's platform-level solution — build view-tree walk into BaseSurface + factor the readiness predicate into PerfImageView / PerfTextView / PerfVideoView marker interfaces — turns "write N per-surface detectors" into "tag N views with one of three interfaces."
Compositional structure¶
Across surfaces, Visually Complete is computed the same way:
- Enumerate the content-critical views on the surface.
- For each, define a per-type ready state ("drawn" for image/text, "playback started" for video).
- Conjunction: Visually Complete fires when all enumerated content-critical views are ready.
- Visibility-filter: restrict to views currently on-screen (via geometry inspection) so off-screen but tree-resident views don't block completion.
The view-tree substrate (Android view tree, iOS UIKit / SwiftUI hierarchy, DOM) provides (1); the marker-interface pattern externalises (2); the conjunction is (3); the geometry filter is (4).
Relationship to adjacent vocabulary¶
- User Perceived Latency — the metric; Visually Complete is the predicate used to time-stamp the metric.
- Largest Contentful Paint (LCP) (web) — a browser-computed heuristic for Visually Complete based on rendered element size.
- Time to First Contentful Paint (FCP) (web) — when any contentful element renders; an earlier, looser predicate.
- Time to Interactive (TTI) (web) — when the page is responsive, not when it's visually done — distinct axis.
Caveats¶
- Visually Complete is not a formal specification — Pinterest describes it in prose ("all images rendered" etc.) but doesn't publish a full decision procedure (threshold fraction of visible views? temporal window for stability? fallback timeout?).
- Tagging correctness is the failure mode — Visually Complete is only as accurate as the product engineer's labelling of views as
PerfImageView/PerfTextView/PerfVideoView. False negatives (missing the hero image) let completion fire too early; false positives (tagging a decorative shimmer) can prevent completion forever. - Discovery cost — on a new surface, the set of content-critical views has to be decided by a human. The platform automates measurement, not which views are content-critical.
Seen in¶
- 2026-04-08 Pinterest — Performance for Everyone (sources/2026-04-08-pinterest-performance-for-everyone) — canonical; names the three worked-example definitions, motivates the automation story, introduces Pinterest's
BaseSurface+PerfViewmechanism.
Related¶
- concepts/user-perceived-latency
- concepts/client-side-performance-instrumentation
- concepts/view-tree-traversal
- concepts/opt-in-marker-interface
- concepts/instrumentation-engineering-cost
- patterns/view-tree-walk-for-readiness-detection
- patterns/base-class-automatic-instrumentation
- systems/pinterest-base-surface
- systems/pinterest-perf-view