Hacker News new | past | comments | ask | show | jobs | submit login
Here’s why the Facebook iOS app is so bad (UIWebViews and no Nitro) (mobtest.com)
91 points by dirkdk on May 15, 2012 | hide | past | favorite | 61 comments

As an Android user, I can assure you the android facebook app is just as bad, if not worse. It seems the cross platfom support allows the same horrible issues to exist on all devices. For example I see the same buggy timeline [1] that he shows, on an almost daily basis.

I'm sure FB could increase their engagement by having a better mobile app. Often I want to see what my friends are up to, but just give up in frustration after waiting literally minutes for the timeline to display. I guess with such a large market share, they see no need to improve.

[1] - http://blog.mobtest.com/wp-content/uploads/2012/05/facebook-...

The performance is beyond terrible.

I have a Galaxy S, which is not the fastest phone in the world, but if I get a notification that someone has commented on my post or something, it can literally take minutes for the FB app to:

- Start when I click the notification

- Replace the pointless blank screen with my timeline (not that I wanted that, I wanted the notification) and the now-red notification bar

- After tapping the notification icon in the FB app (the second time I've now indicated I want to read the notification) watching the little bubble appear and wait for it to be populated with notifications

- Once it's populated, tap the notification I want (3rd indication now), and wait for that page to load.

Each of these on a 3G NZ mobile network can take 10s of seconds to complete. All the while I can't use my phone for anything else, or indeed let the screen go black and lock, because that will often drop me out of the particular step I'm up to (this may be more my phone than fb, I'm not sure of the internals).

Thinking purely as a user and ignoring the technical issues, there is something very wrong somewhere when it takes a few seconds to start a youtube video streaming but it takes a minute to view my friends 6 word sardonic reply to my kitten picture.

The FB app experience is pretty awful on Windows Phone as well. Made tolerable only because there's a better app built into the contacts list (as part of the Me panel). One thing I really miss is being able to Like comments on a post (can only like the post) and being able to see who liked a comment (can only see that someone did).

The FB app on WebOS was bloody perfect. So many things WebOS did right... I miss that platform.

The Facebook app is also a major battery drain. But the real kicker is the privacy violations where they grab your phone's address book to make creepy friend recommendations. I tell everybody to uninstall the app and just use the web app. If you make a shortcut to the web app it will work just as well as the native app without the privacy or battery issues.

You realize that's not true? If you choose to enable the "Contact Sync" (the only time when they are sent your device's contacts), this page is shown: http://static.guim.co.uk/sys-images/Technology/Pix/pictures/... Unlike the Path scandal earlier this year, Facebook has done a consistently reasonable job warning people about what they are doing (as well as having the feature off-by-default and, even if you want to use it, somewhat difficult to access).

Are you sure that is true on Android? I don't remember where I was first told about this issue but the app does request read and write contact data permissions, https://play.google.com/store/apps/details?id=com.facebook.k...

It has to request it on install if it is ever going to use it at all.

Having used it for years, I uninstalled it last month and now, if required, I use the mobile web interface. The one thing I really missed was the contacts sync, but I came across HaxSync* and have been happy since.

* - https://play.google.com/store/apps/details?id=org.mots.haxsy...

EDIT: ignore my post below, I've just tried again and it would appear that m.facebook.com does now support access via HTTPS.

The problem with the mobile web interface is that it doesn't support HTTPS (unless they have changed that recently). Not a problem when you are on your own wireless or your carriers cellular network, but I wouldn't trust it on a public wireless AP (I've seen people be caught out by session stealing tricks like that illustrated by firesheep - nothing malicious but you know if someone out there is using it to joke about someone else will be using it to cause grief).

Then again, the app may well use HTTP too - I've never installed it to try so I've not profiled it to see what access method is being used.

The Facebook app worked quite well a year ago, but I uninstalled it many months ago. The newer versions use a webview, which is horribly slow, and continuously poll the gps for some reason. There are alternatives like Friendcaster, that uses a third-party facebook application and Tinfoil for Facebook, a desktop/mobile site wrapper.

I use the Fb app a few times a day and I'm happy enough with it.

The interface is attractive enough and doesn't have any glaring usability issues.

Performance (on my Nexus S w/ 2G connection) could improve but isn't so bad that it causes frustration.

And it's available for free and without ads.

I get the style sheet bug up to a few times a week, but it's no big deal. Just pull the page down to refresh and it's fixed.

Maybe my standards are low but I suspect 95% + of people are the same, so why would Fb bother doing it any differently?

Great to know I'm not the only one - I had figured it was my third world internet connection. I've pretty much given up on it because it takes so long to display anything. Often if I click a link and come back to it then it goes back to loading as if it didn't cache anything.

Wait, the Facebook app is bad? I honestly hadn't noticed these nitpicks until I read the article, and even now they don't really bother me. I'm convinced that the only people who can tell and even care about the performance difference between Path and Facebook's native apps are software developers. My wife was using the web version of Facebook's mobile app for months before she discovered she could download the app, and she's never complained about either.

If I'm right and most people don't care, then it's a huge win to mix in HTML when convenient for the same reasons mentioned in the very article this thread is linked to that's lambasting Facebook's app.

Actually, I've noticed all of these issues. Especially the notification sync problem. Lots of my friends have too. The Facebook iOS app sucks, big time.

The iOS facebook app has gone from being fast and nice, to a shitty piece of bloat and lag. It's come to the point where I can't be bothered to "click through" on stories, because bringing up the list of comments on a story takes ~30 seconds. Forget about clicking on a friend with timeline enabled: The screen goes into powersave and autolock before the page even starts to render.

"Facebook for iOS"? More like "Loading... for iOS"!

My girlfriend has zero interest in software development and her eyes glaze over when I talk about it, and she can tell the difference. Mostly due to the fact it used to be reasonably decent then went to hell pretty quickly, but she saw the change.

_Every_single_time_ I start the Facebook app and either the notifications or messages icon is red, the list that pop ups when clicking it is outdated. So the progress to just read a single message or notification is,

1. Tap highlighted icon 2. Suppress the instinct to tap the first entry (high failure rate here :)) 3. Pull to refresh 4. Wait for refresh 5. Hit the new first entry

Either this happens to everyone, then it contradicts your point, because not every normal user knows how to pull-to-refresh. Especially since there's no visual indicator for this at all.

Or this bug only affects some users, and then it explains why you are happy. My girlfriend on the original iPad certainly has the same problem.

I just talked to a friend about this. We both stopped using the app because it takes 10 seconds from tapping the app icon to seeing content on our HTC Incredibles. During that time I see 3 differently designed loader circles.

The app UI is great, but I just don't use it because it the payoff is not worth the wait.

Obviously this depends on your phone. Using an html5 app on a 4s vs. a 3gs is a totally different experience, that probably explains the discrepancies between your experiences.

"My wife was using the web version of Facebook's mobile app for months before she discovered she could download the app, and she's never complained about either."

As a counterpoint, my wife often finds the Facebook Mobile app to be incredibly sluggish.

Many users often don't complain about performance, but if you make things work faster they tend to appreciate it anyway.

I have noticed these issues, even on my 4s, but it is not a huge issue.

"I'm convinced that the only people who can tell and even care about the performance difference between Path and Facebook's native apps are software developers...most people don't care"

the story you're commenting on presents evidence which contradicts what you're saying. unless you count a brief introductory paragraph, it is literally the first point they make.

the article says that the app has nearly 12K one-star reviews and an average of 2 stars, indicating that people don't like the app. the writing is not 100% clear, but it appears to be saying that the app only has a little over 21K reviews total, which means more than half of all reviews for the app are one-star reviews.

how could you possibly square this information with your belief that most people don't care? they counted the number of people who care and not only are there thousands of them, but more than 50% of the reviews are as negative as it is possible for a review to be.

seriously, dude, "people hate it" is the first point this article makes, and it does so with plenty of compelling evidence.

The 21k reviews is for "this version" -- there's actually nearly 2 million reviews for "all versions" with an average of 4 stars.

The Android app has 3.2 million reviews (averaging 3.6 stars - 600,000 or so are 1 star).

So it doesn't seem as bad when you consider "all versions" instead of just "this version". I wonder if it's a matter of more tech-savvy people reviewing the newer versions when they come out? Or it could just be that the app really is getting much, much worse with every release...

The app used to be all native objective-c. It was actually pretty good. They made a switch to make their different platforms share more code and be more consistent with each other and quality took a HUGE nosedive.

Ah I see, that would explain it.

Personally, I'm waiting for them to fix contact sync on Android ICS. That's the only reason I have the app installed...

They stated they would never do that though. Because that will allow you to export emails from Facebook to Gmail. Facebook said they are protecting you by not letting you export them to Google. Never mind the fact you can do that to Yahoo with the click of a button.

The sync worked before because Google allowed them to use a special API to allow them to show contacts on your phone without actually syncing them to your account (removing the Facebook app removed the contacts)

yep same user interface and same code across platforms means suboptimal app for each of the distinct platforms

Well that's including the three20 version, which would support the author's point.

Lets cast our minds back to when Heelys were popular and iOS had opened the app store, everyone collectively held their breath for the Facebook app. And it was good. In fact it was a shining light of why native apps were so good, it was smooth and fluid. There was bugs, it was a new thing without a lot of time in the field but they improved with every version.

Skip forward 3 years and remove Joe Hewitt, in an attempt to simply their development portfolio the Facebook app is everything it shouldn't be. It's slow, it's glitchy, occasionally when you tap something it'll decide that you've requested something completely different. At the end of the day a company needs to simplify development eventually, but not at the expense of crippling their application.

Although I agree with the Facebook App sucking (and seeming to get worse and worse), I do feel like the article is a bit misguided. I don't give 100% blame to UIWebView and no-Nitro simply because the entire way Facebook has developed the mobile app has been hacky and misguided.

The code itself is poorly designed, the API's are all over the place, there are inconsistencies everywhere and the performance is clearly lacking. On the flip side, take a loop at the LinkedIn app for iPhone. It's super slick, easy to use but still has a ton of features and the performance is far better. Yes, it's not as slick as Path but its miles ahead of the Facebook app.

So if I were Facebook, I'd rely a bit less on the 100% platform agnostic approach, take it back a bit and build the things that make sense cross-platform with HTML and build the parts separately that make sense to build using native code. This approach to me accomplishes much of the same cross platform success without creating such a crappy and laggy app.

yes, the new LinkedIn app on the iPad is gorgeous, performs really well and apparently is mostly made out of HTML5. They use local storage to cache data, FB app does not do that. http://engineering.linkedin.com/mobile/linkedin-ipad-using-l...

The question is: why even bother, when they have the mobile HTML version?

Probably just to cross a bullet point somewhere. Still, with their warchest, they could easily dump money on a small company and get it over with. At least something basic, but usable.

Say, timeline plus chat.

As far as I know, you still can't upload pictures from the web browser, so you need a native app to interact with photos.

They have a very well hidden email upload feature.

push notification and uploading photos are probably the only reasons I use the facebook app. I also think they have a nice UI ideas in the app, it just doesn't work that well. but for example Twitter app is far more superior than the mobile site (I think)

Really? The Twitter app on Android is a webview as well and it also sucks.

What? No I really don't think it is. If you are right though, they've done a great job to make it seem like it's not.

Webview can be done quite well if it is done correctly. Did you know that most everything in individual messages in the Gmail app on Android is done with a webview?

The reason it is fast though, is it is not loading that webview from a website, but building it from data locally. That gives it a native app speed.

On the other hand, the original Google+ release for the iPhone was bad because it was pretty much a webview downloaded on demand too.

Facebook is just loading it on demand basically as a webpage.

So it's possible Twitter is using a webview, but downloading the data separately for speed.

People prefer one-click launch versus typing URLs on mobile. And no, most do not know that you can add a bookmark to the home screen.

Photo uploading, push notifications...

I have always assumed they don't put the time/engineering into the mobile apps because it is much harder to monetize. Where do you stick the ads so that they don't completely ruin the experience? Nowhere, that's where. Why provide an app that draws people away from your web app (the one covered in ads) when you can frustrate them and keep them where you can monetize?

Using mobile app just once, they are able to access your phone contacts. I guess that is enough reason for them.

"there are no other iOS FB apps out there" is completely wrong actually, there are tons of alternative Facebook apps. Most were created mainly because of Facebooks' long delay in creating the iPad app. However, they're all worse than the official app though.

well any that would be good enough to rival FB's own app :)

"why it's bad," followed by great reasons FOR it.

Most of the reasons they presented for it were reasons that benefited the developer, not the user. I assume the headline is referring to why it's bad for the user.

The reasons for it are valid and it is possible to get that benefit to the developer with a better user experience -- See the comment (above) about the LinkedIn app for an example of an app that makes both users and developers happy.

yep, that's the issue. with all technology you have to balance the pros and cons for the user and developer. Path took 100 % the user as focus point, Facebook a bit more the developer

iOS developers are certainly expensive. But if you have to balance 500 million users and a single development team, I don't think anything less than 100% on the user makes sense.

They don't talk about it in the article but the app is also just generally buggy.

That is why the future belongs to native applications, the consumers are finally realized how this web everywhere sucks and is only able to deliver half-baked experiences.

I was always under the impression that the delay in push notifications (which you also see with Twitter for iOS, even in the Tweetie era) was a result of NoSQL databases used for notification points. I know Facebook is MySQL, but it would make sense that they might use a non-traditional database for push points.

That post is incorrect, from what I can tell. Home screen shortcuts to "web apps" that hide the Safari UI (which are actually run in the hidden "Web.app" application) now have Nitro with iOS 5, but App Store apps do not. This is because a JIT requires memory to be both writable and executable, which is not generally allowed on iOS (without specific permissions that only Apple can use).

Yes (the article is incorrect). Native apps (that aren't Safari) don't have JIT.

I think the SunSpider benchmark I ran clearly showed it, no Nitro in UIWebView

I use flipboard to read and post on facebook. It's divine.


This was how app was designed. With so many technologies involved things are bound to go wrong

never seen that piece, thanks!

After reading that, I felt they are over engineering a app which would run on small screens and slow networks. They could have easily waited a couple of years more to slowly build this in and in meanwhile do a native app like G+ is doing

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact