Photo Questions (Image Guesser)¶
A photo-based memory prompt that turns a senior's own photos into a gentle cognitive-wellness practice. It asks about a photo's context drawn from the photo's own metadata (EXIF): where it was taken and what year. Dignity is the gate, not a feature: "I don't know" is always a first-class answer, there is no failure language, and the app never uses face or person recognition.
This branch delivers a co-design artifact only: an interactive HTML prototype for review. No app code ships here (see "Follow-ups").
Where the prototype lives¶
- Open the prototype —
a standalone, self-contained
clickable prototype built on the Daybreak tokens (color, spacing, type scale)
so it reads as the same product. It embeds the four real location photos from
the project's shared drive (
Assets/Photos/Locations), downscaled for size, and drives every question from each photo's actual EXIF. Open it in any browser; a "Design review" toggle reveals what the app sees (EXIF), the live research record (matching thevideo-quizschema), and the People-questions follow-up as a designed-but-disabled panel.
Sample photos (from the shared drive)¶
The prototype uses the real photos in
Senior Health App/Assets/Photos/Locations. Their genuine EXIF is what makes
the "skip when missing" rule visible rather than theoretical:
| Photo | EXIF date → decade | EXIF GPS → place | Questions asked |
|---|---|---|---|
NYC.jpg (iPhone 5) |
2014 → 2010s | 40.744, -73.971 → City | Where and When |
Whaler Inn - North Carolina |
2008 → 2000s | none | When only (Where skipped) |
Lake Union - Seattle |
2008 → 2000s | none | When only (Where skipped) |
Thomas Condo - Seattle |
2008 → 2000s | none | When only (Where skipped) |
Only NYC.jpg carries GPS, so it is the single photo that asks "Where"; the
other three demonstrate the app going straight to "When" because the location
metadata is absent. The Photos/People folder in the shared drive is
intentionally empty, consistent with People questions being a deferred,
opt-in follow-up.
Scope of this branch¶
- Location and Year questions only, driven by EXIF: GPS coordinates power
"Where was this taken?" and
DateTimeOriginalpowers "What year was this?". - Skip, never guess. If the EXIF field a question needs is missing, that question is skipped rather than invented.
- People questions are documented, not built (see below). They are a dignity-first follow-up gated on explicit consent and the senior's own tags.
The senior-facing flow¶
- Invitation. "Would you like to look at a photo?" with an equally weighted "Not right now."
- Photo. The senior's own photo, shown large.
- Where. "Where was this photo taken?" (only if the photo has GPS).
- When. "What year was this photo taken?" (only if the photo has a date).
- Warm close. A gentle, non-graded reflection. Every path ends kindly.
Dignity-first rules (why this stays senior-centric)¶
- "I don't know" is always offered, listed first, and styled identically to every other choice, so it never reads as the lesser answer.
- No "wrong answer." Feedback never uses red, failure words, or a score. A missed guess is met with the true answer and "nicely tried."
- EXIF only, skip when missing. The app never fabricates a location or year; a photo without the metadata simply skips that question.
- No AI person or face recognition, anywhere. Not in this branch, not in the People-questions follow-up.
- Large text, high contrast, large targets, per
docs/accessibility.md(WCAG 2.2 AA, 44pt minimum touch target, font scaling never disabled).
Question logic (EXIF-driven)¶
| Question | EXIF source | Senior-friendly prompt | Answer options | Rule |
|---|---|---|---|---|
| Location | GPS coordinates | "Where was this photo taken?" | I don't know, Park, Beach, City, Country, Other | Shown only if GPS is present |
| Year | DateTimeOriginal |
"What year was this photo taken?" | I don't know, 1950s, 1960s, 1970s, 1980s, 1990s, 2000s, 2010s | Shown only if the date is present |
The decade options extend to cover the actual photo set (the NYC photo is from 2014); add later decades as the library requires. Coordinates resolve to a coarse place category (Park / Beach / City / Country), never a street address, so the prompt is answerable and the data stays non-identifying.
People questions (follow-up, not in this branch)¶
People questions are excluded by default and, if ever added, are a safety option rather than a feature. The rules, carried forward from the co-design council, are:
- Opt-in only, in Settings, defaulting to OFF. Most seniors will never see a people question.
- Only explicit, user-added EXIF tags (e.g.,
People: Grandpa, Dog). Never AI recognition, never vague tags likeFamilyorGroup, never strangers in a street scene. - The app never asserts an identity. It only reflects a tag the senior themselves added ("Who did you tag here?"), and "I don't know" is always available.
Co-design evidence: in testing, forced people identification left seniors feeling "tested" and drove high drop-off, while an optional, own-tags-only version felt "safe." Because of that, success for this feature is defined by low adoption (few people ever turn it on), a high share of "I don't know" answers, and zero drop-off when it is enabled.
Research data (Lisa Part)¶
Each answer is designed to produce a PhotoQuestionResponse whose field names
mirror the approved research schema, matching the Video Quiz pattern: a photo id,
senior_id, ISO timestamp, question_type (location or year), whether the
EXIF source was present, the response, accuracy, a coarse context tag,
senior_response_time_ms, and input_method. A toCsv export mirrors
src/features/video-quiz/export.ts. The prototype shows a live preview of this
record on the "Design review" panel.
Follow-ups (not in this branch)¶
- Wire the React Native feature under
apps/mobile/src/features/photo-quiz, following the Video Quiz structure (types, validation, logging, export, screen, tab route) and reusing the Daybreak primitives. - Backend EXIF extraction (Pillow, in
backend/) to populateWhere/Whenquestion data from an uploaded photo, with skip-on-missing enforced server-side. (The prototype's coarse GPS→place mapping would move here.) - The People-questions opt-in and its explicit-user-tag validation.
- Persist responses and add the CSV export action to the Stats Display.
Co-designed with 12 seniors (ages 70–85) and 2 geriatric cognitive scientists. Approved by the SeniorHealthApp Co-Design Council. Status: prototype ready for review; EXIF people-tag validation required before any People-questions work.