How to design a great streak

A simple method for adding a streak to your digital product

I introduced you to Streaks element in the previous article.

Since then I’ve already had emails from some of you wanting to use them, which is great! 👍

The good news is that if you are thinking about adding a streak to your own product then this issue is for you.

I’m going to share with you a simple method for designing a streak for your digital product, provide a few tips for better streak design, and accompany these tips with some examples.

Let’s do this!

A method for streak design

Here’s a simplified method for thinking about streak design.

This method breaks down the process of designing a streak into three steps:

  1. Identify a regular behaviour 🔎

  2. Find an accurate way to measure the behaviour 📐

  3. Add a streak counter to motivate ✅

Let’s talk about each of these steps in detail.

Step 1: Identify a regular behaviour

The first thing you want to do is to identify the regular behaviour you want to promote. The behaviour will essentially be a new habit that you’re trying to encourage using a streak.

Let’s look at examples all based on existing apps with streaks:

  • Duolingo helps you learn a language. The behaviour it promotes is to practice learning a language everyday.

  • Apple’s Activity app helps you keep physically active. The behaviour it promotes is to move, exercise and stand everyday

  • Snapchat is a social media app that lets you send temporary messages and photos to friends. The behaviour it promotes is to interact with friends everyday

So with this in mind, start by identifying two things, the behaviour you want to promote and at what interval you’d like that behaviour to occur.

Don’t worry if it’s a big, abstract behaviour like exercise everyday, as we’ll drill down into the specifics of what that behaviour means in the next step.

Step 2: Find a way to measure the behaviour

The next step is to take your behaviour and turn it into a very specific goal that you are able to measure.

Take exercise every day as an example. 

If you want to promote daily exercise how do you know when this goal is complete? More specifically, how does your software know when you have completed your daily exercise? 🤔 

You will need to determine very specific rules that outline the requirements for the streak. For exercise, it could mean reaching 10,000 steps every day, or it could be undertaking 22 minutes of moderate-intensity exercise each day (which is exercise that takes your heart rate to generally 50%-70% of your maximum heart rate). 

Working out how to measure your behaviour can get complicated quickly! 

You’ll need to work out a way to accurately measure the behaviour given best-practice recommendations and your technology limitations.

Let’s return to the examples to look at how they measure their streak behaviour: 

  • For Duolingo, practice learning a language everyday can be turned into completing one lesson every 24-hour period starting at 12:00am each day.

  • For Apple’s Activity app, stand every day can be turned into standing up at least 12 times a day for 1 minute in each 12 hours, every 24-hour period starting at 12:00am each day.

  • For Snapchat, interact with a friend everyday can be turned into sending a Snap to each other every 24-hours for more than three consecutive days starting at 12:00am each day. 

You may need to get even more specific when you’re defining the way to measure your streak behaviour (e.g., how long is a language lesson?). The more specific you can get the better, as it will be easier to implement in your software.

So try and work out what the specific rules are for your streak that you know you can measure accurately.

One last thing to consider is what if there is no way right now for technology to measure the behaviour you want to promote? 

In this case you can do what the Streaks app does. In this app it’s mostly up to the user to manually record whether they have completed the behaviour or not.

Streaks App (Source: Streaks App Website)

There are drawbacks and benefits to allowing you (or another person) to manually enforce the streak behaviour, but in some cases it might be the only way to do it.

Step 3: Add a streak counter to motivate

Once you’ve identified a way to measure your streak behaviour it’s time to visualise the streak.

It could just be a matter of having a large streak counter somewhere on your interface and the word STREAK! above it.

BAM! Streak done.

But beyond that, there are three other things that I find worth considering when bringing your streak to life:

  1. Goals: Is it clear to the user what must be done to achieve a streak?

  2. Feedback: Is there feedback to the user when a streak is achieved? Is it clear what does, and does not, contribute to the streak? 

  3. Progress: Is the streak counter visible? Is there a sense of progress towards completing, and continuing, the streak?

Duolingo does a great job of supporting these in their interface. Have a look at the image below to see some of these in action.

Also, how good is the icon for the streak?

So it’s time to get designing! Visualise your streak counter and consider how you can show goals, feedback and progress to the user.

Summary

That should help you get started with designing your own streak.

To make it a little easier for you, I’ve summarised everything into the following image which you can use to kickstart your own streak design.

You can stop there but if you’re feeling extra adventurous then in the next issue of this newsletter I will show you some ways to make your streaks even more motivating and user-friendly.

See you then! 👋


Have you got a question about streaks that you’d like to ask? Or maybe you’d like to see another gamification design pattern featured? Email me!


If you found this post valuable then consider sharing it with someone who you think might also get value from it. 🙏

Previous
Previous

The secret to Wordle’s success is… emojis? 🤯

Next
Next

How streaks motivated me to exercise 100 days in a row