Chapter 1. The State of the Art
An invisible, gravity-like force continues to draw the computing world to the World Wide Web. The ubiquity of the web browser in desktop, laptop, and even handheld computers opens a magic gateway for people and organizations to communicate ideas and carry on daily business. The Web isn't merely a place to publish a personal fanzine or sell thing-a-ma-jigs through e-commerce. Institutions are converting massive corporate software applications to the Web, so that employees, vendors, and customers can interact directly with huge databases through the usually free browser that comes preloaded on every computer.
The allure—in theory anyway—is that publishers and application developers can rely on well-known standards that facilitate the rendering of data and user interface elements. Freed from details of painting dots on monitor screens, managing memory, and controlling internal data flows on dozens of operating systems, publishers and developers can focus on their content and server-side data handling. Browsers do all the operating-system-specific dirty work by interpreting Hypertext Markup Language (HTML) directives embedded in the content.
Publishing content in today's videogame-charged e-atmosphere, however, creates enormous challenges to attract an audience and keep it entertained, even if all you offer is simple text and image content. Application developers face related challenges to minimize delays between user actions and program responses: every second waiting for a page refresh is lost productivity.
The industry, which includes standards bodies and commercial interests that provide input to those bodies, has risen to the challenge. In particular, browser-oriented standards have expanded rapidly to embrace the notion of dynamic content—pages that can "think and do" on their own, without much help from the server once they have been loaded in the browser. Additionally, some browser makers support features that are frequently very useful, but are available on only one brand of browser or on just one operating system.
Although dynamic web pages are implemented under the umbrella of Dynamic HTML (DHTML), successful deployment requires knowledge of several technologies and standards that exist outside the charter of the original HTML Working Group. In this chapter, I'll discuss the applicable standardization efforts. As disparate as this collection may appear at first, they all magically come together as a system to let creative designers implement engaging DHTML content.
1.1. The Standards Alphabet Soup
There is no such thing as a single Dynamic HTML standard. DHTML is an amalgam of specifications that stem from multiple standards efforts and proprietary technologies built into current versions of the two most popular DHTML-capable browsers, Microsoft Internet Explorer 4 or later and Netscape Navigator 6 or later (a product based on an open-source browser engine created by The Mozilla Organization), as well as numerous less-popular, but no less feature-rich browsers. Browsers prior to Netscape 6 and Internet Explorer 4 employed either very few DHTML capabilities or techniques that today's browsers no longer support.
Efforts by various standards bodies and working groups within those bodies are as fluid and fast moving as any Internet-related technology. As a savvy web content author these days, you must know the acronyms of all relevant standards, such as HTML, XHTML, CSS, DOM, and ECMA for starters. You also have to keep track of the current release of each standard, in addition to the release that is incorporated into each version of each browser that you are developing for. Unfortunately for the authoring community, it is not practical for the various standards bodies and the browser makers to operate synchronously with each other. Market pressures force browser makers to release new versions independent of the schedules of the standards bodies.
Copyright © 2003 O'Reilly & Associates. All rights reserved.