Facebook vs. Fastbook: why HTML5 is ready for cross-device deployment

A couple of months ago Facebook updated its iOS app. The differences were vast: faster response, lower loading times, and less data retrieval. Mark Zuckerberg, Facebook founder, claimed that the differences in speed between the new ‘native’ app and the previous ‘web-based’ one were down to HTML5 – the standard for web coding – just not being “ready” for the prime time. As a result, the new app used Objective-C to draw elements in the main View. HTML5 framework organisation Sencha Touch, who make HTML5 apps for a range of devices, said they could make an app that performed better than Facebook’s ‘native’ one and use HTML5 to do it. They did well, lending weight to the argument of the growing movement of developers and IT professionals that foresee the gradual coagulation of programming languages in to web-based ones.
Sencha Touch, a development framework for deploying web-based applications to devices via emulation of native functions in a stripped-down browser, took a look through the Facebook iOS app. Astonishingly, they discovered that a tiny amount of actual functionality was truly ‘native’; the vast majority of functions were using HTTP requests to fetch remote data and load them in to a ‘UIWebView’ – the basic stripped-down browser window. The entire Facebook feed was reputedly made up from one of these. HTML had in no way been eliminated, but in certain circumstances HTML frames had been traded out for ‘native’ ones.
Incensed by the ‘bad workman blames his tools’ ethic – and the use of their beloved HTML5 as Facebook’s scapegoat – Sencha Touch set out to build a Facebook application offering the same functionality, but using HTML5 in its entirety. They claimed to “have pretty deep experience with development teams taking on HTML5 app projects”, and specifically, that they bet the main problem with Facebook’s web app (if it was anything like other web apps the team had developed) stemmed from the fact that developers “take a “website” development approach to building an app, and often don’t use the right tools and architectures for application development.”
Needless to say, Sencha were successful. Here’s a video demonstrating just how successful they were. Their app performs, arguably, better than the ‘native’ equivalent. What does this prove?
It proves, quite simply, that web technologies are ready for the prime-time. It’s been said before, but rarely with such resounding evidence. HTML5 (structure) and CSS (presentation) are sitting pretty, with massive and sustained advances in the technologies occurring all the time. JavaScript (interactivity) is the most popular programming language in the world, and is regarded by many to be one of the most useful. We may be living in an age in which other programming languages will become defunct. As the Internet grows and as client browsers gain in computational ability, we’ll see a growing use of these web-based technologies in application creation. It’s not hard to see a future in which web technology-based applications are the only breed of application we’ll be able to get.
But will this happen? Computer programming language ‘C’ (and derivatives) is still dominant on Windows, and Windows ships with almost every laptop, ultrabook and notebook available on the market nowadays. Even Apple’s software ecosystem is based on languages derived from C. The modern notebook, though, sits in a very different place to where it once may have. Research released by Google states that forty percent of PC and laptop use is spent retrieving information (which suggests Internet-based research). We’re spending an increasingly large proportion of our time online, with smartphones and tablets only serving to push that ever further. Shortly, we may see that the majority of our IT needs can be met by websites, web apps and online repositories of information.