Why Facebook shouldn’t have dumped HTML5

We all want to build fast, reliable mobile apps. Facebook couldn’t make its HTML5 mobile app deliver on that goal, and decided to build its own native app. In practice, this means retiring an app that is a browser-like shell that renders web pages (a thin client), and launching a fully-fledged app on the mobile device (a thick client, with apparently a sprinkling of HTML5 inside).

That’s a step backwards, and flies in the face of history. Haven’t we just been through a twenty-year evolution of thicker clients in general being replaced by thinner clients? How many apps did you install on your PC this year compared to ten years ago? How many tabs do you have open in your browser?

Should Facebook have just made the web faster and more reliable? Rather than mostly abandon HTML5, why didn’t they evolve the standard and make the web better? It wouldn’t be the first time that has happened — I’m many of you remember web standards evolving in the 1990s, and you can thank those days for the better experiences we all have today. So, an opportunity lost — but I am sure the story is not over, and indeed it sounds like their new app is indeed a “hybrid app” (where there is some HTML5 inside the native app’s framework).

This change also makes experimentation much harder. On the web, most major companies are running test versus control experiments or A/B tests. We put a population of users in an experiment, and compare their behaviors with those who aren’t in the test — for example, at eBay, we try out improvements to search ranking on a small population of customers and compare their behaviors to those who are seeing the regular results. The great thing about the web is you can do this fast — pretty much as fast as you can code and test the changes — and test large numbers of simultaneous variants. The outcome is you make fast progress in improving your product on behalf of your customers.

Building native apps makes experimentation harder. You could build an “A” and a “B” experience into an iPhone native app, get it through Apple’s approval process, and try out the two experiences on the customers. But the barrier to entry is much higher — you can only run a couple of experiments, and you probably only release once a month at most. You’re not going to evolve your application as fast as your customers want.

There are always tensions and tradeoffs: in this case it is speed and reliability on one side, and the future of the web and experimentation on the other. I would have fought hard to stay in the latter camp.

9 thoughts on “Why Facebook shouldn’t have dumped HTML5

  1. natelyman

    Facebook switching to native apps is all about user experience. Users expect fast and responsive apps. The former Facebook app was neither of those.

    The main technological hurdle Facebook had to solve for was JavaScript. The UIWebView control in iOS is WebKit just like Safari, but the JavaScript engine is 4x slower and you have basically zero opportunity to cache anything. So every refresh is a full reload.

    For Facebook to have a great HTML5 app on iPhone they would’ve had to write their own embedded browser just as Google had to for Chrome.

    Going native was probably far less work.

  2. Felix Livni

    Hugh, agreed with your points re HTML5 being the future, but I do think that the high order bit for Facebook was making the best mobile experience now, not improving the web for the future. Shortsighted? I don’t think so. Their mobile experience sucked. Their new native app is a good experience for users. Mission accomplished. Maybe now they will focus on making the web better.

  3. cifip

    Facebook still has the opportunity to push the future of the web through their mobile browser experience. They had millions of unhappy native app users and the opportunity to give them a far better experience by rebuilding their iOS app. I think they made the right choice, but I also hope they don’t let up on enhancing (and testing with) their mobile browser experience. There is no reason that Facebook can’t take the learnings from mobile web to guide which enhancements to put into their apps.

  4. cifip

    Facebook still has the opportunity to push the future of the web through their mobile browser experience. They had millions of unhappy native app users and the opportunity to give them a far better experience by rebuilding their iOS app. I think they made the right choice, but I also hope they don’t let up on enhancing (and testing with) their mobile browser experience. There is no reason that Facebook can’t take the learnings from mobile web to guide which enhancements to put into their apps.

  5. Kevin Hurst

    If a company is truly focused on providing the best user experience today, there is no question on the approach they should take. Tracking and iterating are not intrinsically valuable. The user experience is the goal. How you get there is irrelevant.

  6. David Beach (@beach)

    The key thing that I think you are forgetting is the user. The user was being done a great disservice by the HTML5 app. It was so slow and unreliable that it made using Facebook on mobile (a HUGE percentage of users) a terrible user experience. What matters most is the user experience. Should HTML5 be thrown out the window? I hope not, it needs to improve and be scalable to audiences as large as Facebook’s. I hope the standard evolves and I hope that HTML5 thin clients become more useful and scalable, but the bottom line is that FB users were losing patience and the new app saved their mobile ass.

  7. Hugh E. Williams Post author

    I am not arguing that the old facebook app was great — it wasn’t, the new app is a much better customer experience.

    I’m arguing (similarly to what David is saying) that it’s a step backwards in software evolution to build a native app — and, hopefully, we’ll see improvements in javascript engines, standards, and browsers such that HTML5 apps are a great experience on the iPhone. I am also saying that facebook has the user base, clout, and mindshare to help make that happen — indeed, my key point is that they can and should be flag bearers for helping making the web better. It’s a bummer they’ve walked away for now.

  8. Pingback: The state of Flash vs. HTML5 « The big WARCZYK

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s