COM271, Week 2
W3C—The World Wide Web Consortium
Syllabus | Table of Pages | Assignments | References and Useful Links
WWW Meets Free Market: the Inglorious 1990s
In the mid 1990s, the companies who made browsers (mostly, Microsoft and Netscape) battled each other to introduce new and unique features, each innovation intended to attract a greater share of browser users in a war for market share. Developers tracked each new feature, adopting some in hopes of new and useful results. But proprietary features only worked on the proprietor's browser. Netscape's new <layer> tag promised new abilities to position parts of the page with precision, or to be able to move parts of a page around, using JavaScript. And on other browsers? Microsoft's Internet Explorer wouldn't recognize the layer element; score one for Netscape? Should a developer build a page using the latest and greatest, or take the risk of being conservative and old-fashioned, not really with it as technology raced ahead? Or should the developer yield to browser differences and set up parallel codes, using JavaScript to detect which browser would render a page, and more JavaScript to serve up alternate versions of code in response? It was a nightmare, and no fun if you were just trying to make web pages.
Let's be clear. In the 1990s, there was no government or international agency making sure that browsers all met some minimal set of standards. No regulators? Free market? A sure recipe for chaos. And to a certain extent, that was the result.
In Jeffrey Veen's The Art & Science of Web Design (New Riders, 2001), we are reminded of the original intent of html, and of the problems once encountered because of lack of standards in browsers and other display media:
A brighter future?
There's been a longstanding [...] utopian ideal of completely separating the presentation of electronic content from its semantic meaning. I've preached the importance of that in these pages, and it remains the foundation of many Web technologies.
What does this have to do with the standards problem? In a nutshell, Web developers and designers expect their content to behave in a consistent way. The Hypertext Markup Language, however, was never designed to be displayed in a standard way—a very important premise to remember. From the beginning, HTML was created to react and adapt to whatever computer, display, or device that was reading it, which means an <H1> element on my computer could look completely different from an <H1> element on your Palm Pilot.
Well, that was the ideal. The reality was that nearly everyone surfing the Web has similar computer systems running comparable browsers. The result? A de facto standard for the visual display of HTML. When we mark our text with tags, we expect those tags to look the same everywhere—even though that rubs against every grain of HTML. When I lay out a page of text, there had better be the same amount of space between my paragraphs on both browsers. If not, one seems broken. Who wants that?
The bigger problem, of course, is that this informal rendering standard doesn't scale. More tags kept getting added to HTML, and with them an implied rendering. At this point [Veen was writing in 2001], it's just too difficult to keep up with all the little quirks. <p> tags render differently when inside <li> tags. There's more space in table cells if the </TD> is on a different line than the content. What a headache.
The Browser Solution
But even if the W3C were to develop a perfect standard for presentation-free HTML and a robust style language, the browser companies would still have to implement it. And that's been a problem from day one, if today's buggy and incomplete browsers are any indication.
Netscape and Microsoft (and everyone competing with them) have some work to do. Most importantly, they have to shift from being end-user software companies and morph into producers of consumer goods.
In his latest book The Invisible Computer, Donald Norman digs into some of the fundamental problems with the computer industry. He starts with an interesting question: How many of you have bought a watch recently because it tells better time than the rest? Nobody has, of course. All watches keep time accurately within a second or two a day. Rather, you choose a timepiece based on other factors: style, alarm features, time zone translations, and so on. The Web's inventor said it best:
—Tim Berners-Lee
Technology Review, July 1996.
This same sort of default assumption needs to apply to our browsers. We need to get to the point where the display of Web content is taken for granted, with all browsers supporting all tags, style, and scripting at the same level. Just like your watch keeps time, your telephone calls other phones, and your stereo accepts all compact discs. There needs to be no such thing as "best viewed with...." Instead, browser companies must distinguish their products with other features: Speed, user interface, desktop integration, or any of the other decision points that consumers use before making a purchase.
Until then, we'll continue to struggle with an incompatible web.
—Veen, 2001, p. 165-166.
The World's Most Interesting Experiment in Planetary Democracy
As a result of the browser wars of the 1990s, web critics like Veen correctly bemoaned the lack of standards and the resultant difficulties faced by developers. It certainly must have been tempting to reject the limitations of recalcitrant browers and to design for one browser only; it was indeed very tempting to place a "page best viewed with...." advisory in a prominent place. But voices calling for international standards boards or regulators never got very loud. Instead, something more interesting happened.
The same people who brought us html also brought us a unique organizational framework which today governs how the web works and how browsers evolve. Here is the history, concisely written by the W3C (World Wide Web Consortium, www.W3.org).
History
In 1989, Tim Berners-Lee invented the World Wide Web (see the original proposal). He coined the term "World Wide Web," wrote the first World Wide Web server, "httpd," and the first client program (a browser and editor), "WorldWideWeb," in October 1990. He wrote the first version of the "HyperText Markup Language" (HTML), the document formatting language with the capability for hypertext links that became the primary publishing format for the Web. His initial specifications for URIs, HTTP, and HTML were refined and discussed in larger circles as Web technology spread.
In October 1994, Tim Berners-Lee founded the World Wide Web Consortium (W3C) at the Massachusetts Institute of Technology, Laboratory for Computer Science [MIT/LCS] in collaboration with CERN, where the Web originated (see information on the original CERN Server), with support from DARPA and the European Commission. In April 1995, INRIA (Institut National de Recherche en Informatique et Automatique) became the first European W3C host, followed by Keio University of Japan (Shonan Fujisawa Campus) in Asia in 1996. In 2003, ERCIM (European Research Consortium in Informatics and Mathematics) took over the role of European W3C Host from INRIA.
What is most remarkable about the W3C is the process that makes it work. Briefly, the web evolves from ideas which work their way from member suggestions to working groups, through cycles of revision and review, culminating in W3C recommendations. Here is how the W3C spells this out:
W3C Process Document
1 Introduction
Most W3C work revolves around the standardization of Web technologies. To accomplish this work, W3C follows processes that promote the development of high-quality standards based on the consensus of the Membership, Team, and public. W3C processes promote fairness, responsiveness, and progress: all facets of the W3C mission. This document describes the processes W3C follows in pursuit of its mission.
Here is a general overview of how W3C standardizes a Web technology. In many cases, the goal of this work is a W3C Recommendation, the W3C equivalent of a Web standard.
- People generate interest in a particular topic (e.g., Web services). For instance, Members express interest in the form of Member Submissions, and the Team monitors work inside and outside of W3C for signs of interest. Also, W3C is likely to organize a Workshop to bring people together to discuss topics that interest the W3C community. This was the case, for example, with Web services.
- When there is enough interest in a topic (e.g., after a successful Workshop and/or discussion on an Advisory Committee mailing list), the Director announces the development of a proposal for a new Activity or Working Group charter, depending on the breadth of the topic of interest. An Activity Proposal describes the scope, duration, and other characteristics of the intended work, and includes the charters of one or more Working Groups, Interest Groups, and possibly Coordination Groups to carry out the work. W3C Members review each Activity Proposal and the associated Working Group charters. When there is support within W3C for investing resources in the topic of interest, the Director approves the new Activity and groups get down to work. For the Web Services Activity, the initial Activity Proposal called for one Working Group to work on Web Services Architecture and one to work on a language for Web Services Description. The Activity Proposal also incorporated an existing Working Group (from another Activity) working on XML Protocols.
- There are three types of Working Group participants: Member representatives, Invited Experts, and Team representatives. Team representatives both contribute to the technical work and help ensure the group's proper integration with the rest of W3C. The Working Group charter sets expectations about each group's deliverables (e.g., technical reports, test suites, and tutorials).
- Working Groups generally create specifications and guidelines that undergo cycles of revision and review as they advance to W3C Recommendation status. The W3C process for producing these technical reports includes significant review by the Members and public, and requirements that the Working Group be able to show implementation and interoperability experience. At the end of the process, the Advisory Committee reviews the mature technical report, and if there is support, W3C publishes it as a Recommendation.
Note particularly in this block that the W3C distinguishes between its recommendations and formal standards. Web browser makers remain free to fall short of meeting each new set of recommendations, and too often they do not. Microsoft's IE6, for example, was notorious for failure to implement the fixed positioning of CSS, a critical shortcoming that vexed web developers for a few years in the early 2000s.
The philosophy behind the W3C is global and democratic. Here, from the Mission Statement, Principles and Vision reflect the long perspective of a worldly enterprise:
The W3C mission is to lead the World Wide Web to its full potential by developing protocols and guidelines that ensure the long-term growth of the Web. Below we discuss important aspects of this mission, all of which further W3C's vision of One Web.
Principles
The following principles guide W3C's work.
Web for All
The social value of the Web is that it enables human communication, commerce, and opportunities to share knowledge. One of W3C's primary goals is to make these benefits available to all people, whatever their hardware, software, network infrastructure, native language, culture, geographical location, or physical or mental ability. Learn more about:
Web on Everything
The number of different kinds of devices that can access the Web has grown immensely. Mobile phones, smart phones, personal digital assistants, interactive television systems, voice response systems, kiosks and even certain domestic appliances can all access the Web. Learn more about:
Vision
W3C's vision for the Web involves participation, sharing knowledge, and thereby building trust on a global scale.
Web for Rich Interaction
The Web was invented as a communications tool intended to allow anyone, anywhere to share information. For many years, the Web was a "read-only" tool for many. Blogs and wikis brought more authors to the Web, and social networking emerged from the flourishing market for content and personalized Web experiences. W3C standards have supported this evolution thanks to strong architecture and design principles. Learn more about:
Web of Data and Services
Some people view the Web as a giant repository of linked data while others as a giant set of services that exchange messages. The two views are complementary, and which to use often depends on the application. Learn more about:
Web of Trust
The Web has transformed the way we communicate with each other. In doing so, it has also modified the nature of our social relationships. People now "meet on the Web" and carry out commercial and personal relationships, in some cases without ever meeting in person. W3C recognizes that trust is a social phenomenon, but technology design can foster trust and confidence. As more activity moves on-line, it will become even more important to support complex interactions among parties around the globe. Learn more about:
We will revisit some of the branches of the W3C mission a bit later (particularly the Web Accessibility Initiative). But first, let's briefly look at how some of these web "standards" serve as "rules" for the way browsers work.