Privacy-Period-Tracker/docs/design/screenshots/README.md

103 lines
5.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# App screenshots
```
Status: Current
Owner: _null
Last reviewed: 2026-08-20
Governs: docs/design/screenshots/** — the captured app screenshots and the state
they were taken from
Review trigger: Any screen in the set changing enough that its shot is no longer
what the app looks like; any new screen worth showing
```
> Eleven frames of the real app, captured from a **seeded demo history**. They
> exist for the product page on privacyllc.dev, where every other Privacy LLC
> product already has a captioned portrait gallery and this one has no page at
> all. The same frames are the phone screenshots [issue #32](https://dream.scheller.ltd/null/Privacy-Period-Tracker/issues/32)
> needs for the Play listing.
## The set, in gallery order
| File | Screen | Suggested caption |
| --- | --- | --- |
| `01-onboarding-welcome.webp` | Onboarding, step 1 | Full-bleed artwork and a plain promise |
| `02-onboarding-last-period.webp` | Onboarding, step 2 | One date to begin with |
| `03-onboarding-period-end.webp` | Onboarding, step 3 | "Still going" and "I'm not sure" are real answers |
| `04-onboarding-history.webp` | Onboarding, step 4 | Earlier dates make the first forecast better |
| `05-privacy-promise.webp` | Onboarding, step 5 | Your cycle belongs to you |
| `06-reminder-privacy.webp` | Onboarding, step 6 | You choose what a reminder says |
| `07-first-forecast.webp` | Onboarding, step 7 | A window and a confidence, never a bare date |
| `08-today-forecast.webp` | Today | The forecast, and what it will not claim |
| `09-calendar.webp` | Calendar | States that differ in shape, not colour |
| `10-insights.webp` | Insights | Learned from your history, and says how much |
| `11-settings-privacy.webp` | Settings | Delete my data, and it means it |
The site's other product pages run six or seven images. If the gallery takes
seven, **05, 06, 08, 09, 10, 11 and 01** are the set — those carry the argument.
02, 03 and 04 are the data-entry steps and are the first to drop.
## The state they were captured from
Six invented period starts — **8 March, 5 April, 3 May, 31 May, 28 June and
26 July 2026** — giving cycle gaps of 28, 29, 28, 28 and 29 days. On a device
clock of 19 August 2026 that is cycle day 25, and the engine earns *period likely
in 4 days, most likely 23 August, expected 2224 August, confidence High*.
**Nothing here is real data.** That is not a nicety: a screenshot of a period
tracker is a screenshot of health data, and #32 says so in as many words.
Today was reshot once. The first seeding put the capture day *on* the estimated
ovulation date, so the hero read "estimated ovulation in 0 days" — true, and a
poor lead for a gallery. Shifting the history ten days earlier gives the period
countdown instead, which is the screen the app is built around.
## Reproducing them
Light mode throughout: it matches the site's light aesthetic and keeps the set
visually consistent. #44 is fixed now, so dark mode is no longer avoided because
of a known wrong Welcome illustration.
The status bar is SysUI demo mode, so all eleven are identical — 9:30, wifi, full
battery, nothing else:
```bash
adb shell settings put global sysui_demo_allowed 1
adb shell am broadcast -a com.android.systemui.demo -e command enter
adb shell am broadcast -a com.android.systemui.demo -e command clock -e hhmm 0930
adb shell am broadcast -a com.android.systemui.demo -e command network -e wifi show -e level 4 -e fully true
adb shell am broadcast -a com.android.systemui.demo -e command network -e mobile hide
adb shell am broadcast -a com.android.systemui.demo -e command battery -e level 100 -e plugged false
# … capture …
adb shell am broadcast -a com.android.systemui.demo -e command exit
```
Seeding is faster through the date picker's **text input mode** than by tapping
across months: its toggle is `content-desc="Switch to text input mode"`, and the
field then accepts `MM/DD/YYYY` typed straight in.
## What must be true of every frame
Each is a rule #32 states, and each was checked on this set rather than assumed:
- **No real history.** Seed deliberately, every time.
- **Nothing in the status bar but the demo furniture.** A reminder visible in a
published screenshot is a privacy failure at scale — the top strip of all
eleven was cropped and compared in one image to confirm it.
- **No medical, diagnostic or contraceptive claim.** The not-contraception line
is visible in `08` and `09`, which is the honest direction to err in.
- **PRODUCT_PLAN.md §42's forbidden list applies**, as it does to all artwork.
## Format
WebP quality 86 at native 1080 × 2400, 520 KB for the set. The Play-ready phone
exports are top-cropped PNGs in
[`../brand/play-store/phone-screenshots/`](../brand/play-store/phone-screenshots/)
so they keep the real app UI while meeting Play's aspect-ratio rule. Play's own
required sizes and counts are **confirmed in the Play Console at submission
time**, not from this file — the same rule the security checklist applies to the
target-API deadline.
These are not the three marks privacyllc.dev renders for the project card. Those
live in [`../../data/img/`](../../data/img/) under fixed names, and that folder
says plainly that screenshots do not belong in it.