Facebook's Tool That Speeds Up Apps Is Now for Everybody

Facebook's new tool lets developers simulate the slow, unreliable mobile networks that far too many people are still stuck using.

Facebook wants to bring fast internet to the entire world, whether that means partnering with global telecoms or deploying drones to the most remote regions of the planet. But in the meantime, the company has to ensure that its social network runs as smoothly as possible, even on slow or unreliable networks.

To help do this, Facebook built a custom tool called Augmented Traffic Control to simulate various types of network connections, including old 2G and Edge mobile data networks, as well as networks that don't stay connected. The company's developers have used it to test Facebook's site and apps and tweak them to perform better under slow conditions. The effort is crucial for Facebook's business as it seeks to expand all over the world, especially into countries where the quality of available internet connections varies widely.

And now the rest of the world's developers will get a chance to use that tool to improve their own sites and apps.

Today, Facebook open sourced its tool so that other people can not only use it in their own testing, but modify and improve upon it as well. Using Augmented Traffic Control, anyone will now be able modify their Wi-Fi connection to simulate different network speeds and choose how reliable they want those networks to be.

Facebook production engineering manager John Morrow, who spearheaded the project, thinks it could help improve the mobile internet experience in general---and not just on Facebook---for people stuck on slower networks.

"When people use their own products on slow networks and see how slow it is, it's often an eye-opening experience," Morrow says. "They think much harder and have more empathy with people after that."

The move could also be a boon to burgeoning "Internet of Things" market. As a slew of new connected devices are created, companies will need to test them under a wide range of different network conditions.

Taking It Slow

Morrow and fellow Facebook engineer Andrew Pope came up with the idea in early 2013 after Mark Zuckerberg announced to the company that Facebook would make mobile experiences the company's top priority.

At first Morrow and Pope thought this "mobile first" agenda wouldn't affect them. As production engineers, their job is to keep Facebook's infrastructure sailing along no matter how much traffic is thrown at it. In theory, it shouldn't matter if that traffic is coming from mobile phones or desktop computers. But after reading an article in hacker magazine 2600 about a group that created a private cellular network at the computer security conference DEF CON, they started thinking about how much network quality affects the end-user experience. So they took it upon themselves to build their own slow, unreliable networks for testing.

The original version used open source software such as OpenBTS and used cellular antennae that Morrow and Pope purchased second-hand to create a private 2G mobile network that Facebook engineers could test the mobile version of the site as well as the company's native apps.

But it was hard to build and maintain the gear they needed, and the tiny networks they built had a limited range. They didn't even cover the whole of Facebook's campus. "Telling people 'If you want to do some testing come over to my desk' is not sustainable," Morrow says.

They decided to solve the problem by creating a tool that could change the speed and reliability of a standard Wi-Fi connection. That means that the phones they test have to be able to connect to Wi-Fi. But Morrow says that's not a big limitation. "There aren't too many feature phones that don't have WiFi," he says. "And for those that don't, we can test with an equivalent class of device. That's the kind of testing that would happen there."

And though it narrowed the range of possible devices that could be tested, it expanded the number of developers who could use it. Augmented Traffic Control is now available across the Facebook campus and, using the tool, teams are able to simulate the most common networks in many different countries, including Brazil, India, Indonesia, Kenya, Nigeria, and the Philippines. It's already led to general improvements in how Facebook handled connectivity, Morrow says, such as the number of times a tool like Facebook Messenger will try to deliver a message before timing out. It also led to an overall decrease in the amount of data that the site and apps consumed.

Morrow hopes other companies will benefit from the tool as well. "I've spoken to people form similar companies, and I don't see that most people do any testing," he says. Now, with any luck, other web giants will get a massive boost of empathy for people stuck on slow connections.