Mobile Dev without the App Store – A Closer Look at Facebook

Apptimize

Facebook had just about had it with the writers at TechCrunch. Each tiny little change they made was held under intense scrutiny on the front page of the blog. In the past month alone, TC had released a post about Facebook nearly every day (26 in the month of August). Anything and everything was fair game: rounded corner designs, Inbox APIs, desktop notifications, privacy features, etc. No new change was too boring or banal to feature.

To get them back, Facebook PR decided to have a little fun and trick them into writing about a feature that they would never release: faxing. In order for their devious scheme to work, they had to utilize Gatekeeper, a little known but powerful framework they had built.

Facebook Fax Tech Crunch
hmmm…that seems…outdated.

What is Gatekeeper?

Gatekeeper is a web release tool that Facebook uses to feature toggle: shipping new features in the off state, then switching them on for any segment of users they please. This allows them to constantly change the website without pushing. Facebook’s wealth of information means that it can segment its users by almost any category imaginable: age, date of signup, favorite color, keywords, location, number of friends, etc. The combination of the information and deployment options gives Facebook granular control over who they want to see what features and when.

Segmentation

Using Gatekeeper allows them to handpick exactly which of their users will see what features at any time. They can release a new chat feature to 1% of South Korea, and/or while releasing a new picture sharing version to all pregnant moms with a certain household income. Or they can add features to all users in Great Britain, or turn off many features for users based in China. Parameters can be combined and manipulated to target any group imaginable, and switch on and off new features at will.

“We use this for restricting geographically, Some things are blocked in Pakistan for example because of content,” explained Patangay. It also proves to be an excellent tool for controlling different versions of an app for different segments, dividing up its users and deploying certain features to each. “We use this liberally. Everywhere. And we use this for all our product rollouts,” Engineering Manager Girish Patangay explained.

Another great benefit of feature toggling is the ability to load test by slowly increasing the amount of users testing a feature, or do staged rollouts. Utilizing these ensures the changes they release scale, rather than simply sending them to all users at once and crossing their fingers.

GatekeeperAtom
What Gatekeeper looks like nestled in code

Bringing Gatekeeper to Mobile

Last January, Facebook announced Gatekeeper’s mobile successor, Airlock. As the company has shifted toward its mobile-centric goal, so have its internal frameworks. Just like Gatekeeper, Airlock allows for granular testing and feature toggling, but with the additional ability of A/B split testing each change. This combination is key to creating innovative yet stable releases for the numerous Facebook apps.

Instead of waiting for a the next cycle to deploy new features, Facebook can build in a bunch of new features, then toggle them on and off for any segment they desire using Airlock. It has all the same benefits of Gatekeeper, but also gives them the ability to A/B split test a feature.

Mobile AB Testing
A/B Testing is vital to ensure you’re making informed decisions

The in-depth analytics of those tests signal to engineers whether or not a feature should be released or re-tweaked. If it’s ready, they can simply increase the segment size to deploy a feature to every mobile user, all without having to deal with re-submitting their app.

Facebook can even use this to hotfix any bugs in their features. If a new change isn’t working well, they can look at what segments have problems and disable it for those affected. This bypasses many of the restrictions of the lengthy app store development cycle, with engineers testing out new features on real users before pushing a stable app store update.

On web, Gatekeeper allows Facebook to innovate and test out new features, implementing them if they perform well on small tests. On mobile, Facebook uses Airlock to split test new features, then enable or disable the good ones without going through the long app store submission processes. Having these frameworks gives them significant advantages over other applications, allowing them to iterate and improve their app much faster than those who play by the rules of Android and iOS.

faxthisphoto
Hi Mr. Arrington!

Sorry TechCrunch

While the company ordinarily uses Gatekeeper and Airlock for testing on real users without messing up the experience for everyone, on this day, they repurposed the web app as a key tool for pulling their prank. Using Gatekeeper, the PR team hatched a plan to quietly release faxing to its single target: TechCrunch employees. As the feature released, they snickered behind closed doors, knowing that no other users would be able to see or use it.

Within minutes of their special release, Jason Kincaid of TC quickly noticed and gobbled it all up up. 30 minutes later, a new article went out to their front page: Facebook Now Lets You Fax Your Photos. I Have No Idea Why Anyone Would Want To Do This. As comments started trickling in, TechCrunch started to panic, realizing no one else was seeing the fax feature. After some back and forth, and a sarcastic follow up email from Facebook, Michael Arrington himself released a retraction: Yeah Ok, So Facebook Punk’d Us. Mission Success.

Airlock is an immensely powerful platform that helps alleviate some of the problems for innovative companies working in the mobile space. Unfortunately, unlike other tools, it doesn’t look like Airlock will be available to the public any time soon.

Apptimize’s Update Tools

Our goal here at Apptimize is to provide you with the same leading tools and advantages that the industry giants have devoted large amounts of resources to develop. Apptimize’s feature flagging, combined with our A/B split testing framework allows you the same levels of control that Airlock does on mobile. Using these tools will allow you to do a staged rollout, gradually pushing out features to your userbase.

With code blocking, the framework allows you to test anything you can code. Flexible Dynamic Variable tests combine the power of code with instant deployment. Utilizing this, you’ll be able to segment your customers and split test, toggling them on and off at any point.

If you ever need to make instant changes, the Visual Apptimizer allows anyone to make instant visual updates to any page on the app, all without a single line of code. It’s so easy, anyone can do it, regardless of whether or not you have a technical degree. For more information, click here.

About Apptimize

Apptimize is an innovation engine that provides A/B testing and feature release management for native mobile, web, mobile web, hybrid mobile, OTT, and server. Industry leaders like HotelTonight, The Wall Street Journal, and Glassdoor have created amazing user experiences with Apptimize.

Thanks for
reading!