197 lines
9.4 KiB
Markdown
197 lines
9.4 KiB
Markdown
# Focus Seed 1.0.1 Experience Brief
|
|
|
|
Status: approved product and design principles, visual route not yet selected.
|
|
|
|
## Product Intent
|
|
|
|
Focus Seed should feel exceptionally calm, responsive, and effortless even though its feature set is intentionally small. Product quality comes from the complete experience: clear flows, immediate feedback, reliable behavior, thoughtful motion, coherent visual identity, and low cognitive load.
|
|
|
|
The differentiated loop is:
|
|
|
|
```text
|
|
Choose today's anchor -> focus -> complete one small habit -> reflect -> see the seed grow
|
|
```
|
|
|
|
Every screen and feature should strengthen this loop. Generic feature accumulation is not a goal.
|
|
|
|
## Design Principles
|
|
|
|
### Five Acceptance Requirements
|
|
|
|
Every design decision must pass these five product-level requirements:
|
|
|
|
1. Dynamic data and state resilience
|
|
- Design components for changing content, item counts, asynchronous feedback, lifecycle restoration, and navigation state.
|
|
- Validate behavior with empty, normal, dense, long-content, loading, error, active, paused, completed, and restored states.
|
|
|
|
2. One coherent visual system
|
|
- Use a consistent grammar for color, type, shape, spacing, depth, iconography, illustration, and motion.
|
|
- Permit limited visual contrast only when it explains a meaningful state, mode, reward, warning, or transition.
|
|
|
|
3. Clear structure and interaction
|
|
- Layout must explain what is interactive, what changed, where the user is, and what will happen next.
|
|
- Tap, selected, disabled, saving, success, error, and recovery feedback must be immediate and unambiguous.
|
|
|
|
4. Strong primary and secondary hierarchy
|
|
- Every state has one P0 action or message, supporting P1 actions, and quiet P2 context.
|
|
- Decorative ideas and secondary metrics must never compete with the current P0 task.
|
|
|
|
5. Comfortable purpose-fit design
|
|
- The interface should support calm focus, trust, repeat use, and low cognitive load rather than chase a fashionable genre.
|
|
- Colors need semantic, emotional, accessibility, light/dark, and localization rationale.
|
|
- Each route still needs one memorable product-specific visual or interaction idea; comfort is not permission to become generic.
|
|
|
|
### Supporting Rules
|
|
|
|
1. Coherence without genre constraints
|
|
- Clay, cyberpunk, glass, paper, floating surfaces, editorial layouts, and other labels are exploration vocabulary, not requirements or exclusions.
|
|
- Derive the visual language from the product's calm focus loop, information hierarchy, interaction needs, audience, accessibility, localization, and performance constraints.
|
|
- Select one primary visual grammar after reviewing three complete routes. A small secondary contrast is welcome when it makes a meaningful state, reward, or transition clearer and more memorable.
|
|
- Do not mix styles casually or pursue novelty at the expense of clarity. Every visible difference must have a product reason.
|
|
- The chosen route must work in light/dark mode, on low-end Android devices, and across supported languages.
|
|
|
|
2. Interaction before decoration
|
|
- Primary actions must be obvious and reachable.
|
|
- Taps acknowledge immediately through state, motion, and selective haptics.
|
|
- Navigation preserves context and never surprises the user.
|
|
- Dialogs are reserved for confirmation, focused input, or meaningful decisions.
|
|
|
|
3. Motion with purpose
|
|
- Tap/state feedback: 100-160ms.
|
|
- Component transitions: 160-240ms.
|
|
- Page or major-state transitions: 220-320ms.
|
|
- Respect reduced-motion settings.
|
|
- Avoid continuous decorative animation, layout shifts, and motion that delays input.
|
|
|
|
4. Reliability is part of UX
|
|
- Timer state must survive backgrounding, interruption, and process recreation.
|
|
- A session cannot be recorded as fully completed without valid elapsed time or explicit, honest manual entry.
|
|
- Saving, deleting, importing, and restoring data must have clear success and recovery states.
|
|
|
|
5. Global-ready foundations
|
|
- Move user-facing strings into ARB localization files.
|
|
- Format dates, numbers, durations, and plurals by locale.
|
|
- Support longer translated strings, text scaling, and RTL-safe layout primitives.
|
|
- Country availability, store listing language, privacy, pricing, and in-app language remain separate release decisions.
|
|
|
|
6. Accessibility by default
|
|
- Minimum comfortable touch targets.
|
|
- Strong contrast in both themes.
|
|
- Semantic labels for icon-only controls and progress.
|
|
- Keyboard/focus order where relevant.
|
|
- Test at increased system font sizes.
|
|
|
|
## Visual Direction Gate
|
|
|
|
Before implementation, create and review exactly three materially different full-screen directions using the same Today and Timer content. Generate these routes from the product brief each time rather than filling fixed style categories.
|
|
|
|
The routes may use any visual tradition or combination that has a defensible product rationale. Organic clay, quiet precision, botanical editorial, cyberpunk, glass, paper, spatial depth, or a new hybrid are examples only. No genre receives automatic preference or rejection.
|
|
|
|
Each route must show how its visual choices improve:
|
|
|
|
- Task clarity and one-handed ease of use
|
|
- Calmness, comfort, and low cognitive load
|
|
- Immediate tap, state, transition, and completion feedback
|
|
- Brand recognition and the seed-growth metaphor
|
|
- Accessibility, localization, dark mode, and responsive layouts
|
|
- Smooth rendering and restrained battery use on ordinary Android devices
|
|
|
|
Every route must also be designed as a stateful product system, not as a static poster. Stress-test the same visual language with:
|
|
|
|
- Empty, first-use, populated, loading, saving, success, recoverable error, and destructive-confirmation states
|
|
- Timer idle, running, paused, background-restored, completed, and interrupted states
|
|
- Zero, one, several, completed, archived, and long-named habits
|
|
- Short and long anchors, translated text expansion, large system text, RTL, and narrow/wide layouts
|
|
- Dynamic list growth, scrolling, keyboard appearance, safe areas, and bottom-navigation persistence
|
|
- Content changes that must not cause layout jumps, clipped actions, hidden status, or accidental taps
|
|
|
|
Evaluate the three routes with the same weighted scorecard:
|
|
|
|
- Usability and task clarity: 30%
|
|
- Comfort and cognitive load: 20%
|
|
- Interaction and motion coherence: 15%
|
|
- Visual hierarchy and readability: 15%
|
|
- Distinctiveness and emotional appeal: 10%
|
|
- Accessibility and global adaptability: 5%
|
|
- Performance feasibility: 5%
|
|
|
|
The highest score is not automatically selected. Resolve any weak core-flow score first, then use informed visual judgment to choose the most compelling complete experience.
|
|
|
|
The chosen visual route must define:
|
|
|
|
- Color tokens and contrast states
|
|
- Typography scale
|
|
- Surface/elevation model
|
|
- Icon treatment
|
|
- Illustration/growth system
|
|
- Rules for deliberate visual contrast and where it is not allowed
|
|
- Navigation and tab behavior
|
|
- Dialog, sheet, menu, snackbar, empty, loading, error, success, and destructive states
|
|
- Motion curves and durations
|
|
- Light/dark behavior
|
|
- Localization and text-expansion behavior
|
|
- Component behavior across data density, asynchronous state, lifecycle restoration, and content growth
|
|
|
|
## 1.0.1 Priority Order
|
|
|
|
### P0: Trust And Stability
|
|
|
|
- Timer lifecycle based on timestamps, not only an in-memory periodic timer.
|
|
- Background/foreground/process-restoration behavior.
|
|
- Honest session completion rules.
|
|
- Persistence growth plan and migration tests.
|
|
- More unit, widget, and lifecycle tests.
|
|
|
|
### P1: Signature Experience
|
|
|
|
- Seed-growth feedback tied to meaningful user progress.
|
|
- Smoother navigation and continuity between Today, Timer, Habits, and Reflect.
|
|
- Refined input, dialog, deletion, save, and completion flows.
|
|
- Clear first-run experience that reaches the first useful action quickly.
|
|
|
|
### P1: International Foundation
|
|
|
|
- English ARB baseline.
|
|
- Locale-aware dates, durations, and plurals.
|
|
- Responsive phone/tablet constraints.
|
|
- Text scaling and RTL-ready component structure.
|
|
|
|
### P2: Retention And Completeness
|
|
|
|
- Gentle reminders only after explicit user choice.
|
|
- Better history and progress explanation.
|
|
- Useful widgets or shortcuts after the core loop is stable.
|
|
- Export/import refinement and future database migration path.
|
|
|
|
## Monetization Guardrail
|
|
|
|
The free product must complete the full Daily Anchor Loop. Do not put an ad or paywall in front of choosing an anchor, starting/finishing a timer, checking a habit, saving a reflection, or deleting/exporting personal data.
|
|
|
|
Preferred paid value:
|
|
|
|
- Advanced history and reports
|
|
- Additional themes and growth environments
|
|
- Home-screen widgets
|
|
- Custom focus routines
|
|
- Enhanced export formats
|
|
- Cloud backup/sync only if a real service is introduced
|
|
|
|
Preferred order:
|
|
|
|
1. Validate retention and repeated use.
|
|
2. Test a one-time Pro unlock.
|
|
3. Consider subscription only when ongoing services create ongoing value and cost.
|
|
4. Add ads only if they can remain outside the core loop and do not reduce trust.
|
|
|
|
## Acceptance Signals
|
|
|
|
1.0.1 is successful when:
|
|
|
|
- The timer remains correct through backgrounding and restoration.
|
|
- Main actions respond immediately and consistently.
|
|
- No screen overflows at supported text scales and locales.
|
|
- Empty, dense, loading, error, long-content, and lifecycle-restored states preserve hierarchy and access to the primary action.
|
|
- Users can explain the Daily Anchor Loop after one session.
|
|
- Testers return without being prompted solely for testing compliance.
|
|
- Visual identity is recognizable without sacrificing clarity or performance.
|