The Votes are in on HTML5 and Mobile: LinkedIn, Yea; Facebook, Nay

No doubt that you’ve heard Mark Zuckerberg’s mea culpa regarding the use of HTML5 for their mobile platform. He felt that they put too much of their strategy behind HTML5 and that they couldn’t get the performance that they could get from native apps on iOS and Android. He even went so far as to cite it as “one of the biggest mistakes, if not the biggest mistake” that Facebook has ever made. From a technical perspective, here is a link to a good article about the technology challenges encountered by Facebook along with comments from other technologists outside of Facebook.

On the other hand, LinkedIn’s iPad application claims to be 95% HTML5, and it is quite impressive. The application is quite responsive. The updates area appears as headlines a la Flipboard which gives your connections a bit of star quality.

How can two similar products (social networks) utilize the same technology and come up with different conclusions?
Welcome to the world of mobile application development.

The truth is mobile application development is more complex than traditional desktop development. In the mobile world, you have to contend with more device variety (screen sizes, CPU power, memory/storage, etc.). Things like location-based services and camera features (taking photos and videos) are very powerful capabilities that mobile brings to the table. People use mobile technology in a different context than desktops, so just shrinking the screen doesn’t always work. You may not schedule a flight using a smartphone, but you will certainly want to check you fight status (sometimes over, and over, and over…).

It could have come down to execution. Perhaps Facebook was using the wrong tools for the job. An application is many times more than just what you see on the screen. There could be back-end integration challenges. Often there are a constellation of technologies that have to work together. It could have just been a project-gone-bad, as this article indicates.

If you looked at LinkedIn’s approach, there was a considerable focus on the user experience and speed. In this article, LinkedIn’s Kiran Prasad talks about approaches to optimizing the performance of the application, taking a minimalist approach with some of the graphics to gain efficiencies. They also spent considerable time selecting the right tooling and approaches for optimizing their back-end connectivity, as this article indicates. Probably the most important factor was the LinkedIn iPad app wasn’t really about using HTML5 as the great cross-functional platform. In fact, Prasad is not a fan of responsive design.

You have two fundamental approaches for mobile development: web and native. However, within those two you have a significant number of approaches and frameworks, each of which has their strengths and challenges.

So should your campaign back HTML5 or lead a filibuster against HTML5? The answer is probably somewhere in between. There are some capabilities today that require you to use a native approach, like device-specific integration (camera, sensors, Bluetooth, etc.), and offline storage greater than 5 MB. Hybrid applications, which leverage web technologies (HTML5, CSS, JavaScript) by using a framework, can also enable many native features and controls. Beyond that, HTML5 is feasible to use for many mobile applications. In some cases, organizations have had both mobile web and native approaches for their applications. Unfortunately, there doesn’t seem to be a ‘cookbook’ solution, and the standard ‘it depends’ fits uncomfortably well.