My Twitter stream and the headlines of sites across the web yesterday lit up with Facebook’s CEO blaming its stock price (failure to meet hyped expectation) on HTML5 (and its failure to make the Facebook mobile experience suck less).
Even ZDNet jumped on that bandwagon with a post titled Facebook’s Mark Zuckerberg knocks HTML5 in favor of native apps, using the summary, Mark Zuckerberg didn’t hold back in acknowledging Facebook’s mistakes, citing a focus on HTML5 as the biggest one. Bolstering its point, ZDNet included this quote from Zuckerberg:
The biggest mistake we made as a company was betting too much on HTML5 rather than native.
That’s it. No additional context, no more justification. An article clearly buying into the notion that Facebook is doing poorly because it built its mobile experience using HTML5.
Blaming a technology is easy. It takes the burden off the organization using it. No longer do you need to justify that your business model is broken, or the user experience is impenetrable, or that you didn’t factor all the use cases. You can just blame the “savior” technology for letting you down.
When I’m introspective about the last few years I think the biggest
mistake that we made, as a company, is betting too much on HTML5 as
opposed to native… because it just wasn’t there. And it’s not that HTML5
is bad. I’m actually, on long-term, really excited about it. One of the
things that’s interesting is we actually have more people on a daily basis
using mobile Web Facebook than we have using our iOS or Android apps
combined. So mobile Web is a big thing for us.
That statement better summarizes the situation. HTML5 is not done yet. It’s not fully formed. Browsers haven’t implemented everything and the rules are changing as (parts of the group of specifications that make up the marketing term) HTML5 gets into the wild. It also demonstrates that Facebook made a poor strategic decision by expecting too much.
In Facebook’s case, relying on HTML5 to mimic an app just won’t cut it for some of its features. While it has worked in other cases, that doesn’t mean it will work in all cases. Facebook has consistently had a poor user experience on mobile. That’s not the technology, that’s strategy and implementation.
You can watch the full interview in the embedded video below. Make your own judgments about Zuckerberg’s comments and compare it to how it’s being reported across the web.
I think that what Zuckerberg said is quite accurate. In my case, while the full quote certainly expanded a lot more, I didn't need it as I had already assumed some of the additional context.
Having experience with both JS/CSS3/HTML5 and native mobile apps, I think it's hard to make an argument that the "HTML5" route was ever appropriate for a Facebook app. For a browser-based experience, sure, but for an app (where users have an different expectation of functionality and experience), they made the wrong choice from the get-go. Sure it was easier, and they could re-use a lot of existing code & functionality, and it probably cost less too (no need to hire Java and Objective C developers), but it came back around and wound up costing more in the long run.
As devices get faster and faster, and HTML5 mobile frameworks are further optimized (speaking of which, Sencha announced today the pending release of Touch 2.1 with some sizable speed increases), the "HTML5" route may very well become a legitimate contender for large-scale mobile apps. For now, I believe it's best suited for less complex implementations.
Sadly, too many people who make decisions about what technologies to use aren't themselves using them and so may lack context you and I have when reading the snippet of the quote that made its way into the media.
HTML5 (and its related specifications), in time, will be viable for a Facebook-style implementation. I'm pretty confident of that. As you said, not a good fit for what Facebook wanted to do.