Memories beyond On This Day
Gallery's memory shelf used to be photos from the same calendar day in earlier years, and nothing else. A server-side rule engine now generates named memories with their own title, subtitle, ranking and asset set, while web and mobile render them through the same generic memory UI.
Two rules ship first: recent trips and birthdays. They add to the existing memories rather than replacing them, and the server caps rule-based memories per day so the shelf stays short enough to look at.
Recent trips are detected, then curated
The trip rule reads the last 30 days of location history, compares it with the preceding baseline, and emits a memory only when there is a strong cluster outside your normal place. Sparse GPS data, an unclear home baseline and weak location labels all fail quietly. No guessed trips.
Once a trip qualifies, Gallery picks the photos. Burst shots collapse into one representative, the selection covers the trip timeline first, longer trips grow up to ten photos, and the memory is ordered chronologically so it reads like a recap.
Birthday memories
Gallery creates birthday memories for named people with a birth date. When that person has qualifying photos across several years, the memory mixes those years together instead of showing only the newest shots.
A newer library that only holds recent photos of that person still gets a birthday memory, built from what is there. The rule adapts to the history you have.
The server owns the story
Each rule stores a stable dedupe key, a score, a title, an optional subtitle and its selected assets in the existing memory table. Clients display the copy and asset list the server sends, so they need no rendering branch per rule.
New kinds of memory can then ship server-side, without every client release having to learn a new payload shape first.
Conservative by default
Recent trips have minimum asset and day thresholds. A same-place trip memory cools down before it repeats. Birthday memories require a named, visible person. Each rule fails soft when the library does not hold enough trustworthy data, which is what keeps a small cluster of photos from becoming an announcement.