Building apps is complicated. There’s planning, design, development, deployment, customer service, marketing, legal considerations… Yikes! There are also many additional layers of pervasive challenges: How do you keep people engaged? What’s the best way to onboard new users? To navigate the treacherous waters of user psychology and gloss over answer the hard questions, many have turned to a buzzword that has now become notoriously vapid: gamification.
Contents
Buzzwords: A Necessary Evil
Words like “cloud” or “real-time” usually start out with good intentions. They help us coalesce loosely connected ideas into common vernacular so that it’s easier to communicate large sets of granular details. The strength of buzzwords is also their downfall: A word becomes a “buzzword” when it gets used too broadly, eventually becoming vague and meaningless. A buzzword is like a brilliant star destined to go supernova and become a cloudy nebula. Here’s a video that shows what that process looks like:
In my opinion, gamification hit the “cloudy nebula” phase some time ago. Gamification is generally the idea of applying gaming principles to non-gaming contexts, like software, marketing, business, and basically anything at this point. In other words, it’s an attempt to turn something boring into something fun. I think this is a great idea if the game mechanics (sets of rules) are used to produce gameplay (specific interactions). Unfortunately, the popularity of gamification has misled many to believe that it’s all about XBOX-like achievements and high score leaderboards without any thought behind their purpose. Gamification has been abused, but there are still lots of positive examples. Indeed, Treehouse uses familiar gaming concepts like badges and points. When you earn a badge, it’s tangible evidence that you’ve successfully completed a course. When you earn points in a subject area, it helps to quantify knowledge for yourself and others. For example, when a student’s points are displayed next to their name in the forum, it’s more than just a high score meant for bragging rights. Rather, it serves as a leading indicator of how knowledgeable that person might be. We’ve had lots of ideas at Treehouse similar to badges and points, but we only work on ideas that we think will actually help improve the efficacy of learning. Badges and points are fun, but more importantly, they’re meaningful.
Gamification Lessons from the Game Industry
Continuing the cosmic comparison, I think we can take the gamification nebula and make a new star out of it by learning from people that actually spend their time making games. It sounds like obvious advice, but learning about an area of study outside your industry and then remixing them with your own work is a great way to create something new and original. If you understand how game designers think, it can help you look beyond the surface details of gamification and understand the inner workings. Game design is a massive topic, but legendary game designer Will Wright (creator of SimCity, The Sims, and Spore) wonderfully articulates some of the more interesting complexities of modern games. There are lots of talks from Will Wright on YouTube and I recommend you learn as much as you can. However, Wright’s talks can be a lot to digest at first, so at the risk of introducing all new buzzwords, I’d like to summarize some of the ideas he shares and explain how I think they apply to building apps.
MENTAL MODELS
Mental model is a term that describes one’s thought process about how something works. For example, I don’t know much about civil engineering, so my mental model of how pipes work in a city looks like something out of Super Mario Bros. However, I do know a lot about computers and websites, so the mental model in my head is probably very close to the reality. It’s still just a model though.
Models can help you fill in information gaps. As a thought exercise, think about what happens when you leave a room in your home. You can safely assume that the furniture doesn’t come to life and prance around. However, you can’t really prove it to yourself unless you go back in the room to check. Your own home is an example of a very refined mental model because you’ve had a lot of opportunity to interact and test assumptions. You can confidently fill in the missing information even when you’re not there. In web and mobile apps, models set up expectations that ultimately manifest as user behavior. The user has an idea about how your app will work, so that’s how they interact with your app. As they poke and prod, their mental model will become more closely aligned with the reality of the app you’ve built. As Wright smartly points out in many of his talks, people start forming ideas about a game just by looking at the box art. The same principle can be applied to landing pages and marketing for your web or mobile app. You should strive to set expectations that match the reality of the experience. If you’re selling a mobile app, the screenshots in the app store should give users a pretty good idea of what using that app will be like. Copy that uses familiar terminology can also help shape the user’s model. For example, the team at Treehouse talks a lot about how to name various functions of our service so that people can understand what we’re providing at a glance. Should it be called a course, lesson, syllabus, tutorial, project, deep dive, workshop, etc? What does a user think your app will do before they’ve tried it? With every new page and new interaction, their model is being refined.
LEVELS OF ABSTRACTION
The level of abstraction describes the amount of detail in a system. The highest level encapsulates the entire system, while the lowest level describes the most granular constructs. As you might have guessed already, this idea relates to models.
For example, when I think about how a web browser requests data from a server, my mind leaves out unimportant granular bits like the electricity flowing through the wires or lightwaves hitting the user’s retinas. These are certainly still things that physically happen sometime in that process, but they’re abstracted away in favor of a simpler and more digestible thought process. When providing customers with an explanation of your app’s functions, the level of abstraction should match the task. People like using Google Maps to browse the world’s geography with detailed satellite imagery. However, if they need to get driving directions, it’s better to use the map view. Even though it has less visual information, it’s vastly more useful because the level of abstraction is tailored to the goal. Too much information makes it difficult for the mind to parse with any speed. Levels of abstraction can be applied to many different aspects of apps, but if you’re onboarding new customers, this is especially important. Do you show them the most granular task first and allow them to work their way up to higher level goals? Or, do you first show them the grand scheme of things and then break it down step by step? Does it make more sense to trickle out these details slowly or is it better to put it all in one big user manual? There’s no right answer here, so be very sensitive to the context and mindset of your target audience.
Feedback Loops
When you interact with something in the world, you constantly digest feedback and refine your understanding. In video games, you mash some buttons and watch what happens to your avatar on the screen. Maybe your character moves around and jumps. Learning about the controls isn’t enough to win the game though, so next you learn how to jump onto various platforms and collect items. Then later on, you can apply the different tactics of running and jumping into a cohesive strategy that will help you beat a level. And so on and so forth… This cycle of behavior and reward can be described as a series of nested feedback loops, with each loop taking slightly longer than the last. On Treehouse, you can earn some points by watching a video and completing a code challenge. After you do a few of these, you earn a badge. After you’ve earned a few badges, you might have built a complete project. Once you’ve built several projects and helped students in the forum, you have a lot of points and badges that can help lead to employment. Each level of reward builds on the last and simultaneously drives the next. Video game designers are very good at this sort of thing, because when people play, they just want to kick back and have fun. With the exception of board games, most games have to teach you how to play while you are playing. In web apps, I think this is an excellent way to shape the onboarding experience. Get the momentum going and then help the user pick up each nested goal state along the way. I also think it’s the best way to keep users engaged. It’s not enough to give them one thing or even many things to strive for. Instead, it’s much more interesting to create a series of connected goal states. That way they’re not just grinding out the next few rewards. Rather, they’re reaching for the next goal by standing on their own accomplishments, which can evoke a tremendous sense of pride.
Gamification is an extremely broad and muddled subject at this point, but if you have any clarity that you’d like to share, I’d love to hear about it in the comments!