Facebook’s iOS app is terrible.
That’s not a matter of opinion: it’s fact. It’s a festering pile of an app, with an average 2 star rating on the US iTunes App Srore.
The app’s slow. The notifications don’t work. The whole thing’s buggy. In every way imaginable, if you open Mobile Safari and type in facebook.com, you’ll have a better experience.
How could a company like Facebook that sees so much of its traffic come from mobile sources release such a terrible, unuseable app? And why hasn’t it gotten better?
As it turns out, some of it’s due to the inherent nature of Facebook, which is “move fast and break things.” Some of it’s due to bugs. And some of it’s because the only alternative is to wait for Apple to approve every change Facebook makes to its system.
Over at the Mobtest blog, they took the Facebook iOS app and did some packet sniffing to figure out just why the app had so many rudimentary problems displaying things like notifications and timelines when the Mobile Safari version runs just fine.
The post itself is a little technojargony, but what it comes down to is that the Facebook iOS app is an Objective C wrapper around Facebook’s raw HTML data, using iOS’s UIWebView component, which allows devs to display a web page in an app.
Why would Facebook have its app work this way? Partly it’s because the web site is in HTML, and HTML can be displayed across Blackberries, Windows Phones, Android devices, etc.
Why doesn’t Facebook just use Objective C? A big part of it is that Objective C is actually rubbish at doing fluid layout thinks like having an image with text around it, or buttons with different kinds of text labels. What it mostly comes down to, though, is Facebook is a constantly evolving product across multiple platforms, including the desktop, and HTML is much more in-line with Facebook’s deployment process, as Mobtest explains:
FB developers are responsible for their own QA, and part of that is to push code out to a limited set of servers, see results and then push it out to more and do this each day if not more often. With Apple taking as least a week of review, rolling back a code change is a nightmare.
So there you go. These are all the technical reasons why you should probably delete that rubbish Facebook app and just use a bookmark in Safari instead.