Question

With web apps, I like the idea of a partial production release, where we have, say, 5 server nodes behind a load balancer, and the new code changes only get released to 1 or 2 of them. If a bug exists, it helps minimize customer impact and it is quicker to backout (IMHO).

But what if we're talking about mobile apps (actual native binaries, not mobile web apps)? Android, iOS, BlackBerry, Windows Phone...do these marketplaces support the concept of partial releases at all, whereby only a small portion of customers can download the release?

If not, can anyone think of a hackalicious way to accomplish the same? I'd even be willing to do something where, if we have 1,000 customers, we allows up to 50 of them to sign up for a "Sneak Peek Release" of the new app version. Then we'd only have to figure out how to give those first 50 registrants exclusive access to the new version.

I'm up for anything, as long as there's a way to only release new native binaries to a small percentage of the total customer pool, and then release to the entire pool at some point in the future. Thanks in advance!

Was it helpful?

Solution

The apple app store won't allow this. I would suggest that every time you get a bug report or feature request ask them to become a beta tester. Collect as close to the 100 allowed as you can and just do big beta pushes with new features and you at least know they are users who care enough to give you reports. This will be a lot more work but it'll give you a safe way to do real testing before pushing to everyone.

On Android you may be able to fake this by releasing your app on multiple app stores and only updating one of the stores at a time. Again this will be a lot of work if you only intent on supporting Google Play.

OTHER TIPS

Facebook has a system called gatekeeper that it used internally for their mobile applications. It allows the company to release new features by gradually enabling UI elements for their users, If you know feature toggling it is very similar.

Google Play has a staged rollout solution for gradually releasing new version (a complete version) you can control the percentage of users that will receive the app's new version. (read more)

Regarding Rollout.io: (Disclaimer, I am a co-founder)

Rollout.io is built allow you to control your production environment from the cloud, it is currently focused on solving bugs in production. We have some customers using it for feature toggling, remote configurations and A/B testing. Check out our video and site for more details.

We are currently in beta stage and adding new users gradually (let me know if you need a bump in the queue)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top