The author is a Forbes contributor. The opinions expressed are those of the writer.

Loading ...

Loading ...

This story appears in the {{article.article.magazine.pretty_date}} issue of {{article.article.magazine.pubName}}. Subscribe

The markets have been absolutely smitten with Facebook CEO Mark Zuckerberg’s performance in an interview with Michael Arrington last Tuesday. The company’s stock, left for dead in the aftermath of its May IPO, has surged 13% since the young chief took the stage at Disrupt in San Francisco. The key soundbite: Zuckerberg’s mea culpa on HTML5.

“I think the biggest mistake we made as a company is betting too much on HTML5 as opposed to native,” he admitted, acknowledging his company’s difficulties in piecing together a coherent mobile strategy.

Lost in the surge of press following this statement has been a clear explanation of the technical challenges facing mobile developers - the context in which Zuckerberg staked his company’s future on a promising new programming language.

Most companies looking to get into the mobile space, face a choice: they can choose the native app route, building out Android, iOS and maybe Windows apps within each platform, or the mobile Web route, relying on HTML5 to attract users through their phones' browsers. Facebook took a hybrid approach, leveraging their HTML5 efforts from the mobile Web to work in native applications in iOS and Android. The result was disappointing.

To understand why, let's take a step back and take a look at the daunting, fragmented mobile landscape in which Facebook must function. If you’ve ever dealt with the insanity of fixing bugs peculiar to one version of Internet Explorer, for example, you can imagine how that same frustration might translate to creating a mobile experience that needs to work for 550 million people across 7,000 different kinds of phones. The myriad of operating systems and form factors (hardware) means that, in creating one framework to work in all settings, mobile developers face a far steeper challenge than their desktop counterparts.

Take hardware. Using a Dell or a Mac, you still interact with web applications in basically the same way, with a mouse or trackpad and a keyboard. Hardware variation rarely impacts basic web-browsing functionality. Now consider the differences between a Blackberry and an iPhone. Or a Samsung and a Nokia. Different screen sizes, different levels of computing power, different pixel densities, different operating systems, and very different means of interacting with each device. EachScape CEO Ludo Collin, whose company has developed mobile applications for clients like NBC and Discovery Networks, says that developing for HTML5 is "ten times more complicated than iOS" since developers need to account for such a mind-numbing degree of variation.

And despite their current ubiquity in the U.S., it should be remembered that smartphones - and thus mobile development platforms in general - are a relatively recent phenomenon, meaning that standards and languages aren’t as mature as those in the desktop world. HTML5 is still "half-baked" in Collin's opinion and won't provide the magical, cross-platform performance expected of it for years.

In confronting this disjointed ecosystem, Facebook took the path that many technologists would likely prefer. They attempted to unite their mobile efforts across one consistent architecture, using HTML5, instead of attacking each platform with a custom-built native app. There are a couple of advantages to this approach, many of which Facebook developer Jonathan Dann touched on in his announcement for the company's new iPhone app on August 23rd:

By allowing us to write once and ship across multiple platforms, HTML5 has historically allowed us to keep the Facebook mobile experience current and widely available, and has been instrumental in getting us to where we are today. We chose to use HTML5 because not only did it let us leverage much of the same code for iOS, Android, and the mobile web, but it also allowed us to iterate on experiences quickly by launching and testing new features without having to release new versions of our apps.

Facebook prides itself, as it should, on putting user experience above all else, stock price included. In that light, the focus on HTML5 seems to have been justified in terms of delivering updates quickly and consistently across platforms. But at some level, I’m surprised that it took so long for the company to recognize that HTML5 required a huge sacrifice in core user experience. Who cares about updates if the main product is crap? By trying to rope together disparate mobile efforts with HTML5, the company sacrificed performance for the sake of efficiency.

Dann continues, "We realized that when it comes to platforms like iOS, people expect a fast, reliable experience and our iOS app was falling short." As Mashable reported, since Facebook released a new, wholly native version of its iOS app, ratings have jumped from 1.5 to 4 stars in just a few weeks.

Fortunately, Facebook's efforts in HTML5 should continue to pay dividends. Most of the company's mobile users still access the social network through a browser. While that number may taper off as the company's native apps improve and iOS and Android continue to capture market share, the company's mobile Web effort is still a major part of its business.