The Next-Gen Web: HTML5 - Will We Ever See A Real Standard?
Thursday, June 5, 2008; 11:09 AM
Last week we looked at how some browsers and plug-ins were adopting storage-related API's that are a part of the new HTML5 draft specification. While Gears, Opera and Webkit have implemented structured storage API's, the remainder of the HTML5 spec currently remains mostly unimplemented and also in a state of flux. HTML5 is a super-sized effort to bring all the browsers under a single, standard markup language and set of API's - but with Microsoft, Adobe and others racing ahead with their own next-gen web technologies, will we ever see a real HTML5 standard?
Learning From History
In terms of the scope and effort, the HTML5 effort has an earlier historical analogy in the HTML 3.0 spec. Back in April of 1995, the HTML 3.0 spec was drafted as a backwards-compatible way of adding new features (such as tables) to HTML 2.0. The W3C had only just formed, and HTML 3.0 was one of the first specs to be produced by the new working group. At the time the browser wars were just around the corner, as Navigator had been out for only five months and had already built up 80% market share. Microsoft had taken notice and were rushing out Internet Explorer 1.0 which would be released a few short months later.
As it remains today, in 1995 the different browsers all supported a different set of markup. With their new 1.1 release, Netscape had raced ahead and implemented tables, floating images, and other navigational elements (such as visited links). IE 1 was a complete hack of a browser that had an approach of rendering at all cost, meaning that if it couldn't work out what the user had intended with the HTML, it would do its best to have a guess and present anything. This resulted in issues such as being able to mix tags (eg.(b)(p)Header(/b)(/p)) which allowed developers to be lazier as IE would compensate for mistakes.
With the market share of Internet Explorer steadily rising, and with frequent point releases and updates from both Netscape and Microsoft, the two browsers steadily diverged further as the market was also segmented into two firm camps. The HTML specification effort, which had previously taken the form of RFC's, was supposed to re-unite the browsers and formalize new features that browsers had already introduced. There was often significant tension amongst contributors to the spec about which browser, Netscape or Explorer, had a better implementation of each new feature. For example, Netscape and Explorer had very different approaches to image maps, where they were not compatible with one another. Microsoft were also responsible for making up random HTML tags, such as <top> and <bottom> to define static areas of a page (which would later become the very unfriendly frameset tags thanks to Netscape).
The problem was not that these new features were already out in the wild, but that there were two fiercely competitive products each implementing their own version of the web in order to either protect their market share or to gain control of more of it. Eventually both Netscape and Microsoft gave up on implementing a proper HTML 3.0 spec, for example from Netscape:
Netscape remains committed to supporting HTML 3.0. To that end, we've gone ahead and implemented several of the more stable proposals, in expectation that they will be approved. We believe that Netscape Navigator 2.0 supports more of the HTML 3.0 specifications than any other commercial client. In addition, we've also added several new areas of HTML functionality to Netscape Navigator that are not currently in the HTML 3.0 specification. We think they belong there, and as part of the standards process, we are proposing them for inclusion
and Microsoft were left playing catchup in terms of supporting HTML:
Netscape has enjoyed a virtual monopoly of the browser market (about 90% according to some estimates), and this has allowed it to consolidate its position still further by introducing unofficial or 'extended' HTML tags. As a result, the Web is littered with pages that only work effectively if viewed in Navigator. By the time other browsers catch up, Netscape has made even more additions.
but that didn't last long and Microsoft tired of playing that game. Further releases didn't even mention HTML anymore and instead talked about a web built on Microsoft technology:
Microsoft Internet Explorer 3.0 is the first Internet client to integrate ActiveXTM technologies, which enable developers to create highly interactive applications and content for the Internet. These technologies allow a World Wide Web site to be as rich and interactive as an action game, a multimedia encyclopedia or a productivity application. For the first time, a Web site will be limited only by its author's imagination, not by the limitations of the technology.