I'm learning more and more that a user's expectations going into an app are key. When I started playing a game like Dark Souls, I had the full expectation that I was not going to be able to overcome every enemy that they throw at me. When I experience a Failure stateFailure state
Index
Intentionally design for failure states
Difficulty Matching
, then I will blame my own lack of skill instead of blaming the game for being too challenging. Difficulty MatchingDifficulty Matching
The emotional experience of Flow
A flow state is often characterized as optimal human experience. It’s an experience where you are fully focused and energized in what you’re doing, often experiencing a high level of creativity and losing track of time.
The general emotional experience that is being described here is that when a task is too challenging for a user’s current level of ability, they’ll get frustrated and give up. Alternatively, when the task is far too easy, they are likely t... happens through prompting the player to increase their skill to the level of challenge provided by the game.
Similarly, when I started using Roam, I would often come across challenges and rather than getting frustrated with software's limitations, I recognized that there was a way to accomplish my goal that I just needed to figure out.
At this point, I've been using Roam for quite some time. I understand its mechanics at a deep level, so when I come across a new challenge, I can usually see how I can combine its functionality into how I achieve the goal. At this point, the onus is on me to simply figure out the solution. Roam is a remarkably flexible application, so most of the time I'm happy with this.
However, the issues come when I'm not able to see a good solution to my problem. The solution either doesn't exist or requires far more effort than should reasonably be expected of the user. Rather than blaming my own lack of skill for not being able to implement a good solution, I'm blaming Roam's functionality and UX.
User goals change over timeUser goals change over time
A user’s goals 1 week into using your app and 6 months are rarely the same. “Elder users” often won’t even retain the goals that they had at the start of their experience. Apps with continued user involvement enable the user to accomplish multiple goals to maintain users through full goal transitions.
New users do not yet have the vocabulary to understand the app. User skill level increases over time, giving the user new vocabulary to conceptualization and express desires that they didn’t ha... as User skill level increases over timeUser skill level increases over time
Imagine that you have just started to use Excel or Photoshop. Both of those apps have an insane amount of functionality, and it would be unreasonable to expect the user to understand what is possible and how to do it immediately. Over time, with continued User Involvement, they will simply grow more comfortable with the app.
The most successful app adoptions come from a project, because they give the user a reason to increase their skills. As they work on their projects, they'll bump up agai.... Their new skills allow them to recognize new situations where they could use the application or conceptualize new use cases altogether. Apps with continued user involvement respond to changing user goals over timeApps with continued user involvement respond to changing user goals over time
New users do not yet have the vocabulary to understand the app, but as User skill level increases over time, so does their vocabulary. They are able to conceptualize and express desires that they couldn’t express before, so User goals change over time. If the app can only handle the user's goals 2 weeks in but not 2 months in, then it can't expect the user's continued involvement.
This points to the importance of Continuous onboarding for Difficulty Matching. If the user's skill level doesn'.... Eventually, a user's skill level will reach the limitations of the software's capabilities. Once their personal expectation that increasing their skill level will solve their problem ceases to be true, the user's continued User InvolvementUser Involvement
Imagine purchasing a gym membership in order to lose weight or grow more muscular. Having a gym membership is not enough on its own! In order to successfully accomplish that goal, you would need to work out regularly on the right muscle groups. You might have a higher likelihood of success if you participate in exercise classes or hire a personal trainer. Your outcomes are shaped by your own behavior in the gym.
User involvement is defined by the set of user behaviors that lead to experienci... becomes vulnerable to competition. This happens sooner with some products than others; apps craft their own possibility space.
So this is really about goal achievement - when the user is unable to accomplish their goal in a satisfactory way using the product, whose fault is it? Is it the product's lack of functionality and ease, or is it the user's lack of skill?
See: Satisfy the social contract between the user and the appSatisfy the social contract between the user and the app
This is about optimizing for User Involvement within the context of what the app can do. The user needs to exert effort into making the app work for their needs, and the app needs to reduce the effort required and make the effort worthwhile. The social contract between the user and the app tends to work best when the app is transparent about what user involvement is necessary so the user can make an informed choice that they internalize as self-motivated.
This is worthwhile to the app becaus...