showcase / methodology

How we measure screenshot design

Every number in the App Showcase — colours, themes, caption placement, chart history, benchmark percentages — is computed by LaunchShots from publicly visible App Store screenshots. None of it comes from Apple's metadata, and none of it is written by a language model. This page explains exactly what is measured, how, and where it can be wrong.

What goes in

For each app we download up to six iPhone screenshots at thumbnail size (240 px wide) from Apple's public image CDN — the same images anyone sees on the listing. Analysis happens once, the first time a page is opened, and the result is cached. Screenshots themselves are never stored; only the derived numbers are.

Background colour

We sample the outer 7% border of each screenshot, quantise colours to a 5-bit-per-channel histogram and take the most frequent bin. The border is used because that's where the marketing background shows through regardless of where the phone mockup sits. The result is reported as a hex value (e.g. #CCECFC).

LimitsGradient backgrounds collapse to their dominant edge colour. Full-bleed screenshots (no background, the app fills the frame) report whatever colour the app's own UI puts at the edges.

Accent colour

Across the whole image we look for the most frequent colour that is clearly saturated (HSV saturation ≥ 0.35, chroma ≥ 45), bright enough not to be near-black, and far enough from the background (RGB distance ≥ 90). This usually lands on the brand's primary button or highlight colour.

LimitsPhotographic screenshots can return a colour from the photo rather than the UI. Monochrome listings fall back to the text colour.

Light / dark theme

A screenshot is "light" when the relative luminance of its background (Rec. 709 weights) exceeds 0.55. A listing is reported as light or dark when a majority of its screenshots agree, and as mixed when it contains both.

One background vs. changing backgrounds

If the maximum RGB distance between any two screenshots' background colours is below 48, we call the set "one background colour across the set" — the listing reads as a single poster when the shots sit side by side.

Caption position

We scan the image row by row and mark rows that contain real content (not background-dominated, not a flat gradient band). The longest contiguous block of content rows is taken to be the phone mockup; any remaining content rows above or below it are the caption band. "Above" vs "below" is whichever side has them. Screenshots where the phone fills more than 92% of the height, or whose top and bottom edges show different colours (a raw app screen rather than a marketing background), are reported as full-bleed. A full-bleed screen with a solid, saturated block covering more than half the width near the top or bottom edge (the Duolingo-style pill) is reported as an overlay caption.

LimitsThis is a heuristic. Very large captions, captions overlapping the phone, or two phones per frame can be misread. We report the majority position across the set to smooth out single misreads.

Caption text

Caption text is read with optical character recognition that runs in the visitor's browser (Tesseract.js, English model) on the caption band of each screenshot. The first visitor to an analysed page contributes the reading; it is then stored after sanitising (control characters removed, 90-character cap, lines with fewer than three letters dropped) and never overwritten. We publish word counts and the text itself, clearly labelled as OCR.

LimitsOCR makes mistakes, especially on stylised fonts, non-Latin scripts and text over busy backgrounds. Treat the captions as a reading aid, not a transcript.

Chart position history

Whenever a Top Free chart (country × category) is refreshed from Apple's public RSS feed — at most every 12 hours — we record each app's position for that calendar day. The app page shows the latest position, the change versus seven days earlier, the best position seen, and a 30-day sparkline. Tracking starts the first time a chart is loaded, so new apps have short histories.

Benchmarks

Category and chart statistics are simple aggregates over analysed apps: the share using a light theme, the share with captions above the phone, the average number of screenshots, the average App Store rating, and background colours grouped into 12 named families by hue and lightness. A benchmark is only shown once at least 5 apps are analysed (10 for the page to be indexable), and it updates as more apps are opened.

What we deliberately don't do

Using the data

Benchmark figures are published under CC BY 4.0 — quote them with a link to the page. Every app page has a "Use this style" button that opens the LaunchShots editor with the measured colours, so you can start from a listing you admire and make it yours.

SO

Measured and maintained by Sedat Okutan, the indie developer behind LaunchShots. Questions or a measurement that looks wrong? sedat@okutan.org · About