For the past year or so, I’ve noticed that my Facebook mobile apps have slowed down with each screen tap. I used to tap the screen and see the latest posts or photos fairly quickly. Now I see the “Loading” message more than anything else. Even worse: I’m constantly pulling the screen down to refresh the data, even when tapping a Facebook notification takes me to a supposedly updated post. I’m not sure when that behavior started, but it’s quite annoying and happens on both my Android and iOS devices.
I long suspected these problems had much to do with Facebook’s use of various Web technologies, since much of the mobile platform was built with web standards and technologies such as HTML5, surrounded by a native wrapper for Android or iOS. But I’m not a developer, so I couldn’t be sure. Now I am, thanks to Dirk de Kok’s detailed post at Mobtest, which tests mobile applications.
“For notifications, messages and friend requests regular REST calls are done, returning XML data. First check is to see what number of new notifications are there, then the actual content is retrieved in a separate call. As far as I can tell, the Facebook service calls return inconsistent information. When you check too fast what new notifications are awaiting you, you don’t get the new information.”
I recommend reading de Kok’s entire analysis because he explains in further detail how all these moving parts are working together in a less than optimal way, illustrating the exact behaviors I’ve seen in the Facebook mobile app. I think it’s great that Facebook is adding new features and improvements on a regular basis and I understand that by using Web technologies, it can make these changes on the server side; you don’t have to update your Facebook app as a result.
But for the time being, I’m going to switch to m.facebook.com in my smartphone browser. I did some testing this afternoon and the experience is far faster, up to date and generally offers the same features as the native mobile app.