Mobile apps can do strange things when networks are slow, and if you want to deploy your app to a global market, knowing how it’ll react when your users are on a slow network connection is pretty important. To test its own apps, Facebook developed Augmented Traffic Control in 2013 and deployed it internally to test its apps on slow connections. Today, it is open-sourcing this effort.
As Facebook’s Emmanuel Bretelle and John Morrow write today, the Facebook team built the first version of this tool — focused on 2G connections — at an internal hackathon in early 2013. At first, the team focused on building a working 2G network that could be used to make voice calls, send text messages and transmit data. Given the complexities of getting the necessary radio hardware and then running open source on top of that, though, the team quickly pivoted to working with Wi-Fi networks and simulating networks there. Facebook then later deployed this version on its campus-wide Wi-Fi network so all of its engineers could use it.
As Bretelle and Morrow note today, Facebook used this tool to test when Messenger should time out and how often the apps should retry to send messages, for example, or how other apps would behave when they tried to download files.
The code for Augmented Traffic Control is now available on GitHub.