When Alex Sourov traveled to Africa to identify challenges for Facebook users who lack access to a high-speed mobile network, he realized bringing the “next 5 billion” to the social network wouldn’t be as simple as increasing advertising in the developing world.
An engineer from Facebook’s Seattle office, Sourov and colleagues went to Africa to help realize founder Mark Zuckerberg’s goals for Facebook, according to a report in GeekWire. These include getting billions of new Facebook users.
What Sourov said he learned highlights how easy it is for companies based in areas with high-end mobile devices and consistent network connectivity to overlook things that might restrict adoption of their apps in other markets. Not every company can afford to send a group of engineers to Africa, but keeping potential limitations in mind may help other apps improve their performance, he said.
Armed with the latest version of Facebook’s app and various low-cost Android devices, the team found that Facebook’s approach in Africa at the time was a total mismatch for users’ experience there, the report said.
“The combination of an intermittent, low-bandwidth network connection and a lack of memory space on the devices resulted in slow load times and constant crashes,” Sourov said. “We even burned through our monthly data plans in 40 minutes.”
Facebook subsequently made changes to increase its Android app’s performance. Because the budget smartphones they used for testing often only had single-core processors, Facebook engineers found that they could improve startup times by waiting to initialize certain functions until after the app started up, Geekwire reports.
Sourov and his fellow engineers found that users in Africa often had older versions of apps, because their devices didn’t have enough space to download and install updates. Now, the Android app is 65 percent smaller than it was at the beginning of 2014.
Also, Facebook engineers used a feature of the Google Play Store that lets companies submit multiple versions of the same app for different devices, to reduce the app’s size.
Sourov says Facebook needed to upgrade its networking stack inside the Android app to better handle intermittent cellular data connections. The company is now using OkHTTP, an open-source project provided by Square, to help deal with intermittent network connections by quickly retrying operations, rather than waiting for a response, according to Geekwire.