It's axiomatic that true Web geeks are up on all the latest technologies. Walk around any gathering of the digerati and you'll hear the acronyms flying thick and fast -- XML, DHTML, CSS, XSSI, and others. It's only natural to wonder: who's using all these bells and whistles, and for what? And is it worth my time to learn about them?
The story of Web technologies is largely the story of the browsers they run on. Each new release of the Big Two -- Netscape Navigator and Microsoft Internet Explorer -- introduces new functionality and new technologies to be explored. Unfortunately, with each successive browser release, the populace of Web users grows increasingly fragmented, with ever-widening compatibility gaps for the hapless Web designer to deal with. The distance between the early-adopter "get it while it's in beta" geeks and the recalcitrant "my Netscape 2.0 works just fine, thank you" crowd grows greater by the minute.
One of the fundamental laws of the Web is: to reach the widest audience, use the simplest technologies. Design a site that's viewable with Lynx, and you guarantee that it's visible to the entire Web-viewing world. The question is, will the world then yawn and look elsewhere? On the other hand, the more crowd-pleasing new technologies you include, the greater the possibility that your site will be invisible to some unknown (but worrisomely large) portion of your audience.
Common sense dictates that certain types of sites will attract certain types of viewers. It's safe to assume that sites targeted towards a more technical audience will be viewed with recent browsers, and vice versa. Yahoo!, the undisputed king of general-purpose Web sites, is a good example of a site which uses the bare minimum of client-side technology necessary to present itself -- in fact, you can view it quite comfortably with Lynx.
Generally speaking, it's best to approach new Web technologies from a problem-solving perspective. Too often, a Web builder will say "Wow, here's a hot new technique, what can I use it for?" when really the better question is "What techniques are most appropriate to the goals and obstacles of my Web site?" Let's take a look at some advanced Web techniques, their advantages and disadvantages, and what kinds of problems they can solve.
Cascading Style Sheets (CSS) can do you some good right now if you can count on your audience coming to you with a 4.x browser. Web designers everywhere have thrown up their hands in despair upon discovering that their carefully laid-out pages are reduced to an illegible muddle if viewed in a browser where any of the default font or color settings have been changed. CSS can render font sizes and colors non-overridable by the user, and grant the Web designer much greater control over page elements such as background images, bulleted lists, margins, horizontal rules, and others.
The trick with CSS is to strike a balance between CSS-enabled browsers and non-CSS-enabled browsers. IE4 and NS4 have very similar implementations, IE3 has a somewhat more limited implementation, and NS3 has never heard of it. With CSS it's possible to specify font size by point size or pixel size, whereas the HTML FONT SIZE="..." tag has nothing between 2 and 3, so the advantage is clear -- but don't forget to check and make sure that your site will work for both. Here's an excellent CSS tutorial, but beware -- it only works with IE4.
Shockwave/Flash provides another option for adding interactivity to Web sites. Browser plug-ins are an uneasy proposition for many Web developers -- Web users are likely to move on when confronted with a site which requires a plug-in they don't have or have had a bad experience trying to install. Still, the flexibility and design possibilities of Shockwave have given it a sizable following, and it grants definite file size advantages over large animated gifs. The animations at ABC Interactive would be huge if they were delivered as gifs, but as a Flash object the file size is manageable even at modem speeds.
Building a quality Web site is in many respects like building a house; for best results, use the right materials. You wouldn't use bricks to build an igloo, or stretched buffalo hides to build a skyscraper, so choose your Website materials with equal care. Delving into the world of advanced Web techniques can be a heady experience, so be sure that you don't lose sight of your goals in the process -- gratuitous use of technology runs the risk of reducing it to a mere frill.
Steve Renaker is part of the implementation team at Razorfish, Inc. in New York City and has been fiddling with the Web since its earliest days. Previous publications include "The Official Gamelan Java Directory" and articles for "Java Report." He can be reached at firstname.lastname@example.org.