1.9. A Fragmenting World
As you will see throughout this book, implementing Dynamic HTML applications that work equally well in Internet Explorer, Netscape Navigator, and other modern browsers can be a challenge unto itself. Understanding and using the common-denominator functionality among the various pieces of DHTML will lead you to greater success than plowing ahead with a design for one browser and crossing your fingers that things will work in the others.
It is equally hazardous to use the W3C and ECMA standards as your sole guides to implementing DHTML features in your applications. Actual implementation of the standards is far from complete, even more so if visitors to your pages use browsers even one generation old. As if that weren't scary enough, the same browser brand and version may not behave identically across different operating systems. While Netscape 6 exhibits very predictable compatibility across operating systems as diverse as Solaris and the Mac OS, the same can't be said for Internet Explorer. Microsoft readily admits that some features (detailed in later chapters) are guaranteed to work only on Win32 operating systems (Windows 95 through XP). But even features that are supported in both IE/Windows and IE/Mac do not always behave or render the same way on both operating-system platforms. Web sites that present DHTML content to the public at large need to take the legions of Mac users into account in developing and testing.
If the inexorable flow of new browser versions, standards, and authoring features teaches us anything, it is that each new generation only serves to fragment further the installed base of browsers in use throughout the world. While I'm sure that every reader of this book has the latest subversion of at least one browser installed, the imperative to upgrade rarely trickles down to all the users of yesterday's browsers. If you are designing web applications for public consumption, coming up with a strategy for handling the ever-growing variety of browser versions should be a top priority. It's one thing to build a DHTML-based, context-sensitive pop-up menu system into your pages for IE 6/Windows users when that's the browser you use. But what happens to users who visit with IE 5/Mac, Netscape 6, Navigator 4, or Opera 5, or a pocket computer mini-browser, or Lynx?
There is no quick and easy answer to this question. So much depends on your content, the image you want to project via your application, and your intended audience. If you set your sights too high, you may leave many visitors behind; if you set them too low, your competition may win over visitors with more engaging content and interactivity. On the other hand, you could find yourself in the ideal situation, designing applications aimed at a single, organization-wide browser version.
It should be clear from the sheer size of the reference section in this book that those good old days of flourishing with only a few dozen HTML tags in your head are gone forever. As much as I'd like to tell you that you can master DHTML with one hand tied behind your back, I would only be deceiving you. Using Dynamic HTML effectively is a multidisciplinary endeavor. Perhaps it's for the best that content, formatting, and scripting have become separate enough to allow specialists in each area to contribute to a major project. I've been the scripter on many such projects, while other people handled the content and design. This is a model that works, and it is likely that it will become more prevalent, especially as each new browser version and standards release fattens the following pages in the years to come.
Copyright © 2003 O'Reilly & Associates. All rights reserved.