As an app developer it is hard enough to create your app, test your app, prep the app store listings, and then get your app approved. The last thing you want to think about is how fast or slow to roll out your app and updates to users. For the past 10 years all I have ever done was just release the app to everyone all at once, and for a long time this all that was available to us. However, now there are options for developers from both Google and Apple that can manage your release. Unfortunately, Google's staged rollouts and Apple's phased release aren't exactly the same, so let's talk about them.
Why a phased release?
Because we don't want a bunch of 1-star reviews if things go wrong 😉. I joke, but it is true that one of the reasons is that we don't know if something is going to go wrong once the app is released. If you are like me, I do rigorous testing in development and through Test Flight and Google Play's internal testing. However, I don't own every single device out there and I don't know the state of the current app on each user's device. Once an app update is out, there is no undo button, there is no taking it back. Therefore, planning a phased release or staged rollout is important. We can release the app to limited number of users each day and get real-time feedback from analytics, support emails, or even app store reviews. It is better to handle these problems in a limited scope before it gets out to all users. The downside is that you will need to plan your release and updates at least a week ahead of time, but eventually as your app grows it is going to be worth it.
Apple Phased Release
For iOS and Mac apps Apple has the ability with one radio button to flip on phased released when you submit your app for review. If you have it set to manual release you can also change it after the app has been approved. Apple phased releases are very Appley, which means it is well thought out, but you have very little control over exactly how it is rolled out. When you turn on phased release your application will be fully rolled out over 7 days to all your users at increments of 1%, 2%, 5%, 10%, 20%, 50%, and 100%. At any time, you can pause the phased release.
One percent is a small number for the first day especially if you don't have a large install base. I recently did this rollout for My Cadence, and it meant that around thirty-five users got the update on day one. Seeing that my app isn't used every single day and a user needs to do a bike ride, who knows how many people used the update. It really isn't until around day 4 that my sample size had increased to around 350 users and I could check my app analytics to see if upgraded users are using the app and if crashed are occurring.
At this point I would have liked to pause for a few days, monitor the app, and then continue with the release, but that is not an option. The phased release continues and increases the user base fast. I understand why Apple limits the rollout, but a tiny bit more control would be nice.
Now, what if you are a few days into a release and decide the update is good to go and you want to release it to all users. Don't worry, Apple has you covered with a big release to all users button. If you have a large user base, you may end up using this option by day 3 or 4 because you should have the data you need.
Google Staged Rollout
As I mentioned earlier the two companies have similar features but work completely different. Google's approach feels super Googley. They give you 100% control with extremely limited guidance and no restrictions at all. You enter a number into a box and away your staged rollout goes. You can start with any percentage you would like, and they give you an estimate of how many users will get this update. From there you can let it sit at any percentage for as long as you would like. You can update the rollout percentage 1% at a time or set it to anything you would like. Once you set it to 100% it is fully rolled out. This approach is genuinely nice because you can rollout the release over any amount of time, but it is a 100% manual process, which is not super fun. I ended up doing 20%, 40%, and then 100% over a week.
Each app store has its own advantages and draw backs when it comes to phased releases. If you take a bit of time to plan out your releases, you can save yourself some headaches if something goes wrong.
Listen to the podcast
Frank and I recently had this very topic on our podcast Merge Conflict. Take a listen.