Jan 16, 2017
Facebook’s coding team pushes new updates into production more regularly than they change their socks. Etsy’s product development team makes over 50 deployments a day.
So why are other apps (like yours) dealing with lengthy release cycles, waiting on the internal and external gatekeepers to approve features that may need to be changed almost as soon as they’re rolled out?
TripIt had this problem too. In fact it once sent a version of its app to Apple for review before realizing that this version had a faulty checkout process. Customers were being sent a “Ahoy you Scurvy Pirates” message when they tried to pay. Not good for customer happiness.
The TripIt team had to wait days for Apple to review the fix and enable it. But if they had used feature flags, they would have been able to knock this mistake on the head, as if by magic.
Feature flags are the tools responsible for companies like Etsy and Facebook being able to develop so quickly on mobile. A feature flag is basically a line of code you can wrap around individual features of your app. You can activate it like a switch, meaning you can deploy updates and adjustments iteratively, without releasing new features all at once or waiting for approval. You can also use it as a safety switch, and turn off updates that are broken or that you’ve changed your mind about.
(Facebook’s “Fax this Photo” Feature.)
In 2009, a journalist at TechCrunch opened up his Facebook page and noticed a new feature he’d never seen before: “Fax This Photo.” Somewhat confused, he published an article that same day reading, “Facebook now lets you fax your photos. I have no idea why anyone would want to do this.”
Unsurprisingly, nobody wants to fax their photos. Facebook had been playing a cheeky joke on the TechCrunch staff through one of their favorite uses of feature flags.
For Facebook, feature flags play a crucial role in development. It would be extremely risky for Facebook to launch new and experimental features to their massive 1.8 billion userbase. Instead, they use feature flags to reduce risk by launching new features to small, segmented user groups. Collecting in-app metrics and user feedback, helps them iterate smarter and swifter, while the feature is available on a small scale. Once they have proven success with a subset of users, they slowly increase the number of users who can access the new feature.
For smaller businesses, this strategy makes even more sense. A launch no longer has to be an all-or-nothing affair. You can deploy a new feature to 1% of users, 10%, or 100%. You can also turn off features that don’t appear to work, without having to wait for your next release date.
Testing regularly with users is vital for finding the features that stick. Why risk testing on your entire userbase?
The new year is a huge opportunity for brands to attract new customers, increase brand loyalty, and build a buzz around new products. But if you’re stuck in the traditional mobile release cycle, the window to adapt your app for the season may already be closed.
Feature flags give you the ability to add promotions into your app to seize timely opportunities. Urban Attic used feature flags to run a Black Friday promotion on top of its regular shopping categories. Once they’d celebrated Thanksgiving season, they could take down the extra ad, and prepare for Christmas and New Year. They could coordinate multiple channels, match mobile marketing with television and web advertising, to make their brand instantly more recognizable in the holiday rush.
You can also deploy your updates to particular segments of users with feature flags. Target your marketing campaign to millennial customers, or to customers who’ve bought similar products from you before. Roll out these timely, targeted campaigns to a percentage of your customers while retaining the unchanged version for the majority of users. This allows you to test the efficacy of campaigns and ramp them up gradually.
(Netflix makes freedom part of its philosophy by letting teams push out feature updates at will. Image source: SlideShare)
Netflix uses a small team structure, for ultimate flexibility and accountability. From these small teams, anyone can release features — whatever they want, whenever they want, within reason.
For developers, designing tests and carrying them out is part of their daily work routine. Because they have the freedom to experiment in a way that makes sense for their workflow, they have more confidence in what they’re creating.
The extra flexibility of feature flags means you can take more risks with your team, not just with your product, but by giving departments more control over when and how they roll out features. This leads to a product that evolves quicker, in line with the customer, and a work environment that is in constant motion rather than stodged up with bottlenecks.
It’s a pretty elite group. Uber, Facebook, Twitter. Think of any app that gives users a really personalized experience and the team is probably using feature flags to toggle updates strategically, learn quickly from customer preferences, and protect customers from mistakes.
Apptimize is the best-in-class mobile growth platform for Enterprise and SMBs, powering 1.2 billion app downloads across 75 countries.
Launching and enhancing features for your mobile app can be a time-consuming challenge fraught with risk. At Apptimize, we are always looking for opportunities to help you iterate faster and create features your users love. In this post we’re proposing...Read More
We’ve talked to a lot of mobile teams over the years, and many of you have told us about the challenges of launching features or running marketing campaigns on mobile. Today, we’re thrilled to announce our new product to help...Read More
Vevo has been one of our most amazing customers for a long time. They are constantly trying new things, experimenting, and bringing a better user experience to their iOS and Android app users. Apptimize is proud to help them do...Read More