Web Standards

Web standards are an important piece of building the future of the internet, creating a framework for web developers to work with and guidelines to ensure that web pages will display the same regardless of the browser that they are viewed in. Standardization has come a long way since the early days of web development, and as languages such as HTML and XML continue to evolve the need for additional standardization is obvious. Without fixed web standards, a number of compatibility problems could begin to arise because different web developers will be trying to do the same things in drastically different ways.
The necessity of some form of standard for web development has been apparent ever since developers began trying to create self-contained web pages. Originally the internet consisted largely of static documents with minimal coding or interactivity, and the most advanced code available was basic JavaScript. The most commonly used pieces of HTML were links, background colors, and text colors. At this point fledgling web developers had given no thought to standardization, because there honestly wasn’t very much to standardize. Unfortunately, this would lead to trouble in the near future.

The World Wide Web Consortium
The beginnings of web standardization came from the World Wide Web Consortium, better known today as the W3C. The Consortium was created as a means of recommending web standards for future generations of internet browsers, and featured a board of directors who were leaders of industry in regards to internet and World Wide Web technologies. The W3C saw the need for early standardization in order to prevent confusion later on, and from the very beginning was trying to recommend useful standards which would enable cross-browser compatibility of code.
Unfortunately, the W3C had no direct control over the companies who were making the internet browsers themselves. Even though the creator of the World Wide Web himself was the chairman of the W3C’s board of directors, in the early days of the Web the organization trying to standardize it held very little power to see its recommendations carried out.

The Browser Wars
As generally happens in the field of new technologies with little standardization, problems were on the horizon. Two leaders emerged with commonly-used web browsers: Microsoft with their Internet Explorer, and Netscape with Netscape Communicator. Each wanted to be more popular than the other, and in order to do so sought to create new functionalities for their web browsers that the competition would be unable to use. This led to what was known as the “Browser Wars”, in which each successive version of the Netscape and Microsoft browsers would feature new features and markups that would only display correctly (or in some cases, would only display period) in that particular browser.
Web developers were faced with a dilemma... with each browser having its own coding required to access the latest features, those who were trying to create websites would either have to add detection code to see which browser was being used and then select the appropriate code to display (meaning that each page had twice as much code as it would actually use), or they would have to simply place a note on their page saying “This page is optimized for Internet Explorer” or “This page is optimized for Netscape.” This incompatibility continued for several years, with each company occasionally adopting some of the W3C recommendations but still featuring enough proprietary markup code to make cross-browser web design a hassle.

The Coming of Modern Standards
In order to stabilize the World Wide Web and stop the needless double-coding, the first web standards were introduced by the W3C. While the standards weren’t able to make use of the browser-specific markups that both Microsoft and Netscape had introduced, they were able to create effective work-arounds so that the proprietary code was no longer necessary to create desired effects. The first true web standards were the now-common HTML and CSS, which stand for HyperText Markup Language and Cascading Style Sheets respectively. HTML standardized the way in which websites were displayed, while CSS allowed for HTML information to be displayed in new and creative layouts.

Because of the ease of use of HTML and the customization that could be added to websites using CSS, these initial standards were quickly embraced by web developers who were tired of having to jump through hoops to ensure that their pages displayed correctly in all browsers. In order to maintain interest in their products, both Microsoft and Netscape began adapting their products to use the popular web standards instead of their in-house markups. As Netscape converted its browsers to the Mozilla project (the open-source origin of the popular FireFox browser), its open-source stance fully embraced standardization in order to allow contributors from all over the world to have the same goal in browser development.

Additional standards followed, and as of the beginning of 2008 there were a total of 7 standards which were in use in various web applications. In addition to HTML and CSS (the combination of which is often known as Dynamic HTML, or DHTML), there is XML (the eXtensible Markup Language) which is similar to HTML but allows the user to have much more control over their pages by giving them the ability to define their own tags and document types. DOM (the Document Object Model) is another standard which is designed to allow scripting languages to work in a browser-and-platform-independent environment to make the implementing of scripts easier. ECMAScript (created by a separate standardization group, the ECMA) is essentially a standardized version of JavaScript. XHTML (the eXtensible Hypertext Markup Language) is a modified version of HTML, designed to be run as an XML application instead of a separate language. XSL (the eXtensible Stylesheet Language) is similar to CSS for XML; it is a language that is designed to manipulate the way that XML documents are displayed in a similar means to how CSS alters the display of HTML documents.