People are adopting a mobile-based online ‘way-of-life’ at a staggering rate in emerging markets such as Kenya, Nigeria, Egypt, and South Africa as juuchini reported a couple of weeks ago.
In most cases, these people in emerging markets are doing so on mobile via 2G and EDGE connections – this is just a band lower than the 3G connections which most people in already developed/emerged markets have already moved on from either to 4G LTE or in some cases 5G.
In line with Facebook’s goal to connect another 1 Billion people on Facebook, the struggle has been to design features of the product that work seamlessly regardless of mobile network and device. This means that Facebook users should be able to load and scroll through their News Feed regardless of their connection speed.
Facebook’s News Feed Team led by Chris Marra, has worked on a few updates recently to improve the experience so that it works seamlessly and quickly for people in all parts of the World.
Taking Connection Speed Into Account – There are many factors Facebook takes into account in News Feed to make sure users are seeing the most relevant stories for ‘you’ – even the type of device you’re on or the speed of your mobile network or WiFI connection. Taking this into account helps Facebook determine what kinds of stories to show you in News Feed. For instance, when a user is connecting via a slow(er) internet connection that won’t load videos or will show videos that will buffer ‘forever’, then News Feed will show you fewer videos and more status updates and links/URLs to articles you can read online.
In order to simplify the way Facebook distinguishes between different types of networks, they’ve developed an open-sourced Network Connection Class; an Android library that allows one to figure out the quality of the current user’s internet connection. The connection gets classified into several “Connection Classes” that make it easy to develop against. The library does this by listening to the existing internet traffic done by your app and notifying you when the user’s connection quality changes. The code has been put up on GitHub and Facebook is encouraging developers to use this Connection Class information and adjust the application’s behaviour (request lower quality images or video, throttle type-ahead, etc).
This means that on recent Facebook app updates, Facebook can now start retrieving more stories and photos while you are reading News Feed on slower connections to make sure stories are always available as you keep scrolling. So if you are reading a post from your friend about their weekend, but doing so on a slower connection, we will load more stories while you’re reading so they are ready for you when you’re done reading that post.
Prioritizing Which Stories To Load – If a user is on a poor internet connection and News Feed is loading slowly, Facebook will first download the story you’re currently looking at, rather than download a series of News Feed stories. For example, if you are looking at a photo your friend posted or a photo from a Page you’ve liked, that isn’t fully downloaded, we prioritize that photo over loading a story below it that you aren’t currently looking at, so you can see the most important photos you’re viewing as quickly as possible. Facebook is also investing in the best image formats for photo loading after recently moving to a Progressive JPEG photo format which allows us to start showing lower-quality versions of photos while they’re still downloading, so you can see some of the photo instead of nothing in place of the photo. What this does is lower the amount of data required to send photos to be loaded, and speeds up the wait time for photos.
This change was in January this year effected for iOS and now uses the same technology on both iOS devices as well as on Android devices.
Showing You Stories When On Particularly Poor Connections – Sometimes Facebook is unable to load any newer News Feed stories if a connection is particularly congested or of poor quality. User feedback is that when these users visit their News Feed, they’d rather see stories that may have loaded on a previous visit than not see any stories at all. So now when you leave News Feed and then come back again on a bad connection, Facebook will now display previously downloaded stories; like a cached version of the stories you last saw on your News Feed. A User can also scroll down and see stories from their previous visit to News Feed until you are able to connect again to a mobile network. For example, if you were to open News Feed on an airplane you’d still be able to read stories you scrolled past previously, when you did have a connection, instead of just waiting for anything to load. Even though Facebook loads stories from previous visits to News Feed, it don’t re-retrieve these stories that a user has already seen, so Facebook ends up actually saving on your data cost.
However, if something about the story has changed — for example if the number of comments and likes has changed or if the post was deleted, then Facebook will make updates when you see the story again.