Skip to content
Ritesh FirodiyaGet in touch

Work / AskCal / Wiki / Surfaces

failed

Surfacecanonicalverified 2026-09-26

SURFACE.MOBILE.SCAN.FAILED

Summary

The scan that did not work, and the fact that it was free.

Raw wireframe

  • .context/designs/mobile/scan/failed.html

Why it is drawn this way

Three failure modes, one screen, switched by the copy block: no food found, too dark, offline, server busy.

A failed scan does not burn a scan, and we say so. Charging for a failure is how a metered app earns one-star reviews. See metering.

Related

The other copy is not drawn

This screen carried a card headed "Same screen, other copy" listing the offline, too-dark and server-busy wordings. failed.tsx picks ONE variant from its COPY table per failure, so that card was an annotation about the screen rather than the screen — which §5 forbids. The variants live here instead:

  • Offline — "You're offline. Barcode and search still work; photo scans need a connection."
  • Too dark — "Too dark to read. Turn on a light or use the flash."
  • Server busy — "Our side is busy. Try again in a moment — no scan used."

Sources

  • .context/designs/mobile/scan/failed.html

Every project of mine is written down like this.

Read the résumé