Why HTML5 is in trouble on the mobile front

Why HTML5 is in trouble on the mobile front

Summary: HTML5 promises great things for smartphone developers, but is yet to deliver in full. That leaves developers with a tricky choice: to build for openness or go with what works now.

SHARE:
TOPICS: Mobility, Apps, Mobile OS
16

HTML5 is supposed to be the next big thing. It represents the point at which the web standard will step up as a viable alternative to platform-specific code. But, if it's truly going to succeed, it will need to prove itself on the smartphone.

A couple of weeks ago, Sir Tim Berners-Lee gave an inspiring speech in which he championed HTML5 — though as he is the founder and chief of the W3C, you'd rather expect him to.

Sir Tim Berners-Lee
Sir Tim Berners-Lee is banging the HTML5 drum. Image credit: David Meyer

Berners-Lee attacked native smartphone apps — as he has done before — for taking information out of the general circulation provided by web technologies.

"If it's not a web app, it doesn't have a URL, and so it means I can't talk about it. We can't all decide whether you're making sense or not," he told the audience at Telefonica's Campus Party event in Berlin. "Native apps are taking away from the web. The good news is web apps are putting it back."

HTML5 is currently being stabilised, the web inventor added, and a lot of work is being done around security and access control.

All true — but it's not as straightforward as that.

Losing for now

At least as far as mobile devices are concerned, HTML5 is losing. It's certainly got a future — HTM5 is the foundation of Mozilla's Firefox OS, for a start, and HTML5 apps do work on Android and iOS. But right now, it's often simply out-performed by its rivals, particularly where the app is one that needs to deliver speed or a familiar app-like experience.

"Native apps are taking away from the web. The good news is web apps are putting it back" — Sir Tim Berners-Lee

Consider the evidence. In June, German social games developer Wooga abandoned its HTML5 efforts, citing problems such as discoverability (people aren't used to setting up links as homescreen icons), performance (native apps are faster), and connectivity (HTML5 apps usually require an internet connection to at least load, if not use).

That move was a blow for Facebook, which was rather keen on HTML5 as a way of wresting some platform control from Apple. Of course, Facebook went on to ditch the HTML5 interface for its own iOS app. The result? A much faster app.

Then we have the DRM (digital rights management) problem with multimedia content. While many people are opposed to DRM, broadcasters tend not to be in their ranks, because that would involve irking their content suppliers.

HTML5 does not in itself support DRM for video. This may explain why last week we saw the BBC and others force Adobe to return Flash Player, which does allow proper DRM, to the Google Play store in the UK.

Yes, the BBC uses HTML5 to deliver video to the iPad iPlayer app, but it does so in a way that it cannot yet do with Android. (Non-jailbroken iOS devices provide their own protection against the ripping of such streams.)

Standards

The underlying issue is that HTML5 is a proper standard, being developed by multiple stakeholders.

I hesitate to call this a 'problem', because that's how standards are and how they mostly should be made. But it does put the nascent technology at a strong disadvantage against platforms that are more directly controlled and easily progressed.

This is a worrying phenomenon, and Berners-Lee is right to bang the HTML5 drum. The general public is sleepwalking into a locked-in, locked-down future.

However, his pleas will fall on many deaf ears. Most developers who quite reasonably want to make money now will develop for iOS first, then Android, then maybe Windows Phone.

Why, at this point, should they think of addressing HTML5 early on? The best reason is its cross-platform nature: but right now, HTML5 apps generally get out-performed on each platform by native apps.

Two things could change that. One is BlackBerry 10, although I am more than sceptical about RIM's survival chances. The other is Firefox OS. This is a wild card — it could really take off in emerging markets, or it could be crushed by Android's low end.

I'm not saying HTML5 is dead on smartphones. Far from it. It's working now, and it will only get better.

But it is at risk of becoming a fringe effort.

UPDATE (Thursday morning): I'm replying to the comment below marked 'Serious Question', and putting this in as an update rather than reply because I think it really is an important point, and one that should be taken into consideration by many people. TL;DR version: needs vary.

Steve2424, if HTML5 works for you, then go for it. As I said in the article, it does work on phones, just not as well as native apps tend to. This will improve over time, and how tolerant you are of waiting is specific to your circumstances.

An audience such as yours will (I think) be less demanding of fluidity and performance than teens or adults, and a virtual world for kids is (certainly in its early days) about as good a case for HTML5 as you could find: cross-platform, always relying on connectivity, and not overly resource-intensive.

In the future, you may wish to rebuild your apps in native code, depending on how things work out. But for starting out with the sort of project you're talking about, I'd say HTML5 is just what you need.

Topics: Mobility, Apps, Mobile OS

David Meyer

About David Meyer

David Meyer is a freelance technology journalist. He fell into journalism when he realised his musical career wouldn't pay the bills. David's main focus is on communications, as well as internet technologies, regulation and mobile devices.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

16 comments
Log in or register to join the discussion
  • phonegap ?

    what about apache cordova / adobe phonegap ?
    lokanadam@...
    • HTML5 is in trouble everywhere

      It's simply not rich and interactive enough to get the best UX outta your hardware. The problem is in its gene as the best UX must be native and native cannot be HTML as it's not cross-platform so all that talk about HTML being rich and interactive is simply wishful thinking.
      LBiege
  • Until I can watch, "The Daily Show with Jon Stewart" ...

    on HTML5 on my Android devices, I will be sticking with Adobe Flash. Pretty much that simple from my standpoint.
    jkohut
  • Apps and the Web need not be mutually exclusive

    Indeed, they can be complementary.

    Take a calender App for instance. I may wish to write a new diary entry in at a meeting (with airplane mode on), or on a plane, or somewhere without Internet access. I simply would not want to be forced to use a HTML5 Internet app to simply enter an appointment, or check an appointment.

    However, once Internet connection is resumed, it can sync to the cloud, and I can access the full app from the web.

    I think Sir Tim is barking up the wrong tree with his demands that everything should be HTML5 only, as my example clearly demonstrates.
    Bozzer
    • A HTML5 app does not require live access to the net

      All it needs is a server running locally. We run complex 'web' apps on devices that are 75% of the time out of range of connectivity.
      eCubeH
    • Your example does not demonstrate that....

      HTML 5 includes "local storage". So your example of being able to work disconnected is a key aim for HTML 5 applications.
      Techboy_z
  • The only real advantage of HTML5

    Is the 'write once, run anywhere' mentality.

    As mentioned before with DRM, I don't buy into their security model. Javascript has been one of the most insecure and largest attack vectors for keyloggers and malware since it's existance. Plus no one 'really' likes writing Javascript (hence jQuery and MVC frameworks cropping up).

    And yes, it just doesn't have the performance of native apps, and SVG has a high learning curve which quite frankly just isn't that attractive.

    Native UI's are more appealing to users (and myself). No matter how much you spend on polishing a HTML5 site's design, it still 'feels' like a web site. There's a popular stigma that you don't do any real work on a web site (in the consumer space).
    dtdono0
  • thoughts

    "If it's not a web app, it doesn't have a URL, and so it means I can't talk about it."

    Unfortunately, URLs are part of the problem. They often long and complex, and they sit there in a bar taking up space. Web apps have to live with the chrome of the browser, even if it's never used in the app itself.

    " In June, German social games developer Wooga abandoned its HTML5 efforts, citing problems such as discoverability (people aren't used to setting up links as homescreen icons), performance (native apps are faster), and connectivity (HTML5 apps usually require an internet connection to at least load, if not use)."

    Meh, don't care much for Wooga, don't even know who they are, really. But they make good points.

    Yeah, most people probably don't know how to add a web app to the home screen. And typing in a URL is a pain on the mobile keyboard. So yeah, people do prefer apps.

    Performance cannot be fixed with the current generation of web technologies, and even HTML5 doesn't really fix it.

    You've got to parse the HTML, bring in assets like images, parse other languages like CSS, and of course parse and JIT compile JavaScript. It's a lot of stuff to just display a web page, and it all has to be streamed over a network connection that may or may not be working well at any given time.

    No, a convoluted process like this will never, ever, be as fast as native code.

    Not to mention native code can take full advantage of the hardware, while web technologies tend to be lowest common denominator stuff. Got a phone with fancy new sensors and fancy new features? Native apps will support them first. Web apps may or may not ever support them.

    Connectivity is very true. While the tech theoretically exists to keep a copy of a web app in storage, it's all too often broken and unused. I don't think I've ever had a good experience with a web app offline.
    CobraA1
  • Stirring the pot

    This post and others like it every day generate pageviews by bouncing back and forth on Native vs. HTML5. As other commenters have noted, yes, there are some holes in the HTML5 experience today, but it's a fast moving world and those things are being fixed every day as well.

    Imagine a world where you wanted to get on LinkedIn, but you had to use a Dell computer to do it. Or suppose you wanted to buy something from Amazon but you had to use an Amazon computer to do it.

    Would the web be as rich and amazing as it is today if Microsoft had owned it in 1995, and controlled what could go on it, and took a 30% royalty of all commerce transacted on it? The answer is, no.

    Mobile is the future of the computing, that's pretty clear.

    Can we allow Apple and Google to control and excise profit from the basic platforms that future computing will run on ? I don't think so.

    THAT is why HTML5 is so important - it's the only viable alternative to walled gardens. Companies like appMobi have been filling in those "gaps" in HTML5 for 2-3 years and with Moore's law and advances in browser tech, the best HTML5 apps are now indistinguishable from native apps.
    Roy Smith
    • The developers chose

      If you recall, the only development platform for the iPhone when it was released was via HTML. The developers raised such a huge stink that Apple accommodated them. Initially there was a lot of resistance to opening up iOS to native development. Even recently Facebook rewrote their app to be native on iOS to address the performance issues of their HTML based App.

      The reality is that, Apple's platform is probably the most open platform out there. They've made available a huge API to all developers, accessible from C, Obj C, and the various HTML techs. iOS frameworks are mature and capable, including WebKit which gets faster and more features with each revision.
      Jack Zahran
    • thoughts

      "but it's a fast moving world and those things are being fixed every day as well."

      Not really. Still have the URL bar. JavaScript has improved in leaps and bounds, but JIT is still JIT no matter how good you make it, and it'll never be as fast as a full compiler.

      And networks continue to be spotty, with the last mile remaining an open problem.

      "Imagine a world where you wanted to get on LinkedIn, but you had to use a Dell computer to do it."

      Wouldn't be any better than today. LinkedIn never got me a job. Monster seems to be far more successful.

      Besides, I'm not saying that the internet is bad. Not by any means. But, by the same token, it isn't a cure-all either.

      I think going extreme on either direction is a recipe for disaster.

      "and with Moore's law"

      Moore's "law" is a joke. It can't continue indefinitely, and frankly we haven't been keeping up with it recently. It's an observation one guy made about transistors, never really meant to be a hard and fast law.

      Not to mention Moore's "law" would apply equally to native apps, so they will always maintain their lead. So it's a useless argument anyways.

      " the best HTML5 apps are now indistinguishable from native apps."

      Which ones? I haven't seen any. It all breaks down if you pull the plug. Even the HTML 5 local storage stuff is a joke - it's never been reliable. I've had countless times where an HTML 5 app that supposedly is available locally breaks because it can't access its data, or because the browser forgot to keep a local copy of the app.

      And frankly, the features of online apps are underwhelming. None of them are as rich or powerful as their desktop equivalents. Not to mention native apps can take advantage of all of the features of the OS. A native app can show itself in the taskbar or in the notification area; a web app can't. A native game can use my Logitech joystick; a web app can't. A native app can access any of the USB devices connected to my system; a web app can't.

      Same would go with a phone - if a phone has a great new feature, be it a hardware or OS feature, a native app will be able to use it immediately, while a web app with have to wait around for browsers to support it and for standards bodies to standardize it.

      Web apps are lowest common denominator. They can't use all of the OS features or all of the devices connected to the computer.
      CobraA1
  • Google is a problem....

    Google is a problem as well......Flash was on its way out and Google hurried and stuck it in Chrome and was pushing it. H.264 has been pretty much set as the standard and Google is again coming out after its been pretty much set and pushing their own standards the VP8/WebM Ogg Codec and interrupting the industry again. And I'm sure they are doing other things to disrupt what has been pretty much set.
    cashxx
  • Serious Question

    I am not a developer, but I do have a company that is launching a virtual world (ie Moshi Monsters, Club Penguin) under a large kids brand, which we licensed from them. We decided to build it out in HTML5 vs. Flash. The audience will be 5-10 year old kids. Reason for HTML5 is so that the users could access the world / games via mobile and tabs. So far the testing has gone great. The movements are not as crisp as Flash, but for 5-9 year olds not sure they will really notice. Today, you cannot access Moshi / Penguin from any mobile device or most tabs. Samsung Note 10.1 I just purchased will not even successfully download flash, so I cannot access any of those sites. Just seems like an advantage to build this out in HTML5. I constantly scour and read the comments on this subject, any reason why doing this in HTML5 for this project could be a mistake?
    steve2424
    • Easy~~ just go native with Adobe Flash

      Adobe Flash won't update for mobile browsers anymore but it can published into mobile applications!
      flashflexpro
  • There is a reason people choose native apps

    People pushing HTML5 fail to understand that there is a reason people choose native apps: Look & Feel. Native apps (at least on iOS) are smooth, responsive, and engaging. They don't feel clunky. They don't feel like web apps. And people intuitively grasp and gravitate towards this.

    HTML5 is a document markup language. It's not meant for apps with even basic rich experiences. It hasn't shown to do better than Flash/AIR or native apps in these areas. Works great for blogs and news sites though. ;)
    RepublicOfDuh
  • Native or HTML5.

    The demand for mobile apps is staggering and for businesses, embracing mobile app development is no longer an option, it’s a necessity and a key decision to be made is whether to build Native or HTML5.
    To read the details: http://bit.ly/10Tw75h
    Inga Kletsova