5.0 History of HTML

Sometimes it can be useful to look back because it can make the way forward a little more obvious. The history of HTML and CSS is relatively brief, often confusing, and at times interesting.

Tim Berners Lee

In 1980, physicist Tim Berners-Lee proposed and prototyped a system called ENQUIRE for CERN researchers (the European Organization for Nuclear Research) to use and share documents. In 1989, he and Robert Cailliau, a CERN data systems engineer, submitted separate proposals for an Internet-based hypertext system. In 1990 they collaborated on the WorldWideWeb (W3) project, which was accepted by CERN. HTML was a product of SGML (Standard Generalized Markup Language), a complex specification describing markup languages, in particular those used in electronic document exchange, management and publishing. HTML was created to allow those not specialized in SGML to publish and exchange scientific and technical documents over a network.

HTML is an evolving language, one that has been complicated at times by some browsers developing their own tags, and has slowly been developing into a single standard. HTML 1.0 was the first public release, and as website creation wasn't widespread, the language was quite limiting. The first official standard was HTML 2.0, released in November 1995. This included everything from HTML 1.0 but added some new features. It defined many core features for the first time and remained the standard until January 1997. HTML 3.0 was proposed in April 1995, introducing new and improved abilities, but as browsers were slow in implementing these, it was abandoned. HTML 3.2 became the standard in January 1997 and was W3C's first work (previously the IEEF governed this), removing the nuisance browser-specific tags and leaving advances made there for later releases. In April 1998 HTML 4.0 became the standard. The last iteration of classic HTML, it represented a great evolution in standards with the focus being on internationalisation and support for a new presentational language, namely cascading stylesheets (CSS). HTML 4.0 offered three flavours: Strict (in which deprecated elements were forbidden), Transitional (in which deprecated elements were allowed) and Frameset (in which mostly only frame related elements were allowed). It soon underwent a few minor revisions and HTML 4.01, the final version of the specification, became the standard in December 1999.

History of XHTML

In January 2000, XHTML 1.0 became the recommended joint-standard with HTML 4.01. XHTML marked something of a departure and was an XML formulation of an HTML specification. There weren't many new or deprecated tags and attributes, but accessibility and functionality were increased. In May 2001 XHTML 1.1 was released, based on XHTML 1.0 strict but including minor changes. In August 2002 XHTML 2.0 became a working draft but will never become a standard and support will end for this in December 2009. This was inevitable because XHTML 2.0 was not backward compatible and failed to offer any compelling new features, relying on semantic precision rather than the realities of web design. Rather than an update on 1.1, it was really a new XHTML-inspired language, one that browsers did not feel the need to implement. XHTML 5, which is an update to XHTML 1.1, is being defined alongside HTML 5 in the HTML 5 draft and will no doubt be the future of html (although won't be fully supported for years).

What Spec to use?

HTML 5 will be the obvious choice in the future, but until it is distributed amongst all browsers, HTML 4.01 and XHTML 1.1 are both fine. XHTML is not that different from HTML 4.01 but is stricter, meaning that validation is easier. The most important differences are that elements must be properly nested, they must always be closed and in lowercase, and XHTML documents must have one root element. HTML 5 allows you to use either the stricter syntax of XHTML 1.1 or the open syntax of HTML 4.01, meaning that your written XHTML 1.1 can be converted to HTML 5 by simply changing the doctype. And unlike XHTML 2.0, HTML 5 has many new features, such as audio and video embeds, multi-column layout tools, offline data storage, native vector graphics.

A note on DHTML (Dynamic HTML)

DHTML (Dynamic HTML) isn't actually a language (or a web standard) but rather a marketing term originally coined by Microsoft to describe IE4's implementation of the combination of HTML, JavaScript, DOM and CSS. DHTML allows documents to be animated (react to user events). The DOM (Document Object Model) is a W3C standard for the specification of how objects in Web pages are represented, such as text, images, links, etc. It defines what attributes are associated with each object and how the objects and attributes can be manipulated. DHTML relies on the DOM to dynamically change the appearance of Web pages after they have been downloaded to a browser. The term DHTML will no doubt be replaced with newer buzzwords, such as DOM Scripting or AJAX (Asynchronous JavaScript and XML).