Behavioral product strategist and gamification designer. If something seems incomplete, it probably is. These are ideas in motion, so I'm iterating on every page as I go.


People start using an app with different prior skill levels

One of the companies I work with, GuidedTrack, is a simplified programming language that allows subject matter experts to create web applications, interactive slideshows, and experiments with no prior coding skill. Since it's all done through text rather than a GUI like Qualtrics or Google Forms, it speeds up program construction and gives it some extra power.

If someone starts using it with prior coding experience in any language, they probably already understand core concepts like "use indentation to build on or modify what it's indented beneath." They already know that fixing error codes is just a part of coding and not something to be distraught over.

People with no prior experience coding have an entirely different set of mental models. They come to us having used drag-and-drop building platforms like Wix, Typeform, Powerpoint, and Google Forms. They see text as a vertical sequence of paragraphs with no indentation. If they are trying to operate GuidedTrack in the way they work with Typeform, they experience frustrating Failure states.

GuidedTrack is incredibly easy to operate once you build the appropriate mental models.The initial onboarding experience is there to show low level users how they are capable of accomplishing their goals using the app. See: Expectancy Value Theory.

However, we can't ignore that User skill level increases over time and eventually they'll be as skilled as those with prior coding experience. A UX geared exclusively towards low-level users may have trade-offs in functionality and efficiency for high level users. If we ignore those high level users, then we'll lose them.

This is where the principle of Difficulty Matching comes into play - we need to make sure both low and high level users are given experiences that match their ability, and we need to increase the user's skill over time through Continuous onboarding.