To HTML5 or not to HTML5, that is the mobile question

Mark Zuckerberg opened up recently about HTML5 and the difficulties that Facebook has faced in developing mobile apps. In a quote heard round the world, Zuckerberg called HTML5 “one of the biggest strategic mistakes we made.” Those are pretty strong words from the CEO of the most influential company in the mobile market today.

Facebook is experiencing slower performance with HTML5 compared to native apps on mobile devices and the diversity of mobile browsers, which leads to confusion among web hosting developers over which parts of the programming they can use—hence, the appeal of native apps.

A native app doesn’t need an internet connection to run; it’s much faster than loading an HTML5 web app; and, because native apps run directly from the phone, they have easier access to the microphone and camera, making them more capable than HTML5-based web apps.

 

Long live HTML5!

Before you take Mark Zuckerberg’s HTML5 bashing as evidence that web apps are dead, remember that there are plenty of reasons why developers still like web apps in some circumstances.

HTML5 is an example of the “write once, run everywhere” mentality. Because most browsers function the same way, one app can run on almost all browsers, unlike native apps, which are operating system-specific. This obviously streamlines development, but for the user it means continuity, regardless of the operating system. Switching from iPhone to Android? Instead of having to get accustomed to the different interface of the new operating system, HTML5 guarantees that the app will look, run and feel the same, no matter what.

HTML5 also allows for constant updating, without the need for an app store. Every time a user logs into the web app, they get the most recent version of the program.

With a website such as Facebook, which is constantly updating and changing, an HTML5 base seemed like a no-brainer. Instead of having to wait for approval from Google’s Play store or Apple’s store, the web app simply updates itself. Again, this appeals to both users and developers. For developers, it eliminates the need to have to rewrite and resubmit the app every time it needs updating; for users, it frees them from having to reach for the “Update” button every few weeks or months.

The root issue for Facebook isn’t the little differences between HTML5 coding and native apps, but rather how to condense content born on desktop browsers for mobile browsers.

According to CNET, Facebook has 955 million monthly users, 543 million of whom are mobile users, which is an increase of 67% year over year. This is a huge shift in the very basics of how Facebook works.

 

Native or web app?

Native apps aren’t the cure for all mobile users. Twitter has been very successful in using HTML5, CSS3 and JavaScript to make hybrid applications that run fast and that feel as smooth as a native app.

Although they are different types of websites, Twitter and Facebook do have some of the same requirements: Facebook needs to be constantly updated with the most recent content, just like Twitter (although perhaps to a lesser extent). The whole point of both networks is to keep users constantly updated on their friends and followers, a need to which HTML5 programming lends itself. But both websites also need a smooth interface and quick upload time, which demand something like a native app. However, Twitter’s use of multiple coding languages might be the direction that Facebook needs to go in. The different code, at least for Twitter, has made for a better, smoother app than either a native app or an HTML5-only app could deliver.

Native apps definitely came first. Recall that preinstalled programs (i.e. apps)—such as address books, calendars and calculators—appeared on mobile devices long before the availability of Web connectivity. One of the most memorable instances was Nokia’s implementation of the classic arcade game Snake in 1998, which became a massive hit around the world.

Until HTML5 catches up to native apps in enabling users to play games and load social networks quickly, the latter will dominate those segments. Still, HTML5 is ahead with weather and shopping apps, both of which rely more on user analytics, which web-based apps can access and provide faster.

The characteristic that Facebook is pursuing—the one that all app developers will eventually have to learn—is adaptability.

Learning how your platform works and what functions are the most important to users is the key to guiding development.

Whether it’s HTML5, native apps unique to their respective operating systems, JavaScript or some combination thereof, the most important lesson for companies that are shifting into the mobile-based world, such as Facebook, is to lock down the key points of your software and use the programming that is available to make those key points as accessible and user-friendly as possible.

Do you build mobile apps in HTML5 or native code? Do you think HTML5 will come to dominate or will there always be support for native apps? Let us know in the comments.

Featured image/thumbnail, HTML5 image via Shutterstock.

0 shares
  • http://www.facebook.com/asher.ross.50 Asher Ross

    HTML is everything without it the thing couldnot work.

  • swift11

    “A native app doesn’t need an internet connection to run” (same for HTML5); “it’s much faster than loading an HTML5 web app” (no, sorry); “and, because native apps run directly from the phone, they have easier access to the microphone and camera, making them more capable than HTML5-based web apps” (is OS/browser dependent)

  • Thai Bui

    Here’s my take on HTML5 based apps. If you want to do stuff that’s light and don’t want to deal with the native language, use it. It’s not meant to do all sorts of feature intensive things like Facebook’s app. The lag between the browser’s wrapper and the phone’s API is noticeable. They should have seen that when they were developing the app. I should know. I’ve been building apps for years now and I started off building HTML5 apps. It has pushed me to building apps entirely with Objective-C and Java.

  • http://felixchi.com Felix

    Facebook just had a poor implementation of HTML5, look at the LinkedIn app, incredibly fast and responsive and it’s all HTML. Also apple’s App Store is HTML5 and it’s not that bad.

    Zuck just needed a scapegoat for the app’s performance.

    • http://twitter.com/mike_ds Mike Smedley

      Total agreement here, it’s the implementation, not the platform I think

  • http://twitter.com/sbp_romania SBP Romania

    html 5 is regarded by most as the technology of the future, and it has clearly proven to have many advantages, however because currently it is still a work in progress it doesn’t provide the reliability of other languages.

  • http://gauravmishra.com/ Gaurav Mishra

    HTML/HTML5 is so much open. That free from another language learning for front end. Browsers are learning HTML and HTML5 a lot. So hard work from guys behind the browser better to be used also.
    and The budget with native apps can be larger as compared to HTML based app.

  • jer01

    So if I would like to learn my first computer language (without having ANY coding background), which one (or top 3) would you recommend?

  • http://twitter.com/VforVCardoso Victor Cardoso

    A July Appcelerator survey found that out of 4,000 developers, only 4% were interested in developing pure HTML5 apps. Is it because they’re unfamiliar? Frightened? Or is it because the technology isn’t quite there yet? Hybrid apps probably feature the best of both worlds for the time-being.

  • stationstops

    I have built several HTML5 and native applications, and it all has to do with the requirements and resources for each project.

    For Facebook, I found it insane they chose HTML5 so early for their iOS app.
    For Zite, It was brilliant to choose HTML5.

    If you have a top-quality brand and just need to extend to mobile, like Facebook did, invest in native.

    If you aren’t a game and are a data-driven application like Zite that isn’t riddled with event contention issues and is simple, use HTML5.

    Just don’t *push* HTML5 into complex interfaces and apps, there is a point of reverse ROI there. Don’t be religious about either. Its a complex moving target.

  • Han Boon Kiat

    conversely, FB criticising HTML5 is only evidence that it is not only viable technology but it is here today and to stay.

    FB is throwing smoke to deflect the attention of people that
    not only FB is hopeless in mobile ads, application development, basic user privacy ethics…

    they now add “apathy from the WWW and all technologists” to this list

  • ENQINET PAAS

    HTML5 rocks, just as long as you aren’t a complete moron and can tackle the task. I’m just saying!