Behavioral product strategist and gamification designer. This is my public hypertext notebook, sharing my thinking in motion at various stages of development.


Help the user to recognize situations for functionality usage

User goals change over time as User skill level increases over time so being aware of the situations in which features are useful means you know when you need to learn how to use them.

Due to principles of Difficulty Matching, we know that if we ask a user to learn something too advanced early in, they will likely get frustrated and give up. This is a common problem with Notion and Roam users: they see people using the applications in advanced ways near the beginning of their experience and they think that they have to implement everything right from the start.

These users would have far better outcomes if they simply operated at or slightly above their skill level to accomplish their current goals, but were aware of what could help them accomplish their future goals so they know what they can learn when those goals arise.

Let's take the example of learning queries in Roam. Nobody needs to learn queries in their first week of usage. The most successful app adoptions come from a project, so we don't want users to try to learn queries as some abstract feature. Ideally, when the user starts a project that requires queries, they would recognize that queries would be useful and learn them at that point in time.