replica(uhr): recon map, feature matrix, reference screenshots

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-17 14:58:04 +02:00
co-authored by Claude Opus 5.5
parent 64d664fbe9
commit 3c9535e1d5
9 changed files with 198 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
feature,area,priority,original,clone,notes
Alarm list with on/off switch and next-ring text,alarm,must,yes,no,
Add alarm with time picker (dial and keyboard),alarm,must,yes,no,
Expandable alarm card (edit in place),alarm,must,yes,no,
Repeat days chips,alarm,must,yes,no,
Alarm label,alarm,must,yes,no,
Delete alarm with undo,alarm,must,yes,no,
Vibrate toggle,alarm,must,yes,no,
Alarm sound picker with preview (system ringtones),alarm,must,yes,no,
Own audio file as alarm sound,alarm,should,yes,no,
Pause alarm until date,alarm,should,yes,no,
Skip next occurrence (dismiss early),alarm,should,yes,no,from notification
Exact scheduling that survives reboot time change and Doze,alarm,must,yes,no,AlarmManager.setAlarmClock
Full-screen ringing screen over lock screen,ringing,must,yes,no,
Slide control snooze/stop,ringing,must,yes,no,
Snooze length setting,settings,must,yes,no,
Silence after setting,settings,must,yes,no,
Gradually increase volume,settings,should,yes,no,
Alarm volume setting,settings,should,yes,no,
Volume buttons behaviour (snooze/stop/volume/none),settings,should,yes,no,
Start week on,settings,could,yes,no,
Upcoming alarm notification with dismiss now,notifications,should,yes,no,
Missed alarm notification,notifications,should,yes,no,
Snoozed notification with dismiss,notifications,must,yes,no,
World clock: local time and date,clock,must,yes,no,
World clock: add city via search,clock,must,yes,no,
World clock: reorder and swipe to delete,clock,should,yes,no,
Analog or digital clock style,clock,should,yes,no,
Show seconds,clock,could,yes,no,
Automatic home clock when travelling,clock,could,yes,no,
Timer keypad h m s,timer,must,yes,no,
Run several timers at once,timer,must,yes,no,
Timer ring progress +1:00 pause reset delete,timer,must,yes,no,
Timer labels,timer,could,yes,no,
Timer runs in background with notification,timer,must,yes,no,
Timer ringing screen,timer,must,yes,no,
Timer sound and vibrate settings,settings,should,yes,no,
Stopwatch start stop reset,stopwatch,must,yes,no,
Stopwatch laps,stopwatch,must,yes,no,
Stopwatch running notification,stopwatch,should,yes,no,
Bedtime schedule with wake-up alarm,bedtime,should,yes,no,
Bedtime reminder notification,bedtime,should,yes,no,
Sunrise alarm (brightening screen),bedtime,could,yes,no,
Sleep sounds with timer,bedtime,could,yes,no,own CC0 sounds
Screensaver / bedside clock with night mode,display,could,yes,no,DreamService
Digital clock widget,widgets,must,yes,no,
Analog clock widget,widgets,should,yes,no,
World clock widget,widgets,could,yes,no,
Next alarm widget,widgets,should,yes,no,
Widget style options (theme colours opacity),widgets,should,yes,no,like Wetter
Theme system/light/dark and dynamic colour,display,must,yes,no,
Expressive design (bottom bar pill cards shapes),display,must,yes,no,
Streaming alarm sounds (YouTube Music Spotify Calm),alarm,could,yes,skip,partner accounts
Google Assistant Routine,alarm,could,yes,skip,Google service
Bedtime mode greyscale and DND,bedtime,could,yes,skip,Digital Wellbeing privileges
Sleep tracking cough and snore,bedtime,could,yes,skip,system privileges + Pixel hardware
Calendar upcoming events card,bedtime,could,yes,skip,Google Calendar
1 feature area priority original clone notes
2 Alarm list with on/off switch and next-ring text alarm must yes no
3 Add alarm with time picker (dial and keyboard) alarm must yes no
4 Expandable alarm card (edit in place) alarm must yes no
5 Repeat days chips alarm must yes no
6 Alarm label alarm must yes no
7 Delete alarm with undo alarm must yes no
8 Vibrate toggle alarm must yes no
9 Alarm sound picker with preview (system ringtones) alarm must yes no
10 Own audio file as alarm sound alarm should yes no
11 Pause alarm until date alarm should yes no
12 Skip next occurrence (dismiss early) alarm should yes no from notification
13 Exact scheduling that survives reboot time change and Doze alarm must yes no AlarmManager.setAlarmClock
14 Full-screen ringing screen over lock screen ringing must yes no
15 Slide control snooze/stop ringing must yes no
16 Snooze length setting settings must yes no
17 Silence after setting settings must yes no
18 Gradually increase volume settings should yes no
19 Alarm volume setting settings should yes no
20 Volume buttons behaviour (snooze/stop/volume/none) settings should yes no
21 Start week on settings could yes no
22 Upcoming alarm notification with dismiss now notifications should yes no
23 Missed alarm notification notifications should yes no
24 Snoozed notification with dismiss notifications must yes no
25 World clock: local time and date clock must yes no
26 World clock: add city via search clock must yes no
27 World clock: reorder and swipe to delete clock should yes no
28 Analog or digital clock style clock should yes no
29 Show seconds clock could yes no
30 Automatic home clock when travelling clock could yes no
31 Timer keypad h m s timer must yes no
32 Run several timers at once timer must yes no
33 Timer ring progress +1:00 pause reset delete timer must yes no
34 Timer labels timer could yes no
35 Timer runs in background with notification timer must yes no
36 Timer ringing screen timer must yes no
37 Timer sound and vibrate settings settings should yes no
38 Stopwatch start stop reset stopwatch must yes no
39 Stopwatch laps stopwatch must yes no
40 Stopwatch running notification stopwatch should yes no
41 Bedtime schedule with wake-up alarm bedtime should yes no
42 Bedtime reminder notification bedtime should yes no
43 Sunrise alarm (brightening screen) bedtime could yes no
44 Sleep sounds with timer bedtime could yes no own CC0 sounds
45 Screensaver / bedside clock with night mode display could yes no DreamService
46 Digital clock widget widgets must yes no
47 Analog clock widget widgets should yes no
48 World clock widget widgets could yes no
49 Next alarm widget widgets should yes no
50 Widget style options (theme colours opacity) widgets should yes no like Wetter
51 Theme system/light/dark and dynamic colour display must yes no
52 Expressive design (bottom bar pill cards shapes) display must yes no
53 Streaming alarm sounds (YouTube Music Spotify Calm) alarm could yes skip partner accounts
54 Google Assistant Routine alarm could yes skip Google service
55 Bedtime mode greyscale and DND bedtime could yes skip Digital Wellbeing privileges
56 Sleep tracking cough and snore bedtime could yes skip system privileges + Pixel hardware
57 Calendar upcoming events card bedtime could yes skip Google Calendar
+141
View File
@@ -0,0 +1,141 @@
# Recon map: Google Clock / Pixel Clock (Android)
Scope: the whole app: alarms, world clock, timer, stopwatch, bedtime, alarm ringing screen, settings, screensaver, home-screen widgets
For: personal use, a clock and alarm app without Google services (project NoGooleApps)
Date: 2026-10-17
## Sources
| # | source | URL | notes |
| --- | --- | --- | --- |
| 1 | help center | https://support.google.com/clock/?hl=en | full settings list (alarms, time and date, display), world clock, timer, widget |
| 2 | help center | https://support.google.com/clock/answer/9887159?hl=en | bedtime schedule, reminder, bedtime mode, sunrise alarm, sleep sounds |
| 3 | review | https://www.slashgear.com/1540180/android-clock-app-features-you-dont-know | sounds, pause alarm, volume buttons, snooze range, alarm duration, screensaver |
| 4 | app store listing | https://play.google.com/store/apps/details?id=com.google.android.deskclock | pitch only, no screenshots saved |
| 5 | screenshots | replica/uhr/screens/ref-01..07.png | supplied by user: alarm list (dark), world clock + settings, timer/alarm expanded/alarm sound, missed-alarm notification, ringing screen, launcher icon, stopwatch. Reference only, never shipped |
## Core loop
Set an alarm in a few taps and be woken reliably at that time, every time, even with battery saver and Do Not Disturb.
## Screens
| ID | screen | route / how to reach | purpose | key components | states seen |
| --- | --- | --- | --- | --- | --- |
| S01 | Alarm list | tab "Alarm" (default) | all alarms, on/off | top bar + overflow, alarm cards (label, big time + AM/PM, next-ring text, switch, expand chevron), FAB "+" | empty, filled, alarm off (dimmed time), section headers ("Wake up" = bedtime alarm, "Other") (ref-01, ref-03) |
| S02 | Alarm expanded | tap a card | edit one alarm in place | label field, time, day chips S M T W T F S, switch, rows: pause alarm, sound, vibrate, delete | expanded (ref-03) |
| S03 | Time picker | tap time / FAB | pick hour and minute | M3 clock dial / keyboard input toggle | dial, input |
| S04 | Alarm sound | S02 → sound row | choose ringtone | tabs (sounds; streaming partners in original), list with play preview, "add new" (own file) | playing, selected (ref-03) |
| S05 | Pause alarm | S02 → pause row | skip until a date | date picker | |
| S06 | Clock (world clock) | tab "Clock" | local time + cities | big time with seconds option, date, next alarm, weather line, city cards (name, day offset, time) , FAB add | one city, many (ref-02) |
| S07 | Add city | S06 FAB | search a city | search field, result list | empty, results |
| S08 | Timer | tab "Timer" | set and run timers | keypad (h m s) + start; running cards: label, ring progress, remaining, +1:00, pause/play, reset, delete; FAB add | idle keypad, running, paused, ringing, several timers (ref-03) |
| S09 | Stopwatch | tab "Stopwatch" | measure time, laps | big 00:00.00, buttons start/stop, reset, lap (large pill buttons), lap list | idle, running, stopped, laps (ref-07) |
| S10 | Bedtime | tab "Bedtime" | sleep schedule | first-run "get started", bedtime + wake-up times, days, sleep duration, reminder, sunrise alarm, sleep sounds | empty, set |
| S11 | Alarm ringing | full screen when an alarm fires | snooze or stop | big time, label, swipe/slide control "Snooze ← ⏰ → Stop", optional weather after stop | ringing, snoozed (ref-05) |
| S12 | Timer ringing | full screen / notification | stop or +1:00 | | |
| S13 | Settings | overflow → Settings | alarm, time, display settings | rows (silence after, snooze length, alarm volume, gradually increase volume, volume buttons, start week on, home time zone, automatic home clock, style analog/digital, seconds, night mode, timer sound/vibrate) | (ref-02) |
| S14 | Screensaver / bedside | overflow → Screensaver; system dream | dim clock on dark screen | analog/digital clock, night mode (red, dim) | day, night |
| S15 | Notifications | system | upcoming alarm (dismiss early), snoozed, missed alarm, running timer/stopwatch | notification actions | missed (ref-04) |
| S16 | Widgets | launcher | time on home screen | digital, analog, world clock list, next alarm | sizes |
| S17 | Lock-screen / quick settings tile | system | next alarm, start timer | | guess |
## Flows
```
F01 Set a new alarm
S01 -> FAB -> S03 pick time -> OK -> S01 (new card, "in 7 h 12 min" toast)
happy path clicks: 3 (FAB, dial hour+minute, OK)
edge: same time exists, exact-alarm permission revoked, notifications off, battery saver
F02 Make an alarm repeat on weekdays and name it
S01 -> tap card -> S02 -> tap 5 day chips -> label -> collapse
happy path clicks: 8
F03 Wake up
S11 rings -> snooze (slide left) -> rings again after 10 min -> stop (slide right)
edge: volume buttons set to snooze/stop, phone locked, DND, silent mode, reboot before alarm
F04 Skip tomorrow's alarm
S15 "upcoming alarm" notification -> "Dismiss now" or S02 -> pause until date (S05)
F05 Run a timer
S08 keypad 5 0 0 -> start -> running card -> +1:00 -> rings (S12) -> stop
happy path clicks: 4
edge: app closed, several timers at once, timer ends while screen off
F06 Measure laps
S09 start -> lap ×n -> stop -> reset
F07 Add a world clock
S06 -> FAB -> S07 search -> tap city -> S06
edge: reorder by long press, delete by swipe
F08 Set a bedtime schedule
S10 get started -> wake-up time + days -> bedtime -> reminder -> done (creates the "Wake up" alarm in S01)
F09 Change alarm sound
S02 -> sound -> S04 -> preview -> select / add own file
```
## Components
| component | variants | states | used on |
| --- | --- | --- | --- |
| Bottom navigation bar | 5 destinations with pill indicator | selected, unselected | all tabs |
| Top app bar | title + overflow menu | | all tabs |
| Alarm card | collapsed, expanded | on, off (dim), ringing soon, snoozed | S01, S02 |
| Big time text | alarm (56sp bold + small AM/PM), clock (very large), stopwatch (mono digits), ringing (huge) | | S01, S06, S09, S11 |
| Switch | M3 with thumb | on, off | S01, S02, S13 |
| Day chips | 7 round chips | selected (filled), unselected (outline) | S02, S10 |
| Settings row | icon + text + trailing (plus, check, chevron) | | S02 |
| FAB | large round "+" | | S01, S06, S08 |
| Timer card | ring progress, time, +1:00 pill, play/pause big pill, close | running, paused, ringing | S08 |
| Keypad | 0-9, 00, backspace, display h m s | empty, typing | S08 |
| Big pill buttons | primary (start/stop), secondary (reset, lap) | | S09, S08 |
| City card | name, offset text, time | dragging, swiping | S06 |
| Slide-to-act control | snooze ← → stop | idle, dragging | S11 |
| Time picker | dial, input | | S03, S10 |
| Notification | upcoming, snoozed, missed, timer running, stopwatch running | | S15 |
| Analog clock face | own design | | S06, S14, S16 |
## Inferred data model
```
Alarm id, hour, minute, enabled, days (bitmask Mon..Sun), label, ringtone_uri, vibrate,
snooze_until (nullable), skip_until_date (pause), is_bedtime_wake, created_at
evidence: S01, S02, help "Set, cancel, or snooze alarms" confidence: high
AlarmInstance alarm_id, fire_at (UTC instant), state (scheduled | snoozed | ringing | missed | dismissed)
evidence: S11, S15 notifications confidence: medium (needed for snooze/missed)
Timer id, label, duration_ms, remaining_ms, state (idle | running | paused | ringing), end_at, created_at
evidence: S08 cards confidence: high
Stopwatch state, started_at, accumulated_ms, laps[] (lap_ms, total_ms)
evidence: S09 confidence: high (single instance)
City id, name, country, timezone, sort_order
evidence: S06, S07 confidence: high
Bedtime enabled, bed_hour, bed_minute, wake_alarm_id, days, reminder_minutes, sunrise (bool), sleep_sound
evidence: S10, help "Set a bedtime schedule" confidence: high
Settings silence_after_min, snooze_min, alarm_volume, gradual_volume_s, volume_buttons (snooze|stop|volume|none),
week_start, home_timezone, auto_home_clock, clock_style (analog|digital), show_seconds,
timer_sound, timer_vibrate, night_mode, theme
evidence: S13 confidence: high
```
Relationships: Alarm 1-n AlarmInstance, Bedtime 1-1 Alarm (wake-up). No accounts.
## Feature matrix
See `features.csv`. Must: 26, should: 17, could: 8, skip: 5.
## Out of scope (cannot or should not be cloned)
- Streaming alarm sounds (YouTube Music, Spotify, Pandora, Calm): partner deals and accounts. Own audio files from the device replace them.
- Google Assistant Routines: Google service.
- Bedtime mode (silence + greyscale), sleep tracking, cough/snore detection, recent bedtime activity: Digital Wellbeing and system privileges, not available to normal apps.
- Calendar "upcoming events" card: needs Google Calendar; could later read the local calendar provider.
- Weather after the alarm: possible later via the Wetter app's data, not part of the first build.
- Google's clock face, ringtones and icons: own designs and own/CC0 sounds.
## Size
Screens 17, flows 9, entities 7. Hard parts: (1) reliable alarms (exact alarms, full-screen intent, Doze, reboot, time zone and DST changes), (2) timer and stopwatch running correctly in the background with live notifications, (3) the expressive UI (expanding cards, ring progress, slide-to-act) and widgets. Size: M.
Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 KiB