(Readwrite article) HTML5 has never really lived up to its potential. As VisionMobile posits, this is partly a problem with performance and partly a question of tooling.
But it’s also a problem with marketing, as EmberJS co-founder and JavaScript evangelist Tom Dale (@tomdale) tells it. As he informed me in a far-ranging interview, “The dirty little secret of native [app] development is that huge swaths of the UIs we interact with every day are powered by Web technologies under the hood.”
So who is to blame for the HTML5 community twiddling its collective thumbs while native mobile development gets all the glory? I sat down with Dale to get the skinny on mobile development.
HTML5 Is Already In The App
ReadWrite: Browser development lags native development, perhaps in part because Apple and Google have invested so much in their SDKs. Why hasn’t the world rallied around the Web for mobile in the same way it has for Linux (OS), analytics (Hadoop), etc.? In fact, Firefox excepted, it seems that the Web breeds plenty of innovation, but not necessarily the concentrated innovation that’s needed right now to make HTML5 a real force in mobile.
Tom Dale: I disagree with the premise that the Web lacks concentrated innovation. In fact, if you look at the majority of “native” mobile apps written in 2014, how many of them contain significant portions authored using HTML and JavaScript? The dirty little secret of native development is that huge swaths of the UIs we interact with every day are powered by Web technologies under the hood.
When people say Web technology lags behind native development, what they’re really talking about is the distribution model. Let’s be clear about what the Web is: an open, standardized platform, accessible to everyone, that allows users to run completely untrusted code from multiple vendors, where applications are “installed” on demand just by visiting a URL. You’ll forgive me for thinking that app stores are an easy problem to solve in comparison. (This XKCD comic comes to mind.)
It’s not that the pace of innovation on the Web is slower, it’s just solving a problem that is an order of magnitude more challenging than how to build and distribute trusted apps for a single platform. As we saw on the desktop, it may take a few years to catch up to all of the capabilities of a native, proprietary platform, but in terms of the impact it will have on humanity, forgive me for not losing sleep if we have to wait a few years for it to arrive.
RW: Tim Bray recently said that JavaScript isn’t good enough; that it’s a crappy language. Are there viable alternatives out there that just need a touch of luck and corporate (or community) involvement to get them to a point that they can reasonably compete with the closed alternatives?
TD: Tim is just wrong. There’s no other language runtime as widely distributed as JavaScript’s. Getting a runtime installed pervasively is the high-order bit, and I don’t see anything on the horizon that will supplant JavaScript in that sense for at least the next decade.
Furthermore, the pioneering work by Mozilla Research on asm.js opens the door to JavaScript becoming not just a language but also a substrate for other languages to build upon. Already we see projects like Emscripten taking advantage of this work, allowing developers to compile any language with an LLVM frontend (and there are many!) to run with adequate performance inside the browser.
Again, adoption is the critical aspect. JavaScript is everywhere. Anyone who tries to replace JavaScript without treating adoption as priority #1 is fooling themselves. In my opinion, that’s why Mozilla’s let’s-improve-JavaScript strategy has been so much more successful than Google’s myriad efforts to replace it (both with Dart and NaCl).
Google, Apple And The Web
RW: Why hasn’t Google been a stronger advocate for HTML5? Yes, it has much to gain from Android, but it arguably has even more to gain from a common platform that makes the web the center of the mobile experience. And yet Apple has been a stronger advocate of HTML5 than Google has, at least in my estimation.
TD:Google is a strong advocate for HTML5, or at least particular teams within Google are. But the Google of 2014 is an adolescent behemoth, with accompanying growing pains and identity crises. It’s not surprising the signals out of it have been so mixed.
My theory is that there was an internal battle inside Google: Fight against Apple on its own turf, with an app store and a proprietary SDK, or go all in on the Web?
With Andy Rubin out and Sundar Pichai taking over both Chrome and Android, I think it’s obvious wiser heads have prevailed. Expect to see a much tighter integration of Chrome (and, therefore, Web technologies) into Android over the coming years.
Google’s only significant source of revenue continues to be search ads; anything that drives users away from the Web as the starting point of every interaction is the wrong decision, in my opinion. All indications are that, after some political battles, the executives at Google have realized the same thing. I’m excited for what the newly-rejuvenated Google can do for the mobile Web.
As for Apple, it’s definitely a different company under Tim Cook. I’m cautiously optimistic about the future of Safari on iOS. In particular, the work they’ve been doing on JavaScript performance is just stunning. Many people still think of V8 as the fastest JavaScript engine, but in our benchmarks, Apple’s JavaScript engine Nitro is smoking them.
Working with Apple can still be frustrating at times, as a culture of secrecy still pervades the work. We recently had a very difficult time tracking down a bug in iOS 8 that Apple engineers refused to work with us on. But hopefully the higher-ups will eventually realize that working closely with the Web community leads to a better experience for their users.