
HTML—the Hypertext Markup Language—is a simple markup language that describes the structure and contents of web documents. But it’s evolved into a powerful platform over the years.
In its online developer documentation, Netscape in 1996 described HTML as “a set of tags that mark how text is organized and displayed in web browsers such as Netscape Navigator.” Microsoft’s MSDN Library eventually defined it as “a system of marking up or tagging a document so that it can be published on the World Wide Web.”
At that time, HTML used tags to define both the structure of a web page and the way the marked text displayed in web browsers. As an example, you could use the H1 tag to mark text as a first-level heading and the P tag for a paragraph of text.
<H1>Hello, HTML!</H1> <P>This is some basic HTML displayed with Netscape for Windows!</P>
This worked as expected, though a complete HTML document, even one created in 1996, would include other tags, for the document title, the body of document, and more.

HTML source code is about as simple as it gets, and even non-programmers can probably gleam most of the purpose of such documents, especially those created at the dawn of the web era.
Early browsers, like Netscape Navigator and Microsoft Internet Explorer (IE), could display graphics along text, which could be formatted in various ways. But these capabilities varied between browsers, especially in the early days: The first versions of Navigator supported JavaScript scripting and a Java plugin for programmability, but Microsoft didn’t add those features until version 3.0 in 1996.

Indeed, IE 3.0 is where the browser wars started to heat up: Because Microsoft was planning on integrating its web browser into Windows, it designed IE 3.0 and future versions to be componentized, meaning that they could be hosted inside other applications, from the Windows shell to AOL and more. This gave IE a distinct advantage over Navigator, especially for developers. IE 3.0 also supported ActiveX, a unique fusion of COM and the web that we’ll discuss later. IE 3.0 also supported both scripting—with VBScript and Jscript—and plug-ins.
Looking specifically at HTML, by 1997, both Netscape and Microsoft had agreed to a standards-based approach where they had previously added their own proprietary tags to the language, muddling things for web developers and users. Internet Explorer 4.0 and Navigator 4.0 also supported Dynamic HTML, which allowed developers to change the contents of a page after it had loaded, dynamically, often in response to user actions. In the past, such changes would require a jarring and time-consuming new page-load; previously, web pages were static.
Dynamic HTML, or DHTML, was an important advance. It formalized the object model for documents from previous IE and Navigator versions into something called the Document Object Model, or DOM. Under this object-based system, everything displayed in the browser was an object that existed in a hierarchy, with the window at the top, frames, if present, below that, and then a cascading series of objects in, or below, the body.
As in a true OOP language, these objects had properties a developer could set (define) and get (retrieve), methods that would perform actions, and events to which one could respond.
A simple example that builds off of the hello, world-style HTML document shown previously:
<HTML>
<HEAD><TITLE>Hello, HTML!</TITLE></HEAD>
<SCRIPT LANGUAGE="JScript">
function goDynamic() {
myH1.innerText = "Hello, Dynamic HTML!";
myP.innerText = "This is some Dynamic HTML displayed with Internet Explorer 5.0!";
}
</SCRIPT>
<BODY>
<H1 ID="myH1">Hello, HTML!</H1>
<P ID="myP">This is some basic HTML displayed with Internet Explorer 5.0!</P>
<BUTTON onclick="goDynamic()">Go Dynamic</BUTTON>
</BODY>
</HTML>
When first run—here, in IE 5.0 on Windows 2000—the output looks identical to the previous version, but with a “Go Dynamic” button.

But when you press that button, the heading and paragraph text both change dynamically, without loading a new page.

And for whatever it’s worth, this same code still works today in modern browsers running on Windows 10.

Unfortunately for Netscape, by the time IE 5.0 arrived in late 1999, Microsoft had defeated Navigator in the browser wars and had evolved its web browser into a full-featured development platform that supported true web-based applications. In this way, Microsoft embraced the middleware threat that Netscape had originally provided and extended it with new Windows-specific capabilities. Total time to domination was just four years.
And it was a real platform. IE 5.0 provided web developers with state persistence between browsing sessions so that users could pick up where they left off. It supported HTML Applications (HTAs) that would run only on Windows and could ignore the security limitations of the web. And it was the first version of IE to support XML, the eXtensible Markup Language, which was useful for describing and exchanging data in a lightweight fashion; XML, not coincidentally, would form part of the foundation for .NET, Microsoft’s coming platform.
With technology shaping our everyday lives, how could we not dig deeper?
Thurrott Premium delivers an honest and thorough perspective about the technologies we use and rely on everyday. Discover deeper content as a Premium member.