Decisions
The owner's design decisions, recorded when the redesign was planned. They settled every conflict between the code, the app rules, the design system and the design boards, and they still govern: follow them over a generic pattern. "DESIGN.md" in an entry means what is now the App rules page; the boards and screen audits they mention have been retired.
Owner decisions
| # | Decision |
|---|---|
| O1 | ToDo priority is Low / Medium / High on both devices. There is no "None"; the tablet ToDo editor board is wrong. |
| O2 | The phone calendar offers Month / 3 days / Day (a saved 5-day view opens as 3 days). 3 days and Day use the time grid at 56 dp per hour. Update DESIGN.md. |
| O3 | Phone meeting details keep Refresh and Reconnect. The tablet popover has Refresh in its heading and Reconnect notes in its action list. |
| O4 | Topics are a separate kind of note with their own global action on both devices (6 global actions). The phone Notes tab stays as it is. |
| O5 | The palette is the app's: #000000 #888888 #BBBBBB #CC3333 #DDBB00 #228844 #008888 #3399BB #663399 #334477 #315846 (AppColor). The design system's cal-* tokens now carry these values. |
| O6 | Time is picked with the Material 3 TimePicker / TimeInput inside the shared dialog, themed with the tokens. E-ink defaults to TimeInput; the dial stays one tap away. Replace NativeTimePicker and its XML styles. |
| O7 | No labelled dropdowns for editing tools. Overflow lives in the » icon tray. Zoom is − / level / + in the tray (30–300 %, tapping the level fits width); Lock zoom is a toggle icon. Remove the ZOOM_* toolbar items and ZoomMenu. |
| O8 | Pickers and confirmations are compact (tablet 400 dp; phone confirmations are centred 343 dp dialogs). Menus and popovers open anchored to their trigger, and the item they act on is highlighted. |
| O9 | Pen presets are rows with a stroke-preview tile: no numbers, no hex codes. |
| O10 | A field shows its label once (no repeated placeholder). Empty states are one plain line (+ one line on how to fill it). Search with no hits shows only "No results". There is no handwriting search, so the "Handwritten page text isn't searched." hint goes. |
| O11 | On the phone, previous/next day sit in a 56 dp bar at the bottom of Day view. |
| O12 | Settings uses the standard gear icon. |
| O13 | Phone sheets follow the design system's BottomSheet: no frame, 32 % ink scrim with a 6 dp backdrop blur (API 31+), 32 × 4 dp drag handle, 300 ms slide-up, swipe down to dismiss, off under reduced motion. The tablet stays static with no scrim. Update the InkPopover row in DESIGN.md. |
| O14 | Pen preset rows select the preset on tap, in Settings → Pen presets and in the toolbar popover. A trailing "Edit ›" opens Edit preset. |
| O15 | The » tray leaves out unplaced pen-preset tools (they stay placeable through Edit menu bar and reachable through the Pen presets popover) and the separate Previous/Next page arrows whenever Page navigation is on the bar. |
| O16 | The tray keeps the user's saved quick-access order; only 1 × 24 dp separators between tool kinds are added, with Zoom and Lock zoom each in their own group. There is no fixed canonical tray order. |
| O17 | Each Webcal subscription is a ListCard ("host · refreshed …", plus an error line when its last refresh failed) with a ⋮ menu: Hide/Show, Edit, Refresh, Remove (urgent, last). No detail screen. |
| O18 | Security: Trust this device stays a button with a "Trusted" state (there is no un-trust); email change keeps its code-based wording; passkeys and per-device Forget stay. Session rows use the API's device label and last-active time ("Pixel 8 · Active 5 Nov"). |
| O19 | No "Last checked" time under the subscription and no recognition-language value on the Settings row: the app records neither. |
| O20 | Copy from date: only days with writing are selectable (the picker's marked dates); others are inert like out-of-month days. Footer Cancel / Copy pages, disabled until a day is chosen; nothing is preselected and the picker opens on the current day's month. ‹ › move freely, with no extra message for months without writing. |
| O21 | When the current day has writing, Copy pages still asks "Replace this entry?", as a centred confirmation with human dates ("Copy all pages from Thu 5 Nov to Fri 6 Nov? This replaces all writing on Fri 6 Nov. Undo may be unavailable for large changes.") and an urgent filled Replace. The "No entry to copy" message is deleted. |
| O22 | Reminders keep the delivery methods the calendar reports (segmented control, or option rows above three); offsets read in words ("10 minutes before", "1 day before"). |
| O23 | The day heading keeps its journal icon on both devices (R7 applies to the phone too). |
| O24 | Phone Notes tab: kind icon and chevron on each row, outlined 48 dp letter keys, and letter headings that open the A–Z sheet. No "letter in view" highlight. |
| O25 | The topic name dialog is narrow (400 dp). Recognition languages is a list dialog (560 × 800 dp). |
| O26 | ZOOM_30…ZOOM_300 are removed from the app and from the server's synced toolbar enum and its test in the same change. |
| O27 | No grayscale theme and no grayscale previews. |
| O28 | The redesign handoff (boards, screenshots and screen audits) is retired; this site is the design source of truth, published at design.sparethought.dev. |
Resolved by keeping existing behaviour (owner may override)
| # | Question raised by the audit | Resolution |
|---|---|---|
| R1 | Settings wording: board "Show agenda in sidebar / on Today", "Default paper", "Edit menu bar", "Accent color" vs code/DESIGN.md "Show agenda on overview", "Default note", "Theme color". |
Keep the DESIGN.md names ("Show agenda on overview", "Default note", "Theme color", "Menu bar"). Apply the board's row structure (value + chevron, supporting line) only. |
| R2 | Default paper on the phone. | BOOX only, as today. |
| R3 | Sync details: board drops "Local notebook save" and the estimate/review lines. | Keep them (DESIGN.md requires local durability shown separately). Apply the board's layout around them. |
| R4 | » tray anchor: right edge on » (DESIGN.md) vs 8 dp from the screen edge (design system). |
Right edge on » when the tray fits; otherwise shift it left so it stays 8 dp inside the screen. Tablet: one row 4 dp under the bar. Phone: two rows above the tool bar. |
| R5 | Individual pen-preset tools in the menu-bar palette. | Keep them as placeable tools, without numbers: stroke glyph + label "Pen: Fountain". |
| R6 | Page settings: "This page / All pages" and "Use for all new entries". | Keep both (existing features); place them under the paper and spacing groups. |
| R7 | Sidebar day heading's journal icon. | Keep: the heading opens that day's journal. |
| R8 | Date format "05 Apr 2026" vs "5 Apr 2026". | Keep the code's formats. |
| R9 | Pen presets "Reset to defaults" (board only). | Not built. Listed as a possible later addition. |
| R10 | Recognition model size and download progress (board only). | Show only if the API exposes them; otherwise the status words stay ("Downloaded", "Not downloaded", "Status unavailable"). Keep "Refresh status". |
| R11 | Edit menu bar: board shows a plain list; DESIGN.md wants the live toolbar + palette with drag. |
Keep DESIGN.md's model (drag onto the real toolbar, Reset on its own row). Apply visual fixes only: shared dialog frame, no grey dim, nothing clipped. Delete page stays in the default bar order. |
| R12 | Event fields: board "Write or type a title". | Keep the current flow (handwriting pad with "Text review" for typing). Field placeholder copy: "Write a title". |
| R13 | ToDo pad tools: board "Undo, Redo, Convert icon" vs DESIGN.md "Undo, Clear ink, Convert to text". |
DESIGN.md: Pen, Eraser │ Undo, Clear ink, Convert to text. No Redo. |
| R14 | Phone ToDo due date: one field (board) vs date and time side by side (DESIGN.md). |
DESIGN.md: side by side, above the Today / Tomorrow / Next week / No date chips. |
| R15 | Phone ToDo pad: always shown (board) vs collapsed until strokes exist. | DESIGN.md: collapsed behind "Handwriting" until strokes exist. |
| R16 | Notes tab metadata: board "8 pages · edited 30 Oct". | Keep "Topic · 1 page" style; no edit dates (DESIGN.md). |
| R17 | Search filters: board shows 3 segments. | Keep the 4 chips All / Journal / Meetings / Topics (O4). |
| R18 | Calendar color: board shows all 11 grouped. | DESIGN.md: the current colour and the unused ones; the whole palette only once all 11 are assigned. Rendered as the swatch grid. |
| R19 | Security: per-session device names and last-active times. | Use them only if the session API provides them. Otherwise show "This device" / "Other device" and a human date ("Expires 5 Dec 2026"); never the raw policy, ISO timestamp or session UUID. |
| R20 | Phone Day view: where Add event and Open journal go. | Keep the day heading row (opens the journal) with Add event under the view switch; previous/next move to the bottom bar (O11). |
| R21 | "Text review" in the handwriting dialog. | Keep it. |
| R22 | Editor status bar (immersive). | Editors stay immersive, and the status bar must stay hidden while a dialog or sheet is open over an editor. Dialog windows apply the same insets controller. The editor must not shift when a dialog opens. |
| R23 | A page narrower than the viewport (zoomed out) sits top-left. | Out of scope for this pass; keep. |
| R24 | Due-date urgency colour. | Keep the app's existing urgency rule; only the styling changes. |
Device sizes
The BOOX runs at about 992 × 1323 dp portrait (1.875 px per dp), not the 702 × 936 dp the tablet boards were drawn at. Board widths are size classes: narrow 400 dp, standard 560 dp, editor 720 dp, lists 560 × 800 dp. Lay out with real constraints and check at the device size.