
A Faster Facebook for iOS - adamjernst
http://newsroom.fb.com/News/A-Faster-Facebook-for-iOS-1b4.aspx
======
flatline3
Facebook made the mistake of optimizing for their developers' sense of
efficiency -- at the cost of user experience -- rather than optimizing for
their users' experience.

Given the resources available to them, switching to UIWebView was a ridiculous
trade-off. I'm glad to see they rectified this decision.

The lesson to be learned is this: at the end of the day, it's the product and
user experience that matters. If you sacrifice product quality for some notion
of engineering perfectionism -- whatever it might be -- you're not doing your
job as a professional engineer.

~~~
tptacek
Choosing platforms to optimize developer experience enables you to get more
features out the door faster, which is usually the right decision when you
don't know precisely which feature set the market is going to value. After a
year or two of experience, it's a lot easier to go back and pick a different
platform to optimize for something else.

~~~
flatline3
Trade-offs to accommodate your resource or skill contraints are just that --
trade-offs. They're not optimal solutions for your users or your products.
Singular dedication to user experience may have an intangible value, but Apple
and others have consistently demonstrated that the value is high.

This isn't a trade-off Facebook needed to make. Whether it's a trade-off your
organization needs to make depends on your resource availability, skills, and
target market. However, there's no value in dressing up the trade-off as
anything other than a trade-off.

The target market and product factors into the question of resource
allocation. Nest would not have made such a splash if they decided to skip
user experience and focus on fast feature roll-out, and Dropbox would not have
succeeded to nearly the same degree (if at all) without first-rate native user
experience.

~~~
tptacek
I reject the idea that Nest and Dropbox were in similar positions as Facebook.
The entire value proposition of Nest is simple (and simplicity). Same with
Dropbox. It is harder to make a case for how Facebook could have had a
"simple" value proposition 2 years ago.

You're making a case for why Dropbox didn't have to go through the time-to-
market-driven experimentation Facebook did. That is indeed an advantage to
being Dropbox. It isn't a very good indictment of Facebook's strategy.

~~~
flatline3
Facebook started with a native client. They switched to HTML due to internal
organizational politics. I'm not sure what you're arguing -- that somehow
Facebook lacked the resources to invest in user experience _and_ rapid mobile
development from the beginning?

It's not as if mobile was unproven at the time they decided to switch away
from their native mobile client.

~~~
mbesto
> _They switched to HTML due to internal organizational politics._

Sorry, but how do you know this? Also, politics in of itself is rarely the
real reason why decisions are made. Someone who seeks to gain benefit by
making decision (which is deemed therefore political) can certainly be a
reason. So, I'd be curious as to what benefit some individual or individuals
sought to gain by making this decision.

~~~
mbesto
@flatline - couldn't respond to your thread below.

> _It's not difficult to determine_

I'm really curious as to who benefits from this internally at FB? Seriously,
I'm having a hard time determining who?

~~~
flatline3
I'm not sure if you're being obtuse; this is basic organizational politics.

Pretend that Facebook's hitherto web-centric engineering team is external to
Facebook -- they're a consultancy. Now imagine Facebook comes to them and
says: _We want a mobile application._ Who benefits if they manage to convince
Facebook to pay for them to produce a web application?

Let's reel it back to reality. How do people _inside_ an organization benefit
if they expand their area of purview, responsibility, and increase their value
to the organization? Likewise, what power dynamics come into play when a new,
potentially distinct engineering team garners additional purview,
responsibility, outside of your domain, skills, or control?

------
christiangenco
Just updated - it's quite noticeably faster, and feels much more native than
their previous shortcut of lots of UIWebViews. I commend the Facebook iOS
team! This app has regained its throne as the model of iOS UX.

Let this be a lesson to us all: when putting user experience as the first
priority, the nirvana of writing your UI once in HTML and having it work
universally still isn't there.

~~~
pjmlp
> Let this be a lesson to us all: when putting user experience as the first
> priority, the nirvana of writing your UI once in HTML and having it work
> universally still isn't there.

And it will never be. HTML just sucks for application development.

Why on earth exchange the benefits of using the hardware resources properly
for the mess that HTML+CSS+JavaScript is? To mess the customer's experience?

Don't be afraid of touching C, C++ or any other language with native code
compilers and at most rewrite the UI part. Or shell out some money for tools
like Mono or similar.

Although I am forced to code Web applications at work, I am a firm believer
that web should only be used for communication protocols and documents as
such.

~~~
dodecaphonic
I love the energy itself that people are putting into making the web more of
an app development platform. It's commendable how strongly and energetically
they push to get there, building cool demos and frameworks that on a relative
scale (i.e. from the web of ten years ago to the web of today) seem magical.
But, frankly, more and more I feel like you, and more and more all that effort
seems wasted on bringing everything up to par with old desktop patterns and
techniques when we could all instead push everything somewhere new.

Like you I write web apps, but I'm old enough/lucky enough to have had some
other experiences, and to be quite honest I find even Gtk+ is more pleasant
overall than the MV* framework of the month. That we have folks now trying to
write AutoCAD or Photoshop in JavaScript just like a loss for our industry.

~~~
pjmlp
Same here.

My first programming languages were Spectrum BASIC and Z80 Assembly shortly
thereafter.

------
mootothemax
It has constantly amazed me that Facebook's mobile app experiences are so, so
poor.

At the same time, having watched my friends swear at Facebook on their
smartphones and yet _continue to use the app_ , day-in, day-out, maybe
Facebook are more clever than I give them credit for; I haven't seen people
move elsewhere because of the problems.

~~~
seiji
Inelastic demand lets you screw users in all kinds of creative ways. Also see:
craigslist, crappy dating sites, and news.yc.

~~~
powrtoch
What are the creative ways in which HN screws us?

~~~
ceejayoz
It's not very "creative", but the site is pretty awful on an iPhone. You have
to zoom in an order of magnitude to be able to click up/downvote, and the
layout doesn't shrink to fit the smaller screen at all.

------
noamsml
Here's to the hope that an android counterpart is not far behind.

~~~
avolcano
I've found the Facebook app on my GNex is faster than it was on my iPhone 4,
but that might be chalked up to phone speed differences rather than the
Android app actually being better.

~~~
ConstantineXVI
Android WebViews still get to use full-on V8 (where the equivalent Nitro on
iOS is limited outside Safari); which likely helps web-based apps on Android.

Despite that, the Android FB app, and most other WebView-based apps on both
platforms, tend (IMHO) to be rather dog-slow and buggy anyway. The App Store
in iOS6 is one as well, and it shows.

------
brittohalloran
The "photos-overflow-outside-the-white-card-theyre-on" effect has always
bugged me. It looks like a rendering defect or something. I get that they're
trying to maximize screen real estate, but I think it just looks terrible.

~~~
mbell
The worst part is the way it chooses to resize/stretch images.

Some are just ugly for example ecards are all screwed up. Others could
seriously piss some people off. Quicky scrolling through my feed I saw two
imagines that were originally of a female friend standing somewhere, taken in
portrait orientation. On the new feed they appear as zoomed in "body shots"
with the head and below the knees cut off.

~~~
ceejayoz
> Quicky scrolling through my feed I saw two imagines that were originally of
> a female friend standing somewhere, taken in portrait orientation. On the
> new feed they appear as zoomed in "body shots" with the head and below the
> knees cut off.

This sort of thing is especially odd given their face recognition on every
photo. Surely they could have it center over the faces.

------
tsurantino
It's an extraordinary improvement. Does anyone know if it was written in
native Objective-C or if this is a very optimized HTML5 version (or hybrid,
like the LinkedIn app)

~~~
jarito
It's Objective-C with some fallback rendering for HTML5 stuff
([https://www.facebook.com/notes/facebook-engineering/under-
th...](https://www.facebook.com/notes/facebook-engineering/under-the-hood-
rebuilding-facebook-for-ios/10151036091753920))

------
dirkdk
Yes, the app is faster. Engineering backpedaled and rewrote the app to become
fully native again. Speed should be a top requirement for mobile apps
<http://news.ycombinator.com/item?id=4424212>

------
esilverberg2
Has anyone there found info about what libraries Facebook has embedded into
this app? For example, if you go to Privacy and Legal in the Camera • app, you
get a nice list of every open-source project they embed. I can't find it in
this new FB app...

~~~
Xuzz
It's still there, just less obviously accessible: Settings app -> Facebook ->
About.

------
dude_abides
No love for Android users? :(

~~~
marknutter
And therein lies the rub. Native development comes with its drawbacks too.

------
thomseddon
Google's cached version:
[http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://newsroom.fb.com/News/A-Faster-
Facebook-for-iOS-1b4.aspx)

(down at time of writing)

------
destraynor
Congrats to the team at Facebook, overdue, but it's a massive improvement.

------
jpxxx
Used it, it truly is miles better. They can now finally say they're serious
about mobile with a straight face.

------
SG-
I vaguely remember when Facebook previously had a nice native iOS app long ago
and their main or only iOS dev ranted about the App store and refused to do
any more iOS development.

Some time after a terrible webapp was released. Not quite sure why someone
else there couldn't take over maintenance of it.

------
bsaul
Facebook app lost 100% of their iOS dev team when joe hewitt stopped
developing for them. They decided to let interns in charge of native libraries
like Three20 (which has become a mess since then) and let web people in
charge. It took them to hire someone from Apple to get their things together
and do something valid on that platform. What's crazy is that nobody around
them was able to tell them that mobile constraints makes it a entirely
different think than the web. You just need to code one "hello world" with one
button using phonegap to realize that uiwebview isn't anywhere close to native
sdk. On the other side,the fact that Apple decided not to update UIWebView to
nitro was probably a big matter for them...

------
sazpaz
Did they added monetization strategies into this app (ads, sponsored stories,
etc)? I'm not an iOS user, but after their harsh stock decline I would've
expected to see aggressive monetization on the mobile app/web.

~~~
itsprofitbaron
Facebook are making currently making $183M a year off mobile & they haven't
rolled them out worldwide yet either.

They were appearing for me in the old iOS app & are only be shown every 150 or
so (at the moment in the tests they are performing) which has been confirmed
by Facebook's CFO David Ebersman who said Facebook are "being very careful
about the volume of sponsored stories in the news feed because it’s so core to
the user experience."

------
antirez
Just tried, very good! A big step forward. I hope they'll go the extra mile
and release a full featured desktop client as well, starting with osx
possibly.

~~~
eyko
The desktop client is their website.

------
jbverschoor
Why the hell did this take so long. I really don't understand. Surely facebook
understands the importance of mobile. Glad they finally did it though..

------
DonnyV
Not sure why these companies release there apps for iOS first when Android has
the market share. It makes absolutely no business sense.

~~~
sazpaz
Despite more uniques coming from Android, maybe iOS user show more engagement.

~~~
goatforce5
I believe that's what the statistics say. eg, something from a Google search
just now:

[http://www.netmarketshare.com/operating-system-market-
share....](http://www.netmarketshare.com/operating-system-market-
share.aspx?qprid=9&qpcustom=iOS,Android&sample=29)

------
vladoh
I tried the new app on the iPad 1 and personally I still prefer the web page -
it still feels smoother for scrolling. Another thing I don't like in the app
is the chat list on the right that is always visible even if I'm offline. Is
it better on the newer iPads?

------
tnorthcutt
It seems strange that they'd use a font size of 11px on that page.

~~~
davidradcliffe
It seems strange that they'd use .NET/aspx on that site.

------
nathan_f77
This is a fascinating read. I love the level of detail, talking about
solutions to performance problems like caching the heights of rendered
strings.

------
nicolasmiller
Facebook gives me a feeling quite like the one I feel I would have observing
off-white eggshell paint dry or maybe munching on a packing peanut.

------
denzil_correa
There are still a few issues

[1] The application doesn't work well in landscape mode

[2] No feature to edit comments, this was existing as a feature in the
previous app.

------
logn
It's about time. I'm surprised that their terrible mobile app hasn't hurt them
in marketshare more.

~~~
murki
Well if something, it would make you fall back to check Facebook on its full
browser version, forcing you to see ads, which would be a good move for them.

------
chrisdroukas
Is it me, or is line spacing on the iPad _really_ tight?

------
dreamdu5t
Why start with iOS and not Android? Seriously!?

~~~
programminggeek
Probably because the users expect better on iOS. They certainly complained
louder. Also, my guess is the iOS user base might be higher value - as in they
click on more ads and the iOS app brings in more money.

If the iOS app is more responsive, users tap on more ads, and Facebook makes
more money.

------
playhard
Finally! Huge improvement.

------
sidcool
Android users waiting...

------
anuraj
Bye Bye HTML5!

------
alexjarvis
about bloody time!

------
Baba_Chaghaloo
A faster, more terminal cancer. Oh happy day.

