F2.16.4real length distributions outrun mock copydesign

Real length distributions run more extreme than mock copy

Aliases: copy length tail · p99 text · placeholder bias

What it is

Mocks use two-line addresses; production has six-line rural addresses plus a forty-character building name. The legend has three series on the artboard and twelve live. Empty rate is drawn as zero; a failed API empties the whole column. Real lengths are often a long tail: many short, a few huge, plus concatenation (breadcrumb prefixes, translation swell, user paste). Placeholder copy is not a sample. It is the length the author found handsome. A layout grown from placeholders systematically underestimates the tail.

Extreme fixtures are a method. Admitting that production outruns the mock is this empirical claim. Together they stop “a long English name” from impersonating German and empty.

Why it happens

Mocks are generated from “normal.” Production is generated by processes: legal names, machine ids, user rants, localisation (Finnish and German often run long), field concatenation, API empties. Lengths are close to a power law: p50 looks harmless, p99 and max hit the layout. If input is uncapped, max grows with time. Translation is not a uniform 1.3×; some strings triple, some barely move, and a layout budgeted at 1.3× blows on the triples.

Placeholders also systematically avoid empty and one-character, so height-collapse failures never appeared on the board.

Where it stops holding

A brand-new product has no production corpus; estimate from a neighbour product or a public corpus, and measure again after launch. Strict enums (currency codes) have a narrow distribution and barely trigger this. The moment a field allows free text or concatenation, the tail arrives. Demo environments seeded with “pretty” data hide the bias a second time — review still is not production.

Applying it

  • For each slot, sample production or staging: empty rate, p50, p90, p99, max. Compare to the placeholder. If p99 is much longer or empty is not zero, the mock used the wrong distribution.
  • Make p99, max and several empties into fixtures, and replace the “handsome names” in the component preview.
  • How to check: pour p99 and max into the layout and see whether the named policy still holds (wrap, truncate, scroll). Pour empties and see whether height and alignment collapse. Pretty on placeholders and blown at p99 is not “we forgot to test extremes”; it is a wrong distribution. Change the layout or cap input, and sample again next iteration, because max will move.

Related

  • Same group: F2.16.1 Layouts have to be tested with extreme lengths and empties, not typical copy · F2.16.2 Overflow policy (truncate, wrap, scroll) has to be named · F2.16.3 Undefined overflow blows the layout or covers neighbours
  • Nearby: F4.10 Truncation and ellipsis · F4.16 Dynamic type and user font size · F2.07 Information density
  • Search terms: length distribution · p99 copy · localization expansion · placeholder bias

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/F2.16.4