Progressive Onboarding
Teach each capability at the moment it is needed instead of all of it upfront.
The problem it solves
Front loaded onboarding asks people to learn twelve concepts before they have a reason to care about any of them. Almost none of it survives to the moment it matters.
The default instinct is to explain the product at the door. You have the user's attention once, so you use it. The trouble is that instruction only sticks when it attaches to an intention. Teaching keyboard shortcuts to someone who has not yet created a single item is teaching a language with no nouns in it.
Progressive onboarding splits the teaching across the first weeks and triggers each piece off behaviour. The rule is simple: the lesson appears the first time the user is close to needing it, and never before.
- 1List everything you currently teach on day one.
- 2For each item, write the moment in the product where a user first needs it. If you cannot name a moment, the item is not onboarding, it is trivia.
- 3Define a trigger for that moment in terms of state and behaviour, not time. Third task created, first file over 20MB, second teammate invited.
- 4Cut everything from day one except what is required to reach first value.
- 5Attach the rest to their triggers, one lesson per trigger, dismissible and never repeated.
The discipline lives in step four. Teams agree with the theory and then keep the original flow anyway, adding the triggered lessons on top. You end up teaching twice. The point is to move the teaching, not to duplicate it.
Front loaded
- A seven screen walkthrough before the first screen.
- Here is how sharing, permissions, exports and the API work.
- Shown to everyone in the same order.
- Measured by completion of the walkthrough.
Progressive
- One screen: what do you want to do first.
- Sharing explained the first time someone opens the share menu.
- Order follows what the user actually touched.
- Measured by whether the capability gets used after the lesson.
Worked example
Rowan, a scheduling tool
Rowan taught buffer times, round robin and payment collection in a five step welcome flow. They moved each one to a trigger. Buffer times now appear the first time a user books two meetings back to back. Round robin appears when a second host is added to an event type. Payments appear when someone types a currency symbol in the event description. Day one shrank to one question and one booking link.
One constraint keeps this honest. Cap the number of triggered lessons a user can see per session at one, maybe two. Without a cap, every team ships their own trigger and the product turns into a product that interrupts you for a living.
When it fits
- Products with many capabilities where a new user needs only two or three of them in week one.
- Tools used repeatedly over months, so there is time for later lessons to land.
- Teams that can instrument state and behaviour well enough to fire triggers reliably.
- Products where different roles need different subsets, so a single linear flow serves nobody.
When it backfires
- When teams add triggered lessons without removing the upfront flow, so users get taught the same thing twice.
- When triggers fire on time rather than behaviour, so a lesson about collaboration appears on day three to a solo user.
- When there is no global cap, and four teams each ship a well designed interruption that lands in the same session.
- When the product is used once or twice a year, such as tax filing, where a later lesson never arrives.
Products using it
Slack
Features like threads and channel notification settings surface through contextual hints near the relevant control rather than in a first run tour.
Google Docs
Suggesting mode and version history stay out of the way until the document has collaborators or edit history to show.
Superhuman
Shortcut prompts appear alongside actions taken by mouse, teaching the keyboard equivalent at the moment of use.
The psychology under it
The takeaway
Move each lesson to the first moment it is needed, and delete it from day one rather than teaching it twice.
Finished the teardown? Bank it and the day counts toward your run.
