What if you had the ability to change the behavior and appearance of your app with no code? With zero engineering effort, you are able to add new layouts, change color themes, modify widgets and icons, remotely without an app update. This depth of configuration is possible with configs, or as we at Hansel call it – Deep Configs.
What are Deep Configs and how they work?
Using Deep Configs, you can change the default values in-app, that control the behavior and appearance of your application. It abstracts your code and its data into values, that can be tweaked in real-time. To get started you have to identify and define aspects of your app as parameters that can be altered using these configs. For example, you can define a button that has two parameters, color which is red by default, and text as “Coming Soon”. When your app fetches these parameters, their default data is reflected, until new values are activated by the config, which overrides the previous value (thus enabling remote configuration).
What makes Deep Configs special?
Over the years, developers and businesses have defined their products and built their service around web and app configs that follow the standard protocol of push to prod or app update deployments. Hardcoded with limited options for optimization, these configs are a far cry from the flexibility and extensivity of Deep Configs. So how is this little piece of tech different?
Bloaty Code, Now a Thing of the Past!
Configs, in today’s use, are defined as key-value pairs that only have text, number and JSON capabilities (as in the case with Google’s Firebase Remote Config). At Hansel, each config is a key-data pair, which lets businesses configure everything from complex JSON and Lists, to Colour and Image. Key-data pair over key-value pair eliminates long lines of code for interpreting the values from key-value stores. This results in less bloaty code, reduces the need for releases and transforms formerly static code into manipulable, configurable lego blocks.
Gatekeeper of Your Digital Product
You can define parts of your code with Deep Configs, or populate the entire product architecture with it. Doing this allows you to employ Deep Configs as a gatekeeper of your code, your product, and its features. Backend integration with Deep Configs unlocks an array of new functionality, for example, you can distribute granular access to test environments or other sections of your app within your business, with just a click of a button.
Experimentation Made Easy
When businesses conducted A/B tests before, they were forced to work with large blobs of code for each experiment variant. Owing to the excessive file sizes, and eventual cleanup of underperforming variants, this process was labor-intensive. Although there are a number of SaaS platforms that currently offer to address this challenge, Deep Configs can also play a role in building A/B tests – adding a config to enable experimentations is as easy as adding an analytics event for tracking user actions. It ensures a one-code flow with no clean-up after, irrespective of the number of test variants created. Multiple configs can be brought together to work as modules, that help build complex test variants and enable tests over multiple configs (rather than just individual configs).
Feature Flags vs Deep Configs
Feature flags, aka feature toggles, are an industry favorite; they are either a string or a number that interacts with the code and allows you to enable/disable any section of your app. Developers use this value to hide features from users, run A/B tests and target specific cohorts. However, dealing with toggles is a gamble, especially when you have multiple test variants running, with several conditions and user attributes in play. You might have instances where content masking affects all pages regardless of the audience condition.
Here is where configs triumphs over toggles – they can serve as a switch to enable or disable the hardcoded test variants, or also be used to devise new user-flows. Picking configs over toggles work well as they bring with them their extensive usability, and are lighter on code.
Empowering businesses with the ability to re-engineer user-flows and run tests with no tech dependency.
Create and Curate
This isn’t the case with configs, credit to its client and server-side feasibility. Running on a visual interaction builder, Hansel is able to use Deep Configs to create and curate new product interactions. Now, businesses are able to define, design and push new user paths and product features in real-time, test them in iteration and roll-out variants for experimentation.
From gatekeeping your code and configuring it into lego blocks, to giving you the power to tweak in-app features and re-engineering an entire user flow – it is safe to say that we are sitting on a potential game changer.
Deep configs can lay the foundation for the right framework to make apps configurable and optimizable. They allow products to be dynamic and open to change.
In a market where change is inevitable, an inflexible product will slow you down. Using this little piece of tech, businesses give themselves room to grow, to learn by constant modification and frequent experimentation. And the elimination of engineering dependency allows them to deliver powerful digital experiences to their users in an instant.