Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building an interactive learning service

Building an interactive learning service

User onboarding is an important aspect of offering SAAS but as apps start to grow and add different new features, it can become a little complex for new users to navigate and discover different functionalities.

At Postman, we actively track feature requests suggested by our users to constantly add different features without hindering the original app experience, which can lead to some features staying hidden for our newer users.

To tackle this issue, we decided to build an in-app learning service that not only allows users to discover new features but also experiment with them in a guided, interactive manner without restricting them to a static path.

This talk would try to encapsulate:

- how we built the end to end service handling multiple variables and constraints.
- the integration complexities of a “user action-driven” service with a native app.
- how we made the end product exploratory without introducing any computation latency.
- how we introduced personalized learning for individual users.

I would also talk about why a dedicated onboarding/ learning service makes sense for SAAS products and things to consider when building one.

Deepak Pathania

January 10, 2019
Tweet

More Decks by Deepak Pathania

Other Decks in Programming

Transcript

  1. January 10, 2019 Skills • Roughly maps to features in

    Postman. • Can be acquired by completing “lessons” associated with that skill.
  2. January 10, 2019 Lessons • A group of guided steps

    that walks a user through a particular flow. • Generally maps to common use cases within the app.
  3. January 10, 2019 Lesson steps • Each individual step in

    any given lesson. • May or may not have explicit CTAs to transition to the next lesson step.
  4. January 10, 2019 Cool, but how do you point the

    tooltip at an element deterministically?
  5. January 10, 2019 What we learnt? • If your service

    stores information related to interface rendering, always build an abstraction on top. • Versioning should not be an after thought, things would change sooner than you can imagine, and you should be prepared for it.