H3.14.2reproduction path in error reportsdesign

Reports need the path, not only the stack

Aliases: reproduction path · breadcrumbs · more than a stack

What it is

A stack says which line the code stopped on. It does not say how a person got there. A report needs a reproduction path: recent surfaces, the action sequence, the shape of key parameters (not the raw text), so a fixer can walk the failure again as the user’s task. Stack-only reports become “known crash, cannot reproduce.” This entry is about the path in the payload. It is not about whether to send, or how to redact.

Why it happens

Most interaction failures are state: an illegal combination after a step, a leftover from a navigation, a switch just turned off. The stack stops at the symptom; the path is the candidate cause. Breadcrumbs order the last N surface identifiers and action types in time, so a fixer can get from task language back to code. Version, device, language, and experiment arm are part of the path too: a crash with the same name on an old build and a new one may not be the same road. Without these, automatic reporting only records that it happened, and cannot hand “how to make it happen again” to the next person.

Where it stops holding

A path is not a session recording, and not the raw input. Surface identifiers, action types, order, and intervals are enough. Names of pages behind a paywall may be reported; content behind the wall may not. An overlong path becomes another privacy problem; keep a recent slice and truncate at send time. Front-end component names mean nothing to the user; map them to stable surface IDs or the path will not align across releases.

Applying it

  • Attach to every error event the last several surface IDs and action types, app version, device, and language.
  • Do not store only the exception class; flag events with no path as “cannot reproduce” in triage, and fix collection before staring at the stack again.
  • Walk the same path on a pre-production build as the fix’s acceptance; if it cannot be walked, the payload is still short.
  • Verify with one real report and no user narrative: can someone independently reproduce. If not, the path is still missing.

Related

  • Within the group: H3.14.1 Client errors must report themselves · H3.14.3 A spike in reports is itself an alarm · H3.14.4 User content in reports has to be redacted
  • Adjacent: H3.02 Three elements of error messages · Q3.08 Error rate and help-seeking rate · H3.09 Crash and offline recovery
  • Search terms: breadcrumbs · repro steps · error telemetry

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/H3.14.2