Remote Config: Definition, Features, and Best Solutions
Remote Config is an approach that simplifies the deployment of apps to your target users. Well, if you are new to the term Remote Config, then you are in the right place! This article will tell you what Remote Config is all about, including how it works, the features, and even best Remote Config tools you can use for your app deployment.
Part 1: What is Remote Config?
Remote Config, also known as Remote Configuration, is a cloud-based service that allows app developers to modify or send app updates without publishing them on the App Store for user download.
This way, app developers can alter the appearance, and add, or remove some features on their app remotely without the app users downloading the new updates!
Part 2: How does Remote Config Work?
The remote config architecture can actually be broken down into four distinct blocks that communicate with each other, i.e, Remote Config, Mobile App, Remote Config Service Provider, and Backend Server.
- The backend server updates relevant configuration data in the Remote Config service provider (like a Firebase Remote Config) through automated scripts, the Remote Config provider’s interface, or via backend processes.
- The mobile app requests configuration data from the Remote Config service provider. This request is periodical and can be done regularly or through specific app events.
- The Remote Config obtains the relevant configuration data, often from a cloud-based database, and delivers it to the mobile app.
- The mobile app receives the configuration data and uses it to alter the appearance and functionality of the app accordingly. The appearance, features, and behavior of the app changes accordingly without the need for full update from the App Store.
Part 3: Benefits and Use Cases of Remote Config
Generally speaking, remote config enhances your ability to iterate your products rapidly as a developer plus you can improve your app performance. This is just the tip of the iceberg, though. Here are the benefits and use case scenarios of remote config:
1. Feature Rollouts
This is where you launch the new features only to a specific group of users before you fully roll it out. You can simply set condition values such that only a certain segment of users can see these new features. Once the feature has been approved by users, you can then roll out the full functionality.
2. Rollbacks and Emergency Fixes
The agility of Remote Config makes it easier to recall an app feature if it fails to impress the users, performs poorly, or develops some bugs.
Typical App Store review process takes between 24-48hrs to approve an app and can be more if it is rejected. Therefore, if the app has some bugs, recalling and fixing them can take more time.
With Remote Config, this is quick because you can edit the code from the server side and not from the backend. Since this process is fast, it becomes the best choice for rollbacks and emergency fixes.
3. A/B Testing
As a developer, you might want to test out which version of the features you want to deploy performs better on aspects like user engagement, revenue generation, and user satisfaction among others.
For example, if you want to add a new feature to your app, you might have to test out the look and feel from users in real time, like say color, size, and shape of icons among others. In this regard, remote config makes it easier to send out the options , say A and B and then you can assess the performance and pick the best one to roll out into production!
4. Personalization Needs
Different users have different needs and preferences based on aspects such as geographical location, age, and gender among others.
Often, there is a need to customize and personalize app features to meet their different needs.
With Remote Config, you can send cosmetically different apps to different user sections for customized and better user experience.
Part 4: Best Remote Config Solutions
The beauty is that there are actually a number of nice remote config tools you can use as a developer. Here are some of the best tools you can explore for your app deployment:
1Firebase
Firebase is a popular and powerful Remote Config solution by Google that lets you manage app behavior and appearance without the need to download updates. This AI-powered platform allows developers to simply change app parameters in the Firebase Console and the app’s interface and functions changes accordingly.
This tool provides real-time update features that make it easier to push changes in real-time and without downtime or delays. Since everything is managed from the Firebase console, the remote configuration process becomes quite simple.
Features
- It offers remote parameter overrides for app administrators to set parameters remotely. This makes it easier to make significant changes to the app.
- It supports real-time update configuration. This means that changes made through the console instantly reflect on the app.
- It supports user segmentation based on custom criteria like geographical location and user attributes among others.
- Supports A/B testing.
- It allows targeted rollouts so that the admin can gauge user response before full rollout.
2Flagsmith
Flagsmith is an excellent open-source remote configuration platform designed to offer an easy and convenient way to deploy new features across multiple environments.
It is a secure and robust platform that helps teams manage the way they release features and application configurations to apps. As the name suggests, it is largely designed to help with feature flags and analytics. It is also ideal for data-sensitive organizations because this self-hosted service quells those privacy concerns.
Features
- It supports scheduled flags to allow admins to toggle features on and off especially when dealing with time-sensitive features such as promotions and seasonal products.
- It supports gradual feature rollouts, A/B testing, and quick recall of features if they flop or experience bugs.
- It supports user segmentation so that configurations can be sent based on different factors such as environment or geographical locations.
- Better integration with various development tools like Datadog, Amplitude, Heap, and Jira among others.
- It supports role-based controls that only allow assigning of specific roles to admins and other users to ensure only authorized personal access and execute relevant commands.
3ConfigCat
ConfigCat is a hosted service that is specifically useful in feature flag and configuration management.
It is a cross-platform flag service that gives you a dashboard to turn on and off your features even after you have deployed the code. This makes it ideal for companies who love to quickly respond to customers’ needs or rather want a fast-paced development platform.
Although it is one of the best Remote Config solutions, its architecture is often considered as basic. ConfigCat doesn’t store user information, meaning that your application will need all user data to effectively evaluate flags.
This can be tedious and impossible. Additionally, it doesn’t provide enough usage analytics compared to other similar services.
Features
- It allows target user segments based on region, subscription, email, and other custom user attributes.
- It provides open-source SDK support for easy integration with mobile, desktop, websites, and backend systems.
- It provides Boolean-based toggles to enable and disable features across different environments.
- Supports integrations with platforms like Slack, CircleCI, and Datadog among others.
4Unity
Unity is a famous Remote Config platform for 2D and 3D app development. No wonder it finds extensive application in the gaming industry. It provides tools such as animation, rendering, and AI control that makes it easier to create immersive 2D and 3D experiences.
Unlike most other Remote Config tools, Unity doesn’t put more focus on feature flag management. Nevertheless, it allows users to make changes in real time based on certain user segments.
Features
- It provides no-code creation capabilities for 2D and 3D experience.
- It is built on top of Scriptable Render Pipeline that easily optimizes graphics across platforms.
- It can release or roll back game features in real-time.
- Its addressable asset system creates assets that are meant for specific content such as game elements.
- It has analytic features for measuring game’s performance and player behavior to help in refining the gaming experience.
Summary
In a nutshell, remote config is the best way for you as an app developer to enhance the flexibility, responsiveness, and user experience of your applications while reducing the need for frequent app store updates. The beauty is that there are many wonderful remote config tools in the market depending on your specific needs, such as the platform you're developing for, your existing tech stack and the likes. You just need to pick the tool that suits your use case and your budget!
Leave a Reply.