147 lines
5.9 KiB
Markdown
147 lines
5.9 KiB
Markdown
# Focus Seed 1.0.1 Experience Brief
|
|
|
|
Status: approved product direction, 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
|
|
|
|
1. One coherent visual language
|
|
- Do not mix clay, cyberpunk, glass, paper, and flat Material styles indiscriminately.
|
|
- Select one primary direction after reviewing three complete visual routes.
|
|
- 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 full-screen directions using the same Today and Timer content:
|
|
|
|
1. Organic Clay Growth, recommended starting point
|
|
- Soft dimensional seed/growth objects, restrained tactile depth, calm teal and warm yellow.
|
|
- Strong brand fit without turning the whole UI into toy-like clay controls.
|
|
|
|
2. Quiet Precision
|
|
- Crisp typography, calm surfaces, subtle floating depth, high information clarity.
|
|
- Best for long-term productivity credibility and accessibility.
|
|
|
|
3. Botanical Editorial
|
|
- More expressive type and organic composition, grounded by functional controls.
|
|
- Stronger emotional identity but higher localization and layout risk.
|
|
|
|
Cyberpunk is not the default recommendation for this product. It can look striking, but its high-energy visual language conflicts with calm focus and broad global accessibility unless research demonstrates a specific audience fit.
|
|
|
|
The chosen visual route must define:
|
|
|
|
- Color tokens and contrast states
|
|
- Typography scale
|
|
- Surface/elevation model
|
|
- Icon treatment
|
|
- Illustration/growth system
|
|
- 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
|
|
|
|
## 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.
|
|
- 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.
|