The initial experience that establishes mental models and demonstrates value, transforming a person into an active participant.
New to the service
Onboarding is the moment where a person becomes an active participant: they learn what kind of system this is, what actions are possible, and what will happen when they act.
- Seeding: Show locked/greyed-out features early to build a mental map.
- Just-in-time: Teach mechanics only when the user is about to encounter the problem.
- Sandbox: Allow safe failure during the initial learning phase.
- Establish role and goal: who the user is in this context and what “success” looks like.
- Orient the user: what objects exist, where state lives, and how to navigate.
- Make constraints feel intrinsic: communicate limits in the language of the domain, not as arbitrary rules.
- Support safe exploration: drafts, undo/redo, previews, and “try it” spaces.
- Make agency legible: if automations/bots will act, show what they can do, when they’ll do it, and how to override.
- Delivery mechanisms: Guided tours and overlays introduce features without requiring pedagogic commands.
New or updated feature
New capability is a change in context: it can be delightful, but it can also break common ground and disrupt ongoing work.
- Preserve continuity: keep existing workflows working; avoid surprise changes to established affordances.
- Announce what changed and why: connect the feature to the user’s goals.
- Let people defer and return: make discovery asynchronous and non-blocking.
- Provide reversible activation: opt-in, “try it”, or easy rollback to prevent fear of commitment.
- In collaboration, coordinate participants: show who will see the change, how shared state is affected, and what new expectations exist.
Generative onboarding
Two approaches to getting users started:
- Traditional: show empty state → teach tools → user creates from scratch (learning then doing)
- Generative: ask for intent → generate draft → user refines (observing then refining)
Generative onboarding lets users learn by editing working content rather than creating from nothing.
Joining systems in use
In actively used systems, new users face a third challenge beyond “how does this work?” and “what can I do?”—they must also understand what’s already here.
Configurations, workflows, data structures, and naming conventions created by predecessors embody institutional decisions. Without context, these can appear arbitrary or confusing.
- Surface institutional decisions: Why was this configured this way? What problem did it solve?
- Connect to domain rationale: What real-world constraint does this structure reflect?
- Enable archaeology: Let users trace how things came to be—history, authorship, related changes
- Identify local conventions: What naming patterns, categorisations, or workflows are established here?
This is domain learnability applied to accumulated context. The system holds knowledge not just about the domain in general, but about this organisation’s relationship to the domain.
Resources and references
- Andy Matuschak (2025). How might we learn? – tractable immersion and learning through authentic contexts
- GOV.UK / Help users to start using a service
- GitHub Primer / Feature onboarding
- GitLab Pajamas / Feature discovery
- Apple HIG / Onboarding
- Luke Wroblewski / Let the AI do the Onboarding
- Brenda Laurel (2013) Computers as Theatre, 2nd ed.
- Carroll, J. M., & Rosson, M. B. (1987). The Paradox of the Active User
Related patterns
Enacts
- Learnability — the actor's first climb up the learning curve, deliberately shaped
- Adaptability — scaffolding that adapts to the newcomer, heavier at first and fading as competence grows
- Temporality — the early, high-slope phase of the actor's arc with the tool
Complements
- Localization — first-run locale detection and selection
- Next-best action — next-best action as guided first-use experience
- Help — provides just-in-time assistance.
- Settings — settings can be introduced gradually during first-time experience
Tangentially related
- Progressive disclosure — stretches disclosure across an initial learning journey rather than a single view
Related
- Good defaults — Often sets the initial state and defaults for the application
- Activity log
Enabled by
Hosted by
- Empty state — the empty state is often the canvas onboarding builds on
