HTML5: Winning Developer Hearts and Minds--but With Some Holdouts

By Darryl K. Taft  |  Posted 2013-05-30

HTML5: Winning Developer Hearts and Minds--but With Some Holdouts

The emergence of HTML5, JavaScript and CSS—core Web development technologies—has taken the industry by storm, with major players moving to make the technologies part of their primary tool chains.

Microsoft, for example, has made HTML5 and JavaScript key to application development on Windows 8 and the Internet Explorer (IE) browser. Even more significantly, it has built the technology into its vaunted Visual Studio flagship integrated development environment.

"One thing you have to understand is when Microsoft includes something in its tool chain, it's usually already been adopted by a large cross-section of developers, and Microsoft is moving to carry it forward," said Anthony Franco, president of EffectiveUI, a Denver-based UI design and application development shop that is a very active user of HTML5.

HTML5, the fifth revision of the HTML standard, is a markup language for structuring and presenting Web content and a core technology of the Internet. It is sought after because it enables developers to create apps that run on multiple platforms without the need for changes to suit each individual platform. Under ideal conditions, that is.

"The main differentiator of HTML5 is that it's very simple to support multiple platforms," Christian Heilmann, principal developer evangelist at Mozilla, told eWEEK. "When you go the native route, you have to build an application—and build it bespokely—for all the different platforms. There's no such thing as saying that I'll write a Java app and then I can render it out to a Mac and on iOS and to a Windows phone and to an Android phone and to tablets and to the Web desktop as well," Heilmann said.

"With HTML5 you can do all of that. With HTML5 what we did is we took the Web technologies of the past, that were there for putting documents on the Web, and enhanced them for real application development—with offline functionalities, with multimedia support, with messaging back and forth, and with accessing the hardware directly from the Web technologies we know already from what we've built on the Web over the last several years," he said.

Indeed, as part of his key developer predictions for 2013, IDC analyst Al Hilwa said, "Enlightened coexistence between Web and native device application platforms will prevail; native deployed applications will remain dominant; Web platform (HTML5) technologies will make significant inroads."

In his report, Hilwa added: "We are predicting a bright future for Web technologies, which may someday infuse the majority of mobile applications. To start with, many Web technologies will be supported in a variety of development tools that generate installable native apps. These apps, known as hybrid apps, may be written mostly in HTML and JavaScript, utilizing browser components available on the native platform, and then bundled into 'native' applications distributed on application stores. PhoneGap, which was contributed by Adobe to the Apache Cordova project, is one of the most widely used examples of this approach."

Hilwa said the advantage of the pure Web approach is that it enables a great deal of code reuse across device platforms and the ability to distribute applications without going through application stores. Moreover, in most cases, application builders will choose to leverage Web technology because of the ever-expanding ecosystem of Web skills in the developer populations, he said.

HTML5: Winning Developer Hearts and Minds--but With Some Holdouts

"The key benefit is the promise of reduced effort as a single code base can handle multiple platforms," Hilwa told eWEEK. "This would be done with the overall standard Web platform effort, which includes HTML/CSS/JS, and with care taken core functionality can be delivered with a single set of code assets. However, developers have to adapt these Web apps and test them for the different platforms and in some cases bundle them with native functionality through bridges like PhoneGap."

Even Big Blue has gotten into the fray. Mike Gilfix, director of enterprise mobile for the IBM MobileFirst platform, told eWEEK that one of IBM's motivations was to look at HTML5 to get code reuse across multiple touch points or devices. "Whether we're talking phones, devices, kiosks or tablets, HTML provides a common ground across all of these and allows people to reuse content and share code while using a common skill set," he said. "So when we look at providing cross-platform support on multiple devices and consistency of experience, we're talking about using HTML5."

IBM acquired Worklight in 2012 to advance its HTML5 strategy. Worklight features runtime skinning to detect what platform a developer is working on and provides testing tools and optimizations, Gilfix said.

In addition, IBM provides HTML5 support through its Rational software development toolset. "We work very closely with Rational; in fact, we source from Rational," Gilfix said. "Anyone working with Worklight can layer on all the tools from the Rational brand. So we give you a first-class environment with capabilities such as code completion, visual design tools, integrated testing tools, ways to structure your code base for different environments, and we also package in Cordova," which is the Apache software underlying PhoneGap.

Speaking of first class, Microsoft has worked to make HTML5 a "first-class citizen" on its platforms.

"We really went and redesigned the tools to make sure developers could use HTML5 as a first-class language on top of our platform," Giorgio Sardo, a senior technical evangelist at Microsoft focused on HTML5 and Internet Explorer, told eWEEK.

Visual Studio is the tool Microsoft wants developers to use to build Windows 8 apps, Sardo said. "Visual Studio Express is an end-to-end solution for HTML5 applications," he said. "With a good platform you need great tooling support. When we released Windows 8, we also released Visual Studio Express, which is a free tool that allows you, for the first time, to build a native Windows 8 application using HTML5 and JavaScript. And so we give all of the capabilities that a developer expects from a managed language—from a native language like C++ or C#—to … HTML5 and JavaScript developers. This includes things like debugging the code or designing the UI or previewing different form factors or optimizing the code."

However, "In terms of what you bring into the application, you can use any JavaScript framework or library to build native applications on Windows—like jQuery. We support jQuery as a first-class citizen," he said. "On top of this, we also provide our own framework, which is called WinJS, Windows JS, which is another option and gives developers a choice."

HTML5: Winning Developer Hearts and Minds--but With Some Holdouts

Sardo said that when he looks back a few years, he can say Microsoft really put a big bet on HTML5. The company saw the Web was growing and that developers expected more from it—more features, more capabilities, more performance, he said.

"It was like if this was Las Vegas, then we went all in on HTML5," Sardo told eWEEK. "We made a huge investment, starting from the browser with IE9. That included work with W3C and we worked on interoperability. We emphasized performance. And we continued that over time with IE10. And then with Windows we took it to the next level, where we said, if HTML5 is the lingua franca of the Web and Web developers are using HTML and JavaScript, why don't we use it to also build applications?

"And so what we did with Windows 8 is we redesigned our operating system to run HTML5 applications natively in the browser. So we get rid of all the layers in the middle, and we really allow for the first time—this is really groundbreaking—we're allowing HTML5 to power not just Websites, but also native applications on the platform," said Sardo.

"With Windows, when we think about making applications with HTML5, we wanted to be able to take exactly the same code, with exactly the same language and with exactly the same developers, and give them the opportunity to express their new experiences in the form of an app, in the form of something they can distribute through a store and monetize that application," he said. "That's where we re-engineered the Windows runtime to run apps using exactly the same HTML5 as for Websites; now you can use it to build Windows applications."

However, Jason Beres, senior vice president of developer tools at Infragistics, begs to differ, in a certain sense. According to Beres, one of the things holding back broader adoption of HTML5 is a lack of tooling support.

"Microsoft really has nothing for HTML5 development," he said. "They say they do, but basically what they have is IntelliSense. Visual Studio is the best IDE in the world, but not for HTML5 development. The big IDE vendors just don't have a great story here. That's a big issue—the tooling is immature."

Of course, infragistics is willing to help fill in the gap with its own tools, such as Ignite UI, its HTML5 toolset.

EffectiveUI's Franco said he believes Microsoft's HTML5 tools are acceptable in the Microsoft environment, "but half the world is not Microsoft [based]."

Yet this point is somewhat moot to Mozilla's Heilmann, who noted that "the tooling itself is still very much in its infancy for the reason that there is actually no one SDK for the Web. It depends on the use case. A lot of the libraries that we use for desktop development are far too heavy for mobile environments."

While HTML5 has been slower to catch on with consumer apps, it is moving into the enterprise. Beres said he has seen a definite move to support HTML5 in the enterprise. "Last year we had enterprise customers asking us about HTML5, but they just wanted to know what we had; they wanted demos but they weren't building anything," he said.

HTML5: Winning Developer Hearts and Minds--but With Some Holdouts

"This year they're building things," Beres said. "They are looking at taking their rich client apps and making them HTML5 and JavaScript based. There is a push for mobility on highly used apps that were not previously accessible to mobile, and they're looking to do a lot of their new development in HTML5 and JavaScript."

OmniTI, which focuses on Web applications and Internet architectures, does a lot of HTML5 development for enterprise clients. Robert Treat, chief operating officer at OmniTI, said the company is typically called in for one of two situations when it comes to HTML5.

"Generally speaking, the two use cases that jump out at me to begin with are projects where we have replaced an older technology like 'Flash' with HTML5 and JavaScript, and the other is in new development where we are targeting 'responsive Web design,' i.e., sites that can transition their look and feel across desktop, tablet and mobile browsers," he said.

Indeed, said Treat, "For our clients, the main driver has typically been performance; rather than loading large Flash files, we could do the same thing with less code using HTML5 and JavaScript. It also allowed us to add functionality that was difficult to do in Flash. The replacement process is usually straightforward; you first need to document the existing functionality and then reimplement it in HTML5/JavaScript."

"It's not always a rip and replace sort of thing," EffectiveUI's Franco said. "We are often helping companies migrate away from Flash, but it's not all or nothing. We're helping them write new apps. And often we'll do hybrid apps with HTML, JavaScript and CSS, and also some native code—usually Android or iOS. A lot of the apps we're migrating from never saw the Web. They were green screen line-of-business apps going to legacy front ends. HTML5 is enabling us to build better UIs into older legacy apps."

Ty Amell, CEO of StackMob, which provides a hosted HTML5 development environment, also said he is seeing a surge of enterprise interest in HTML5. "We've seen a nice uptick, especially in the enterprise," Amell said. "We have a multi-tenant environment, and we have a custom install where we go in with a system integrator and enterprises want to get their legacy systems into the hands of their mobile workforce. … HTML5 is great for responsive design and the ability to reuse code across devices."

Despite its many positives, among the problems with HTML5 right now is that "a lot of the platforms don't allow you to get access to the hardware," Mozilla's Heilmann said. So for example in the Firefox OS device, developers can access the camera, can access the accelerometer and can have a full database where they can store content.

But if they want to roll their Firefox OS app out to all the other platforms, in iOS they don't get access to the accelerometer and the camera from an HTML5 application; they have to create a native application for that, he said. And there are different specifications for different platforms. For example, iOS uses Web SQL for databases, whereas Chrome, IE and Firefox use IndexedDB, he added.

"So the shock that a lot of native developers have is that there are differences between the different browsers and the platforms that you have to work around," Heilmann said. "But that's why you have abstraction layers like libraries and APIs to take these differences away from the developer."

HTML5: Winning Developer Hearts and Minds--but With Some Holdouts

"So the main problem that HTML5 still has is that the native platforms like Android and iOS don't give us full access to the hardware and don't treat HTML5 applications with the same rights that they treat native applications," said Heilmann. "That is partly a security thing, and it is partly a thing that they want to maintain a native environment because both platforms make a lot of money with native applications and by saying, 'Hey if you want this, then you have to buy an iPhone because it will not be out for Android'—which I consider unfair to the end user," Heilmann said.

"These are the main stumbling blocks that people not coming from the Web see for the first time. But changing it for the different platforms is rather trivial compared to building your application in six different formats and rolling it out to six different distribution platforms," he said.

For his part, Franco said with HTML5, "It's easier to code errors and much harder to find errors when you code them."

Franco attributes the growth in HTML5 usage directly to the decline of Adobe's Flash, and he says the decline of Flash stems directly from Apple's decision not to support it on iOS. Indeed, there is the famous Steve Jobs post from 2010, where he says:

"Rather than use Flash, Apple has adopted HTML5, CSS and JavaScript—all open standards. Apple's mobile devices all ship with high performance, low power implementations of these open standards. HTML5, the new Web standard that has been adopted by Apple, Google and many others, lets Web developers create advanced graphics, typography, animations and transitions without relying on third party browser plug-ins (like Flash). HTML5 is completely open and controlled by a standards committee, of which Apple is a member."

Franco said he knew Flash was definitely on the decline when, at the unveiling of the Apple iPad in 2010, Jobs displayed a slide with the word "Flash" and a question mark on it. "Apple was putting a stake in the ground with HTML5, so Flash has been on a decline for a few years now," he said.

"Two years ago, 90 percent of our work was in Flash; now a majority of what we do is HTML5 and JavaScript," Franco said. "Flash was a great Web application environment, and in my mind the world took a step backward when we started to back away from Flash. It's really a good development environment, but because of the trend of not supporting Flash apps, we really had no choice."

Meanwhile, Adobe itself is embracing HTML5 and is helping to advance the standard. Andrew Shorten, product manager of the Web segment products for Adobe Creative Cloud, said Adobe's been supporting HTML5 since 2010 in its Creative Suite 5 and has continued support it since, based on customer demand.

"We're seeing the use cases of when you can use HTML5 growing significantly," Shorten told eWEEK. With a "number of the new tools Adobe is working on, we're making that jump and building tools using HTML5 ourselves," he said.

HTML5: Winning Developer Hearts and Minds--but With Some Holdouts

"In the past when we would have embarked on a new tool, we typically would have built that natively in C++ using one of our UI libraries for Adobe tools and deployed that across Mac and Windows," Shorten said.

 "A number of the new Edge tools we've been working on—including Edge code, which is a coding environment for HTML5, JavaScript and CSS, and also Edge Reflow, which is a tool that helps designers with communicating responsive design layout—we've actually built from the ground up using HTML, JavaScript and CSS," he said.

Shorten also noted that Adobe has delivered products like Muse, where the target audience is a print designer or graphic designer who does not have a lot of knowledge about coding but still wants to take advantage of the Web platform—to take their design skills and target the Web. Muse leverages HTML5 and CSS.

Meanwhile, there is a vast array of HTML5 frameworks—as well as JavaScript frameworks—available for developers, many of which are open source. Among the commercially available frameworks are those from Sencha and Appcelerator. Sencha's tools support HTML5 development for desktop and mobile applications.

"Sencha gives us a massive step forward in developing rich Web applications by delivering one of the best HTML5 frameworks on the market," said Craig Walker, CTO of Xero, an online accounting software maker and Sencha customer. "We use the modern UI components, layouts and core framework to save time and keep our developers focused on writing app code."

However, Nolan Wright, CTO and co-founder of Appcelerator, said the challenge with HTML5 as it relates to mobile is that it has not been able to meet the user experience bar set by native applications. The other issue with HTML5 is that the existing mobile Web browsers do not uniformly implement the standard, so developers still have to deal with differences between browser vendors and versions much like they do with the desktop Web browsers.

"Our approach is slightly different," he said. "We are enabling developers to use Web technologies like JavaScript to deliver native mobile applications. We believe this approach offers the best of both worlds: leverage Web technologies and Web developers without sacrificing anything on the user experience front.

"We are also seeing that user experience matters for B2B [business-to-business] and B2E [business-to-employee] apps just as much as it does for B2C [business-to-consumer] apps. Trends like BYOD [bring your own device] and BYOA [bring your own applications] are impacting the ability of the enterprise to mandate mobile application adoption. The result is that enterprises realize they must deliver great user experience for all mobile applications, but it's not really feasible for them to staff teams of native developers," Wright said.

StackMob's Amell agrees that the downside to HTML5 is that it doesn't match the expectations of consumers as compared with native apps. But he says he believes "HTML5 will eventually win. We're not there yet; we're probably a couple of years out. We can't meet all the consumer apps the way people want them. But you just won't continue to see people building the same app over and over for all these different platforms."

Rocket Fuel