Hide this madness

Why HTML5?

So “HTML5″ is one of the tech buzzwords-du-jour, right up there with “Big Data” and the “Internet of Things” (hey, look, Ma: my banana has an IP address!). But what is HTML5? How did we get here? Is there any substance behind the hype? And what does it mean for websites and web development?

When new technologies or techniques are over-hyped, it brings out the cynic in me. I remember being in meeting rooms around 1999 and hearing people ask, “Does it work with XML?” or “Does it have XML inside?” Yikes, as if XML was going to solve world hunger.

And HTML5 certainly has its fair share of hype. But in this case, it’s deserved!

In the most literal sense, HTML5 is the latest version of the HTML “markup” language standard. HTML was invented by Tim Berners-Lee around 1990, and is the original language that defined the birth of the World-Wide Web. The standardization of HTML is controlled by the W3C consortium, and HTML5 is the fifth major version of the language, achieving Recommended status in October of 2014. (“Recommended” status is stronger than it sounds – the nerds who architect our Internet seem to thrive on understatement, with a “Request for Change” being liken unto a direct command from God.)

HTML is one of a trinity of web languages that are used to build websites, the others being CSS (Cascading Style Sheets) and JavaScript. These technologies work in conjunction with each other, with: HTML defining what you see on a web page; CSS specifying how it looks; and JavaScript providing dynamic behaviour.

Within a web browser, this trinity is really inseparable, and so a looser, colloquial definition of “HTML5″ might be: the current state of standardization of HTML, CSS, and JavaScript. If you care about such things, CSS happens to be at version 3 and JavaScript is at version 5 (ECMAScript 5).

There are two important aspects to the standardization: 1) the quality of the standards themselves; and 2) how well the various browsers adhere to the standards. Let’s deal with the second question first.

The level of browser adherence to standards is better now than it has been in more than fifteen years. For many years, Microsoft’s Internet Explorer was an outlier and the bane of web developers. But over the past few years, by dint of fading market share and customer pressure, Microsoft has been forced to bring IE into better compliance: after years of recalcitrance, arrogance, and downright dirty deeds Internet Explorer 10 and 11 are reasonably standards-compliant. The headache days of IE6 noncompliance are gone, thankfully.

And, to be fair, there were compliance issues with all browsers; it’s just that Microsoft’s were both the most egregious and the most ubiquitous.

Quirks remain between browsers, however, with various minor display features not working fully on this or that browser. But, by and large, a web developer who adheres to well-adopted standards can program once and be assured that the code will run reasonably on all major, modern browser platforms. You do have to tread carefully when trying to exploit the latest-and-greatest features, but that will of course always be the case.

And by “all” browser platforms, I really mean all browser platforms: choose your operating system, choose your browser: the code runs the same everywhere. Importantly, this includes the mobile browser segment, which is steadily gaining market share.

The second important aspect of standardization is the quality of the standards themselves. To be useful, the standards must be: intelligently designed; well-specified; and sufficiently rich. While there have been improvements in all three areas over the years, it is the maturing richness of the technologies which is driving such radical change today.

What is richness? It is a combination of the breadth and depth of the standards: do they offer enough capability to be able to do everything that modern users might expect and want?

Prior to HTML5, websites that wanted to provide a rich browser experience – for example, games and interactive stock charts – had to rely on browser plugins such as Java, Silverlight, and Flash. On the desktop, these plugins have provided rich browser experiences for years, albeit at the expense of requiring the users to download plugins and developers to adopt proprietary technologies. But on mobile – forget it, they are largely unavailable.

So now we arrive at what HTML5 really means – standardized browser technology has finally caught up with people’s expectations: the user experiences that can be found in traditional desktop applications, typically coded in the “C” language or one of its many offshoots, can be provided in a web browser on any platform, coded with the HTML/CSS/JavaScript trinity. Say bye-bye to browser plugins: except for highly-specialized ones, they’ll be things of the past within a year or two.

The most-important new facets of HTML5 are Canvas and Multimedia. These are the Plugin Killers. Multimedia support is accomplished through the use of two new HTML tags: <video> and <audio>. Of course, you have been able to experience video and audio on the web for years. But the difference is, now it is done through standardized HTML markup, while previously it was managed through heavyweight plugins.

In my opinion, Canvas is the single most important new feature in HTML5. Canvas fills the gap of drawing – of rendering graphics on the web. Of course images have been on the web since forever (well, almost forever: since 1993). But until HTML5 the only images available on the web were static, file-based pictures – e.g. JPG files, like the kind taken by your electronic camera. (Plugins allow drawing, too.) You can’t do effective charting or gaming with static pictures. Now, with Canvas, you can draw images dynamically and you can update the images interactively, depending on what the user does. Check out the Bombermine game as one example.

Thankfully, HTML5 can be much more than games. For decades web developers have striven for the holy grail of being able to create rich application user interfaces in the web browser – applications that look and feel like traditional desktop apps. HTML5 closes the gap between browser capabilities and desktop app capabilities. The gap is not closed completely, but it is narrow enough to facilitate 99% of what we want to do at work. Don’t believe me? Check out Google Docs or Google Sheets.

Other important HTML5 features include geolocation; drag and drop; and websockets (an important browser communication technology). And, believe it or not, with Offline Web Apps your web applications can even run correctly when you’re not connected to the Internet!

As creators of custom software systems, for the Jonah Group it means that we have standardized tools at our disposal, which allow us to create sophisticated custom webappps for our customers. And the time which used to be spent on cross-browser testing can be better spent on building great features instead.

So in short that is what HTML5 is all about: adding the richness that is needed to narrow the browser gaps which were previously filled by the plugins. As the technology becomes more widely used, we will see increasingly sophisticated web pages and web applications. And some really cool games along the way, too, for the off hours.

Add a comment

Comment feed
The better to greet you with
No one will ever see this
Your pride and joy
The reason this comment form exists

The crew behind ASOT

We're a team of interactive, software, and business intelligence experts skilled in the design, construction, and management of online enterprise systems.

Visit The Jonah Group site

Get in touch with us