The Web is ever changing. What was once a place where documents and information could be accessed has turned into a place where users can communicate verbally, visually and virtually, where users can play interactive games, and where users can stream music, movies and television shows. To keep up with these advanced features and capabilities, the technologies for developing Web applications have to constantly change as well. In today’s connected world, developers have been increasingly turning their attention to HTML5.
In the past, HTML5 has been viewed as the ugly stepchild of Web technologies. But with recent advancements from the World Wide Web Consortium (W3C), HTML5 is quickly becoming the preferred solution for developing for the Web.
“Over the last probably six months, HTML5 has really kind of risen to become a reliable enterprise-class software that large companies and small companies can actually count on,” said Art Landro, CEO of Sencha.
(Related: YouTube turns to HTML5 instead of Flash)
What has happened is that HTML5 has improved to provide better and richer features, browsers have gotten much better at implementing HTML5, and processing JavaScript has become a lot faster, according to Danny Brian, an analyst for Gartner. “All of these things going on has kind of created a perfect storm for HTML5 as a solution for the future of all application development,” he said.
Once the W3C realized the Web was moving toward HTML5, the consortium decided to tackle standardizing it, and the specification reached recommendation status in October of last year. “It was clear at the time that JavaScript engines were becoming much faster, and therefore it was allowing developers to do a lot more dynamically than they were able to than before,” said Philippe Le Hegaret, interaction domain lead at the W3C. “As soon as you start actually being able to produce more code to do more, then you have to have the functionalities that align with it. Our goal was always to extend the Web platform, to give more functionalities for the developers to develop their applications.”
When talking about HTML5, it is important to note that it no longer refers to the Web platform itself; it refers to a set of technologies such as JavaScript, CSS and HTML.
On the JavaScript side, developers are excited about the new version of the ECMAScript 6 programming language, according to Brandon Satrom, senior director of product management for Telerik, a Progress company. “Developers are really excited because it does a lot of things developers have wanted for years that they have gotten in other programming languages,” he said. “I think they are realizing that languages are evolving like the other languages they are used to using. That is a good signal.”
On the CSS side, developers are interested in features such as animations, transitions, transformations, styling and fonts. “Developers have really gotten excited about this similar maturing of CSS,” Satrom said. “There are really popular CSS frameworks out there that people use to make it easier for them to write CSS that’s less expensive and faster too.”
And in the case of HTML, a big thing developers are interested in is Web components. “Web components are built on this idea that developers should have more freedom to actually define their own reusable components,” said Satrom. “Instead of relying on a third-party UI library to give you a calendar control that just sort of sits on top of the browser, the developer can actually create a reusable calendar control, or they can use a control from that third-party vendor that is a little bit more maintainable and a little bit more reusable across apps.”
Then there is the ability to write once, deploy everywhere that really has developers looking into HTML5, according to Sencha’s Landro. “You can write an HTML5/JavaScript/CSS app and basically deploy it to a desktop, you can deploy it to a mobile phone, and you can deploy it to a tablet. If you were to do that all natively, you would have to at least write three different apps, and maybe even more depending on which revision level and which browser that particular device is using.”
The drawback of HTML5
While developers are increasingly favoring HTML5, it is not a perfect language, although it is getting there, according to Telerik’s Satrom. “I think every year the disadvantages become fewer and fewer,” he said.
In the beginning, HTML5 was just waiting around for browser adoption. Today this isn’t as big as a problem because a majority of browsers have started to improve their support for HTML5, but there are still companies such as Apple that haven’t fully embraced it.
“[Apple’s Safari] has sort of become the browser that is dragging down a lot of the progress,” said Satrom. “With so many people largely consuming the Web via their iPhone and iOS devices, the state of Safari becomes an important consideration for a developer looking to adopt some of these technologies.”
Even with browser adoption, one thing that hasn’t changed is the number of browsers developers have to target. “Each browser is running slightly different code internally, but that means features will have minor differences,” said Gartner’s Brian. “That continues to be a downside not only to HTML5, but of standards-based programming in general.”
Then there is the fact that the Web browser is such an open, non-prescriptive development environment that forces developers to have to use additional libraries and frameworks to build their apps, according to Brian. “They don’t just sit down and start writing HTML5 or JavaScript; instead they start by looking at the frameworks like AngularJS or Facebook React, and that ends up being their starting point,” he said. “Those frameworks do have a learning curve, so the downside of HTML I would say is the reliance on community frameworks, libraries, and the learning curve they require.”
(Related: Facebook prefers React Native for HTML5)
Offline support also remains a problem for HTML5. “It is a necessary feature for applications especially on mobile, but the offline support story of HTML hasn’t been a great success so far,” said the W3C’s Le Hegaret. “You can’t get far in HTML applications that require offline support in mobile.”
He noted that the W3C is currently working on this, and there has been a proposal that would enable background processing, which would allow a developer to make a decision about how the HTML app should behave offline.
The great debate
For years there has been a debate within the development community on whether to use HTML5 or native technologies for Web development. The argument on the native side used to be that developers couldn’t build a high-quality mobile app using HTML5, but with the W3C’s recent HTML5 standardization and increasing interest from developers, that debate is rapidly going away, according to Sencha’s Landro.
“There has been a lot of debate that there is better performance on native, but we actually say that the Web technologies [are] sometimes even better than native,” he said. “Apple released iOS 8 with massive improvements in their browser technology that enables for Web-based applications. The same thing with Android: There have been massive improvements with what they are doing. Even the phone manufacturers and the OS manufacturers are realizing that being able to play very well in the HTML5 development environment is very important to their business.”
But even with the browser improvements, there are still some app stores that don’t allow developers to publish their HTML5 apps, such as Apple’s App Store and Google Play. Developers often wrap their Web app natively to get their app distributed in the app stores, and to get access to native APIs on a mobile device such as the camera, infrared scanner or GPS module.
In addition, some Web features don’t work across all browsers. To get around this problem, developers have turned to polyfilling to ensure their functionalities work in all browsers. “Polyfilling is great, but the problem with it is that it does introduce another dependency or a fail point for developers,” said Telerik’s Satrom.
He added that developers often think a hybrid app is slower than a native app, but there are a lot of examples of apps that were not necessarily bad because they were weak, but they were bad because the app was poorly constructed.
“It is just as easy to write a poor performing native app as it is a poor performing hybrid app,” he said. “You have to look at the best way to construct an app.”
The death of Adobe Flash
One of the biggest benefits of HTML5 is that there is no longer a reliance on plug-ins to provide richer content within the browser, according to Gartner’s Brian. That benefit has resulted in what most view as the end of Adobe Flash.
“You could argue that if we had HTML5 and we had the browser that we have today eight or nine years ago, we would have never introduced a lot of those plug-in technologies in the first place,” Brian said. “Browser vendors themselves are getting aggressive about eliminating this older generation of plug-in technologies because they are expensive for them to support. They cause crashes, they cause hangups. It is just a software architecture kind of different era, and it really doesn’t have a place anymore.”
Adobe Flash was created to bridge a gap in browser features, but now that companies have the ability to have content run in the browser without having to install the software beforehand, many companies are moving away from Flash. Mozilla blocked Flash in Firefox, YouTube dropped Flash video support in favor of HTML5, and Amazon dropped Flash on Amazon.com, its advertising platform and other Interactive Advertising Bureau (IAB) standards.
“Two key reasons for supporting HTML5 [include] a diminishing Flash audience, and that it’s the only technology that can work across popular devices and platforms for rendering ads,” said Scott Cunningham, senior vice president at IAB. “The audience capable of viewing and experiencing Flash ads has been diminishing over the years due to growth in mobile devices, and steps taken by browsers to improve performance that limit Flash plug-in capabilities to render display creations as designed by ad designers.”
According to Telerik’s Satrom, these reasons have made it a no-brainer for a lot of companies to move away from Flash to HTML5 because HTML5 is not a browser hack. “HTML5 is something that is actually natively available inside of the browser, and an easy thing for a developer to jump into,” he said.
Telerik’s Satrom also went as far to say that Flash is largely dead, and that there is no path forward for the technology. However Gartner’s Brian argues it will always have a place in certain use cases, just not in browsers. “Adobe Flash is used in a lot of environments outside of the browser for different tools such as video games that will sometimes use it for their UI elements, but as far as the browser is concerned it is going to die off,” he said.
Adobe itself is also recognizing the lack of Flash within browsers. “With the growth of competition in the browser market, browser vendors are increasingly innovating and providing functionality that makes it possible to deploy rich motion graphics directly via browser technologies, a role once served primarily by Flash Player. Increasingly, rich motion graphics are being deployed directly via the browser using HTML5, CSS3, JavaScript and other modern Web technologies,” the company wrote in its road map. Going forward, Adobe will turn Flash’s attention to creating and deploying rich content and graphics in games as well as deploying premium video.
The future of HTML5
There has been a lot of talk about whether or not there is going to be an HTML6 anytime soon. “It is something out there, but it is not something that is being actively talked about or worked on,” said Gartner’s Brian.
While there is a list of features floating around that developers want, and that list is being referred to as the possible next version of HTML, Telerik’s Satrom doesn’t foresee an HTML6 anytime soon either.
“HTML5 is an umbrella term. It has come to mean so much more then just sort of the HTML specification itself, which is actually a relatively limited subset of everything that we have talked about,” he said. “I think that the idea of versions has largely gone out the window. That is not to say that we may not have HTML6 in the future, but I think now the conversation is more just about treating HTML and the Web stack as these sort of living technologies you need to constantly evolve.”
According to the W3C’s Le Hegaret, there is still a lot more work to be done on HTML5. Some things the consortium is currently working on are real-time communication, and providing developers with the ability to extend the Web and extend the functionalities that are being provided.
“Right now, we have an effort in the CSS working group to extend CSS, similar as Web components extend HTML, where people are going to be able to actually develop their own CSS properties and get them supported by the Web browser,” he said. “As a consequence of a development like that, I expect it will become easier and easier to actually develop applications because more and more libraries are going to be able to provide high-level functionalities so that you don’t have to start from scratch from the beginning.”
The W3C is also working on how to take an idea someone on the Web has and make it a standard for the Web. The consortium is in the process of restructuring its HTML and Web application working groups and merging the two into a main working group that would facilitate the coordination between the HTML language and APIs.
In addition, the W3C has created community groups that are meant to allow developers to bring their ideas directly into the development community, and to discuss their ideas with people who are actually developing browser engines, according to Le Hegaret. The community group is called the Web Platform Incubator Community Group, and it is open to everyone. “The goal is to help people who have ideas, make them complete, and guide them so that they can later on become part of the Web technologies,” he said.
“The fact is, we are far from complete.”
A new video codec for the Web
For the past couple of years H.264 has served as the industry’s standard video codec. But with all the advancements being made in video, audio, images and streaming across devices, the next generation of video codecs starting to emerge.
Currently, the H.265 video codec is positioned to be the successor to H.264, but H.265 is posing difficult licensing situations, making it almost impossible to put this technology on software-based products, according to Cisco’s Rosenberg, vice president and CTO of Collaboration at Cisco. Two things are happening with H.265: The price per unit is going up by a factor of 16, and there is no longer a cap.
With H.264, there was a cap that allowed licensors to either pay per unit, or to buy a license so the price per unit didn’t matter. According to Rosenberg, that cap was reasonable. But without a cap and the cost per unit going up 16x, it is too expensive to include H.265 in any type of open-source or freely distributed software application or browser.
“We need video to go everywhere, to be everywhere,” said Rosenberg. “As we look at next-generation codecs, the next generation for H.265 makes it difficult to use that technology in free software-based products. If you are a software developer and you are shipping an implementation of a video codec, you are paying, and the price just went way up with H.265. So, if you were thinking about including next-generation video in your product, you should be worried.”
To solve this problem, Cisco is coming in like a “big hammer and striking this problem hard,” according to Rosenberg. The company is currently working on creating its own video codec, dubbed Thor. It is teaming up with codec experts such as Gisle Bjøntegaard and Arild Fuldseth, as well as patent lawyers, consultants, and the open-source community to help develop and evolve the codec.
Thor is still in the early stages of developments, and Rosenberg doesn’t expect it to be ready for a couple more years, but he does see it eventually becoming a successor to H.264 and potentially H.265.
In addition, Cisco has contributed Thor to the Internet Engineering Task Force’s (IETF) Internet Video Codec (NETVC) working group, which is currently working on developing a next-generation royalty-free video codec.
“I’m excited that we have an additional pool of techniques to draw from,” said Adam Roach, chair of the IETF NETVC working group. “Thor comes to the IETF with a pool of [intellectual property rights] that Cisco has declared as being available on royalty-free terms. This opens up many avenues of technical progress that would have otherwise been unavailable to NETVC.”
According to Roach, early testing indicates Thor is already better than H.264, and by being able to merge techniques from Thor and other codecs such as Mozilla’s Daala, the NETVC working group expects to produce a codec that is far better than H.265.
While there are already other companies aiming for royalty-free video codecs such as Google’s VP8, Rosenberg says there is a big difference between the two efforts. “Yes, Google’s VP8 is open source and royalty-free, but—and this is a big but—change control is not in the hands of an industry standards body that allows participation by all,” he said. “Instead, VP8 is in the hands of a single vendor: Google. Building our products around a codec in which we have no say as far as future direction is concerned would not be in the best interests of our customers or shareholders.”
According to Rosenberg, for a royalty-free video codec to be truly successful, it needs full collaboration from the industry. “If Google were to put VP8 into the same pot as Thor, the standards body could choose to use that entirely (in which case we would be fine with using it). Or it could use snippets of it and snippets of Thor,” he said.
As a result, Cisco and Google recently formed an alliance along with Amazon, Intel, Microsoft, Mozilla and Netflix to deliver and develop next-generation media formats, codecs and technologies. The Alliance for Open Media will focus on delivering a next-generation video format that is interoperable and open, optimized for the Web, scalable to any modern device at any bandwidth, designed with a low computational footprint, capable of consistent, high-quality, real-time video, and flexible for both commercial and non-commercial content.
“Customer expectations for media delivery continue to grow, and fulfilling their expectations requires the concerted energy of the entire ecosystem,” said Gabe Frost, executive director of the Alliance for Open Media. “The Alliance for Open Media brings together the leading experts in the entire video stack to work together in pursuit of open, royalty-free and interoperable solutions for the next generation of video delivery.”