docs/waves/user_onboarding_experience_plan.md
Waves User Onboarding Experience Plan
Status: planning-ready
Owner lane: browser + docs
Purpose
Define a first-run and returning-user help experience for Waves that explains what the product is, how to use it, and how to learn progressively without sending users out to external documentation first.
Waves is niche. The onboarding problem is not only control discoverability; it is mental-model adoption:
- what Waves is
- what
LocalvsNetworkmode means - how WAP/WML navigation differs from modern browser assumptions
- how to explore examples, forms, and debugging surfaces without getting lost
Goals
- Give a new user a clear answer to “what is this?” within the first screen.
- Reduce abandonment caused by immediate network errors or unfamiliar terminology.
- Teach the core Waves mental model through a mix of overview, guided interaction, and built-in examples.
- Keep help accessible after first launch, not only during onboarding.
- Reuse product-native content surfaces where possible so documentation is testable and ships with the app.
Non-Goals (MVP)
- Full product documentation site replacement.
- Remote account or cloud-synced onboarding state.
- Heavy analytics/telemetry dependency for onboarding success.
- Interactive walkthroughs that mutate runtime state outside normal browser/engine boundaries.
User Segments
1. Curious newcomer
Characteristics:
- knows little or nothing about WAP/WML
- launches Waves out of curiosity
- needs orientation before exploring
Needs:
- plain-language intro
- a safe “try it now” path
- fast explanation of
LocalvsNetwork
2. Technical evaluator
Characteristics:
- understands historical mobile-web concepts or emulator tooling
- wants to inspect behavior quickly
- may care about debug state and protocol/runtime fidelity
Needs:
- quick path to examples and diagnostics
- concise architecture/feature overview
- in-app access to troubleshooting and reference material
3. Returning operator
Characteristics:
- already launched Waves before
- may not remember exact controls or mode behavior
Needs:
- replayable help entry point
- quick links to examples and troubleshooting
- optional hints, not forced tutorial repetition
Experience Principles
- Start with orientation, not configuration.
- Teach by doing inside Waves where possible.
- Explain mode and constraint differences explicitly.
- Keep the first-run path skippable and replayable.
- Treat help content as product content: versioned, testable, local-first.
Proposed Experience Model
1. Welcome Home
Default first-run landing view shown before users are dropped into ordinary browsing.
Core actions:
Take the tourTry local examplesConnect to a WAP serverOpen help
Core content:
- short explanation of Waves
- short explanation of
LocalandNetwork - “what you can do here” examples:
- browse WML decks
- edit and submit forms
- inspect runtime/debug state
2. Guided Tour
Replayable, step-based product tour focused on core concepts rather than generic control labels.
Recommended MVP steps:
- Browser shell overview
LocalvsNetworkmode- Loading a local example
- Navigating cards and forms
- Opening developer tools and runtime state
Rules:
- skippable at any step
- replayable from Help
- stateful enough to resume within a session, but no account dependency
3. Help Hub
Persistent in-app help surface available from the start page and app chrome.
Proposed sections:
Start HereQuickstartCore ConceptsTutorialsTroubleshootingDeveloper GuideReference
4. Tutorial Decks
Built-in interactive lessons that use local content/examples and teach through the viewport itself.
Initial tutorial set:
Your first deckEdit and submit a formUnderstand local vs network modeInspect a runtime snapshot
Why this matters:
- users learn inside the same interaction model Waves is built around
- examples can be versioned, reviewed, and tested like other shipped content
5. Contextual Hints
Lightweight, dismissible hints shown only when relevant.
Suggested triggers:
- first switch into
Networkmode - first failed network fetch
- first local example load
- first focused form edit
- first developer-tools open
Rules:
- hints are optional and suppressible
- hints should not block primary interaction
- hints should point back to Help Hub when deeper reading is needed
Information Architecture
Start Here
Purpose:
- orient new users in under one minute
Content:
- what Waves is
- what it is not
- first recommended actions
Quickstart
Purpose:
- help users do something real immediately
Content:
- run local examples
- connect to a server
- navigate, edit, submit
Core Concepts
Purpose:
- explain the product model
Content:
- decks and cards
- focus and softkey-style interaction
- local vs network mode
- external intents and captured submits
Tutorials
Purpose:
- task-oriented learning
Content:
- tutorial decks with explicit goals and acceptance steps
Troubleshooting
Purpose:
- reduce confusion when things fail
Content:
- no network available
- local mode does not fetch
- why a submit is captured instead of followed
- where to look in dev tools
Developer Guide
Purpose:
- help technical users inspect and understand runtime behavior
Content:
- session state
- transport response
- runtime snapshot
- event timeline
Reference
Purpose:
- quick recall
Content:
- keyboard shortcuts
- mode behaviors
- current limitations
UX and Technical Approach
Content Source Strategy
Use product-owned local content instead of external-only documentation for the first experience.
Recommended source types:
- browser-native intro/help page content for the shell-level overview
- local tutorial decks/examples for viewport-driven learning
- versioned markdown or typed content modules for help sections
State Model
Suggested local onboarding state:
hasSeenWelcomehasCompletedTourdismissedHintscompletedTutorialIds
Storage posture:
- local only
- resettable from Help/Settings/dev path
UI Surface Options
Preferred MVP split:
- intro/help hub as browser-shell UI pages
- tutorial lessons as local product content/examples
- guided tour as browser-shell overlay/coaching layer
This avoids forcing all onboarding into either:
- a pure webview page disconnected from the product, or
- a pure tooltip system with no conceptual overview
Rollout Phases
Phase U0-01 Welcome Home
- add first-run intro/start page
- expose entry points for examples, network connect, tour, and help
Phase U0-02 Guided Tour
- add replayable step-based tour
- cover core shell and mode concepts
Phase U0-03 Help Hub
- add durable in-app help center
- ship overview, quickstart, troubleshooting, and reference sections
Phase U0-04 Tutorial Decks
- add local tutorial examples/lessons
- tie them into help and onboarding flows
Phase U0-05 Contextual Hints and Onboarding State
- add just-in-time hints
- persist dismissal/completion state locally
Acceptance Criteria (Program)
- a first-time user can understand what Waves is and choose a path within the first screen
- a user can learn the product entirely inside the app without external docs
- onboarding is replayable and does not trap returning users
- help/tutorial content is versioned and maintainable inside the repo
- onboarding/help features do not bypass engine/host boundaries or introduce browser-owned runtime state
Open Questions
- Should the intro page replace the current default start URL only on first run, or become the permanent home screen?
- Should tutorial content be modeled as local examples metadata, dedicated help content, or both?
- Where should “Help” live in the shell chrome for persistent discoverability?
- How much onboarding state should be remembered across app restarts by default?
- Do we want a future docs-export path from the in-app help content to external site docs?