These Are The Technical Reasons Why Facebook’s iOS App Is So Terrible


It's not just carelessness and ineptitude that makes this app so terrible.
It's not just carelessness and ineptitude that makes this app so terrible.

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, 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.

UIWebview is also slow. Very slow. It doesn’t have access to Mobile Safari’s blistering Nitro javascript engine, making it slower than loading up Facebook in the native browser. Worse, it’s absolutely junk at figuring out what it needs to download versus what it’s already got on hand, leading the app to redownload your entire timeline each and every time it loads itself, instead of just the chunks it needs.

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.

Source: Mobtest
Via: Reddit

Deals of the Day

  • David Griffin

    Anyone know if this goes for the iPad app too? I’d guess not since it took them so long to develop?

  • sosickitzill

    I hate this app, so damn ugly and slower than capt. slow.

  • Steve LeVine

    First of all, you do yourself a disservice by posting a screenshot of an old, outdated version of their iPhone app. 

    Second of all, it would have been nice to have an official comment from Facebook themselves explaining why they don’t change their technology in order to reach their largest user base (which I am guessing are using iPhones.) Apple’s review process of making sure there is a stable app put on their products should be an excuse that FB’s code is always changing. It seems they need better developers and engineers to have a steady code for at least a few months and then roll out an app update every so often to match.
  • Sean Carney

    If you’re going to write a story about how bad an app is, have an updated screenshot of the app.

  • Jonathan Ober

    I guess I am the only one who actually likes and uses facebook mobile both on iPhone and iPad apps. I dont have any of the slowness or bugginess they talk about in the above article. I get chat notifications quickly and seamlessly as well as updates from statuses and friends. Not sure why the fuss.

  • James M Wimmer

    The Facebook app is so bad I’ve considered going with just Google+, as their app is far superior to anything Facebook has released in recent memory. FB needs to get their act together on iOS. At first, I wasn’t a fan of G+, but recently, I’ve found myself drifting to it more and more.

  • Dan

    Truth is, iOS users are propping up fandroid users! The app is terrible because it’s a wrapper for their terrible mobile web app, the mobile web app was designed to be platform agnostic, this is a failure for iOS, but I’m sure plenty of fandroid users are plenty grateful for it, if it wasn’t for the agnostic mobile web app, fandroid users would likely have an absolutely terrible app, lagging way behind iOS, as was previously the case. Instead we’re all drawn to the lowest common denominator.

  • venture

    Un @David Griffin that has to be the dumbest question I have ever heard take offense if you want but the iPad is obviously an iOS Device. Your telling me you have a piece of technology in you hand and don’t even know how to use it or what it is? Have you done an update yet? This will tell you it is an iOS device.

  • viveksrn

    leave alone the screen shot being old. I just opened my FB app on iPhone to find that they have improved the interface. They had introduced the new picture interface yesterday, now the newsfeeds are also much more cleaner and displayed as it is on Instagram.

  • benandarchie

    Why does everyone hate the facebook iPhone app? There is nothing wrong about it. It’s simple and unique.

  • vmstan

    Then why is it that Google, Path and in some respects Twitter have figured out how to make a far superior app? The Google+ iOS app is a perfect example.

  • Andrew John

    I love visiting the iTunes App srore. Does anyone proofread ANYTHING on this blog?

  • Rob Klaproth

      “FB developers are responsible for their own QA, and part of that is to push code out to a limited set of servers, ”  

    Not any more.. Facebook is going public and once the auditors get ahold of them, there will be no more developers having access to production.  It’s a fact of life, Sarbanes Oxley 404….. Once you’re public everything changes.