As a longtime Duolingo user, I’m thrilled about the imminent changes to its approach to ordering its lesson content. Duolingo is moving away from its ‘tech tree’ approach to a more ‘Candy Crush’ arrangement for its learning content.
Whether this is a good idea or not is not the point of this post, personally, I’m looking forward to trying it out when I get it. Others who already have the update have expressed disgust and delight at the entirely non-optional changes that have already been made to their app experience.
The point of this post is that I do not yet have this massive update on my app, and other Android users do. This is an example of a phased rollout of a change via Rings. The time it takes for the update to reach your phone depends entirely on what Ring you are in.
The idea is to slowly increase the percentage of users exposed to the original experience from 0% to 100% and manage the rollout in stages. Roll it out to Ring 0 (small group) then roll it out to a larger Ring when the going looks good, and then keep expanding the number of users that are included in subsequent Rings until the rollout is complete and everyone sees the new experience.
Why? A few reasons.
The update might fuck up: Better to have a smaller percentage of your userbase experience a botched update than 100%. You can just roll the people back to the original experience and try again without affecting your whole user base.
Test Server Stress: You can see how the new experience affects overall stress levels on your servers in phases, and gauge whether you can actually handle 100% of users at the new stress levels.
Manage the Stampede: People are usually keen to try new things, and while it’s generally good that people are keen on your app, it’s also bad if an unseasonally large amount of people flood the service at once. Rings spread out the demand over a longer period of time.
So we can see why gradually phasing everyone over to the new experience can have some benefits. But there are some downsides to the Ring approach.
Incompatible Social Features: Duolingo’s social features (leaderboards, friend quests, pokes) need to be managed in such a way that users on the old experience can either interact with people on the new experience in a way that makes sense in both experiences or somehow ringfence the two user groups from each other until the rollout is complete.
Note that features that cannot be different for any two users (e.g. matchmaking algorithms and multiplayer gameplay) usually cannot be phased using Rings.
Size of change: For many smaller changes that are rolled out in Rings, such as minor changes to sales flows and font colours. Users may not even notice or care that their experience is different to someone else’s. For the Duolingo case, such a fundamental change to how the app works must be handled with extreme care.
Do not just start rolling this thing out overnight. Announce it months in advance and bring the community with you. Not everyone will like the changes, but they’ll like them even less if they come without warning.
Duolingo messaged its upcoming changes through its internal news feed and other social channels in the run-up to the rollout. This will also be a massive week for your social and community teams, so make sure that they have a game plan and the resources to execute it!
As for Duolingo’s other core systems? We’ll save that for another time. Have a good one!