Flipper gives you control of your code without committing, reconfiguring, or deploying. With feature flags, you can enable and disable different features of your application in production. The click of a button toggles features on or off for specific users, groups of users, or any other criteria your heart desires.
Here are a few of the ways you can use feature flags with Flipper.
Building great software requires feedback, early and often. Some features may take weeks or months to build, but you don't have to wait until everything is completely done to get feedback from your team or users. New features can be shipped to production behind a feature flag without disrupting anyone else, and then enabled individually for developers and groups of users.
Your new feature might be ready for the masses, but the thundering herd of new users could expose unforeseen issues that you weren't prepared for. The same feature flags used to give early access while a feature was in development can now be used to slowly roll features out to a percentage of users, organizations, specific countries, or whatever segments you define.
Your feature is done, the launch date is here, the press is waiting under embargo, and your team is ready to hype it. Everyone is a little stressed, but you are cool as a cucumber because the feature has already been in production for weeks behind a feature flag. No last minute deploys, no unexpected failures, and no nervous fingers typing into a production terminal. You click a button to enable the feature as your fearless leader walks on stage and wows the world.
Give your users the power to decide which features they have access to. A few examples:
Whether you are limiting access to premium features for different subscription levels, or giving teammates and contributors access to administrative features, feature flags are a simple and powerful tool for permissions and access control in your app.
The feature flag giveth and the feature flag taketh away. Flipper's feature checks are always blazing fast, so you can quickly and easily block bad actors that are abusing your app and rest assured that it will have a negligible impact on your limited resources.
Planned or not, performing maintenance on your app's infrastructure doesn't have to take your app offline entirely. With feature flags, you can disable features that will break and leave the rest of the application accessible. These toggles are also helpful when experiencing performance issues that disrupt your users.
Split testing is an effective way to see how a change affects real users in production. Using feature flags, you can perform an A/B test by enabling an experimental feature for a percentage of users and then measure the results. No more guessing how your users or system will respond to the change.
All good things must come to an end, and software features are no exception. Coordinating the sunset of a feature is not too dissimilar from coordinating its launch. Feature flags give you complete control over who has access to a feature until its very last day in production. After a feature is completely disabled, you can meticulously untangle and remove it from the code base, eliminating the technical debt it incurred without the pressure of a looming deadline.