HTML and CSS Reference
In addition to providing a markup language and a set of form components, HTML5 is a
set of standards for APIs that web browsers can implement. These APIs are wide ranging
and varied, and range from offline storage of data and content, reading files, background
processes, server-sent events and much more. It is these features of HTML5 that are truly
turning the web browser into a platform for application development. This topic will use
many of the new APIs when developing the example web application.
The HTML5 standards process is interesting in its own right. Many of the standards are ac-
tually reverse engineered from features already present in web browsers. For instance, the
technology behind AJAX (the XMLHttpRequest object) was first developed as a propriet-
ary feature of Internet Explorer. Other browsers then reverse engineered this feature, and
finally, once the major browsers supported it, it was standardised by W3C (in fact, it is still
a working draft).
The World Wide Web Consortium (W3C) is the main standards organisation for
the World Wide Web. Their web site can be found here: http://www.w3.org while
the HTML5 specification can be found here http://www.w3.org/TR/html5
The HTML5 specification is actually produced by two separate bodies: W3C
and WHATWG. Both bodies offer the standards under their own licenses.
WHATWG actually deserve far more credit than W3C for HTML5, W3C ini-
tially voted not to be involved with HTML5, but to continue pushing XML based
standards. W3C finally acknowledged they had backed the wrong horse and be-
came actively involved with HTML5.
It is also worth mentioning that the W3C and WHATWG versions of the spe-
cifications are not identical. From a software engineers point of view this is
largely irrelevant. Web designers have a saying “code always wins”. This is also
true of HTML5: the specification is largely irrelevant; it is the browser imple-
mentations that matter.
In some cases, one particular browser vendor drives a standard. This occasionally leads
to an impasse, as has occurred with the Web SQL API. In other cases a speciation is pro-
gressed that is not widely supported (such as the File Writer and File System API), and
therefore has an uncertain future. In the best cases however, all major browser support the
API according to the standard agreed.