HTML5 stands for the fifth major revision of the World Wide Web core language, HTML (HyperText Markup Language). As stated by the W3C (World Wide Web Consortium) “HTML5 is still a draft”. Having its roots in the early 90’s HTML has continuously evolved and standardised as HTML 4 by 1997.  Contemporary developments aim to build implementations that enhance interoperability and deployed content. HTML5 incorporates HTML4, XHTML1 and DOM2HTML.

Why are there some parties that mitigate the impact of HTML5? What does HTML5 supporter group aim for? Will HTML5 meet the standardisation requirements by 2014?

Back to the Basics

Our demarche follows a simple logic: understanding what is the current state of HTML5, understanding the goal of the developers and formulating our opinion.  For this, we found interesting the way the development of HTML5 is being approached and went directly to the developers’ published drafts.

In opposition to former HTML versions, HTML5 specifications are qualified as finished only after minimum two complete implementations are being tested and approved.

HTML5 strives to define a single markup language that can be written in HTML syntax and XML syntax. It also attempts to specify elaborated processing models that stimulate interoperable implementations. HTML5 not only refines the markup for documents but it also proposes markups and APIs for rising idioms, as for example various web applications.

HTML5 Syntax

When building a programming language defining its syntax is crucial. HTML5 may use both HTML and XML syntax. It is compatible with HTML4 and XHTML1 documents, but is no longer based on SGML specific features. It also has specific parsing rules and elegantly solves the hosting of untrusted documents.

At the moment, for character encoding there are three options available under the HTML syntax, while for the XML syntax the rules described by XML specifications are applicable. MathML and SVG elements can be used inside a document.

HTML5 Language

In order to be more pertinent for the current necessities, HTML5 has a set of new elements that worth mentioning: section, article, aside, hgroup, header, footer, nav, figure, figcaption, video and audio, embed, mark, progress, meter, time, ruby, bdi, wbr, canvas, command, details, datalist, keygen, output. It also has a set of new attributes – charset (on meta) or async (on script) and a set of global attributes applicable for each element – contenteditable,  contextmenu, data-*, draggable, dropzone, hidden, role, aria-*.

Some elements from preceding versions are completely absent either because their effect is purely presentational and are better handled by CSS, or because their usage alters usability and accessibility or simply because they are not used often enough, are confusing and better dealt by other elements. Implicitly, some attributes and all presentational attributes of HTML4 that are better handled by CSS are absent.

HTML5 APIs

A set of new APIs (application programme interface) are very helpful in creating Web applications: API for playing video and audio, API for offline Web applications, API that permits Web application to register itself for certain protocols or media types, and many others.

The Crossfunctional Approach

Probably one of the greatest things that HTML5 achieves is crossfunctionality. With HTML5 you can build web powered apps that run on a huge diversity of devices from tablets, smartphones, or TVs the degree of reuse and the amount of public you can reach by deploying your app through a vas palette of devices is clearly higher that in the case of native supported only apps. It reuses the JavaScript and leverages the CSS for a different user experience.

In spite various criticism, HTML5 has the capabilities of providing great UI. For the input side it enables geolocation, multitouch, device orientation and speech recognition. For the output side it presents markup and styling with semantic tags and CSS3. In addition, it is suitable for all networking purposes and lately it has a great capability for offline work.

Web tends to be open by default. Therefore, HTML5 is open and it is being built around standards.  It is also very well supported as there are reliable Libraries, debugging tools and most important a supporting community that you can refer back to.

The Rivalry

Certainly HTML5 has its rivals. Let us just remember that the great discussion began when Apple’s Inc. former CEO, Steve Jobs has declared in his public letter “Thoughts on Flash” of April 2010, that “The avalanche of media outlets offering their content for Apple’s mobile devices demonstrates that Flash is no longer necessary to watch video or consume any kind of web content. […]. New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too).”

Today each mobile operating system has its native development kit: Android has Dalvik, iOS has Objective C, Windows Mobile 7 has XNA/Silverlight, BlackBerry has Java, and Web OS has HTML5. Implicitly each of them promotes the idea that the best way of developing a certain app is to build it specifically for the hardware it should run on.  And yes, there is truth in this approach since higher integration with the specific hardware/platform may be achieved, since you will get support for the latest hardware innovations and in terms of user experience you will get the native look and feel. Overmore, battery power and speed control is more likely to be achieved.

WEB Is the Future

As web continues to spread around the globe and the cloud concept took clear shape and meaning for everybody, it is more and more clear that the Web will stimulate an inflorescence of applications.  HTML5 is a language that is understood and it allows programmers to implement their innovations now, as later it may be too late.

Often when you want to test an application it makes sense to first develop it for the web, see how users like it, use it or criticise it and then continue by developing that certain app for a variety of devices. A good example of how critical is the access to as much users as possible is the case of several international magazines and media providers. Whether you use a BlackBerry, an iPad or a tablet the content that you want to publish should be accessible and should be delivered at the highest quality.

The same situation is met in the case of games or various business applications. We know now that companies allow their employees to choose their own personal devices – how can you ensure that everyone has access to one designated application? The web seems quite a majoritarian solution. Of course some customization is needed, feature detection and so on, but there is room for innovation.

HTML5’s current challenge is to achieve broad interoperability for the full specifications by 2014. (D.C.)