Consider this scenario: you’re an app developer for a shopping app. You wish to add new functionality to this app, for example, a new chat feature but you’re not certain how it’s going to affect user experience and usage. You want to be able to test it to see how things go in production before moving forward with a full release.
This can be done through remote config, where you can add this new feature to your app and release it to a small percentage of users for testing. If any issues occur, the feature can be easily disabled remotely without going through the App Store review process.
What is remote config?
Remote config, or remote configuration, is a software development technique that allows you to modify certain features of a mobile app remotely without having to do a full app update or deploying a new version of the app to the App Store.
This is done by defining parameters in the remote config interface and then setting default values for these parameters in the app. These parameters are used to define the configuration values that will be used in your app.
Then, you can just change the values to app behavior from a remote server without the need to re-deploy to the app store. Remote config can then download the updated values the next time a user accesses the app.
We can imagine the implementation process as follows. Firstly, you will need to define which aspects of your app behavior you wish to modify through remote config, which can then be translated into the parameters you will use in your app.
Then, you set the in-app default values for the remote config parameters. Your app can then fetch parameter values from remote config to activate them. With that, you can define user segments and release new features to validate improvements without any app update required from your end
Rollouts and rollbacks
Remote config allows you to make changes to your app’s behavior. It gives you an easy way to roll out new features since you can control your app remotely. You can control which users get access to these new features based on several criteria such as location, for example.
Then, you can make immediate changes to your live app in production without going through the lengthy App Store approval process.
This is especially beneficial when you’ve just rolled out a release but you discover a bug so this way you can fix this bug and make the necessary changes without worrying about waiting for approval. Such App Store approvals usually take hours, which is time you cannot afford to lose with your users.
Consequently, the most obvious benefit of remote config is the power to make instant changes without having to publish an app update.
Remote config, as we’ve seen, can be used to enable and disable certain parts of your features for a subset of users by delivering different values to random users. This means it can be used to present different variations to certain segments of your user base.
Therefore, a segment of your user base, say 10%, would be given a new user experience while the remaining 90% are presented with the original experience.
Remote config and feature flags
Remote config can be implemented through feature flags. These, in turn, can be switched on or off while deciding who gets to see the new features without rolling out an update in the App Store.
With feature flags, new features can be wrapped in a feature flag and can be remotely turned on or off, allowing flags to be activated based on specific user profile. As a result, feature flags have become a staple in mobile development best practices.
Therefore, remote config allows you to provide a percentage of your users with customized content to give them experiences based on their preferences. It also lets you provide changes faster resulting in higher quality releases.
Simply put, remote config gives developers the ability to experiment with the look and feel of their app remotely giving them more control and flexibility over the app release process.
And all of this without needing to do a full app update or publish a new version of your app.
As a cloud-based feature management service, AB Tasty enables you to wrap your features with flags. Afterward, you remotely configure your flags from the server-side dashboard, allowing you to enjoy the flexibility of remote configuration at scale.