Facebook’s iOS update is not about HTML5
The debate centered around the viability of HTML5 versus native apps, but that actually has very little to do with Facebook’s update.
The new Facebook app is not native
I downloaded the new app to see exactly what the major changes were. To my surprise, the only major noticeable change is that the feed now renders natively. While I might have missed other changes (as I’m not much of a Facebook user), one thing is rather clear: there is still a whole lot of HTML in this app.
User profiles are HTML.
Pages are HTML.
Groups are HTML.
Events are HTML
App Center is HTML.
Find Friends is HTML.
Pokes is HTML.
Notes are HTML.
Half of Settings are HTML.
All of a sudden, the line about the app largely moving away from HTML5 in favor of native seems a bit naive.
Facebook Engineering released a post about the update in which they explained that scrolling through the feed on the old app was problematic, especially when automatically loading more content. Their solution was running network-related and computationally expensive tasks on a separate thread, so they wouldn’t block UI interactions. There is no reason this could not have been done in HTML with Web Workers, as it is supported on iOS.
Website vs. old native app
The biggest and most common issues with the old mobile app were related to content not loading from Facebook’s servers.
For example, when I opened my message list, I often waited over a minute for any messages to show up. Once the content loaded, though, everything performed fine.
More importantly, how is it that the mobile website did not have these same network issues? It sounds less like HTML5 was the problem and more like the native app was poorly implemented.
HTML5 vs. native
As a Web developer, I know many of the pains of the mobile Web. I’m not remarking on whether Web or native is superior.
I’m arguing that this recent Facebook update has little relevance to that debate.