Tangled in the Threads

Jon Udell, Sept 29, 1999

Internet Time Ain't What It Used To Be

Remember all that great stuff that was right around the corner in 1996? It's still right around the corner!

I'm doing some web development for a client, and I decided to test the CSS waters again. I demoed some pages that render using CSS (Cascading Style Sheets) attributes. Nothing fancy, and nothing that runs afoul of the vexing differences between the (frustratingly incomplete) Microsoft and Netscape implementations of CSS. I just figured that, three years after the introduction of CSS, we ought to be able to start using it for some simple things. For example, I'd like to express a default table-cell appearance just once, like this:

  font-family: Arial, Helvetica, Sans-Serif;
  font-weight: bold;

and then just use plain old <td> tags in HTML tables.

Instead, because CSS isn't thought to be adopted widely enough, most public sites replicate this information on a per-cell base, like this:

<td><font face="Arial,Helvetica,Sans-Serif"><b>foo</b></font>/td>
<td><font face="Arial,Helvetica,Sans-Serif"><b>bar</b></font>/td>

Here's the argument I made to the client:

Nearly all your users are going to be hitting your site with Netscape or Microsoft browsers. Nearly all of those browsers are going to be CSS-capable. We're not asking much here -- nothing fancy -- just the basics. If we assume basic CSS, we can vastly simplify the construction and maintenance of your pages. True, many of your pages are going to be dynamically squeezed through templates, but even the construction and maintenance of those templates is going to be a headache if we have to clutter everything up with redundant element-level tagging.

In the worst case, if somebody hits the site with a 3.x browser, the pages will still be perfectly readable. We're not relying on CSS absolute positioning, so these pages will degrade gracefully.

To back up my argument, I made a similar pitch to the webtech newsgroup (http://www.byte.com/nntp/webtech):

Do folks think it safe to begin using CSS on a public site, without a fallback to HTML-2.0-like element-level tagging? I mean, come on, it's almost the next millenium, CSS is going on 3 years old, at *some point* can't we ratchet up the lowest-common-denominator just a *little bit* ? We're not talking client-side Java here, or DHTML, just silly old style sheets, fer cryin' out loud.


What percentage of non-CSS-capable browsers in your public site's audience would cause you not to take that step? 10% 5% 2% ?

I'll admit I felt conflicted about this. When I built the original www.byte.com, I stuck with the lowest common denominator almost to a fault -- I avoided even the use of tables on the majority of pages. Every once in a while, somebody who was blind, or who browsed only with Lynx, wrote to thank me for my minimalist stance.

But that was then (1996), and this is now (almost 2000). Times change, right? Yes and no. Here's how the newsgroup reacted to my plea:

Terence Sin:

I've stopped worrying about supporting 3.x browsers since early this summer. I think what made up my mind for me was that well-publicized report indicating a 5% penetration for 3.x browsers.

James Powell:

I agree it's (fairly) safe to ignore 3.x browsers (this can depend on your "audience" however), but NS4 & IE4/5 seem to have a differing view of style sheets which makes all but basic stuff very difficult to accomplish.

Troels Arvin:

At http://webreview.com/wr/pub/guides/style/safegrid.html there is a list of the "safe" CSS selectors/attributes (stuff that almost all visitors' browsers will be able to handle).

Jonathan Brickman:

I refuse to create public web site pages which look screwy on any viewer's browser. Standards are for intranets. The real world is the real world.

Franck Arnaud:

If the application does not demand a feature, why make it mandatory? Is it worth losing even one user because of gimmicks? The feature set of HTML 2.0, plus tables, is more than enough to implement 99% of the web.

The return on new features is obviously getting lower and lower once the minimum infrastructure is in place.

A good compromise is optional features like stylesheets: they are optional and it is easy to make a site that is usable in plain HTML and that can appear more gimmicky to gimmick-centric users.

Joshua Boyd:

I think that CSS should now be considered safe to use, with a fall back of course. Nowdays the only time I come across non CSS browsers is from people still using really old versions of AOL, or people using WebTVs. It should be fairly easy to have the web server deliver just those clients an HTML 2.0 file.

The Web's punctuated equilibrium

Opinions were mixed as you can see. The one that prevailed was...my client's. No CSS. Don't risk alienating even a single user who may be running an antiquated browser.

I'm OK with this decision. It makes me uncomfortable to withdraw any kind of legacy support. Likewise, I'm turned off by sites that expect me to acquire and use a newer browser, or to download plug-ins or applets. I really do treasure the fact that the vanilla HTML 3.2 browser has defined a universal lowest common denominator.

Still, you have to marvel at just how much was at stake during the amazing rush of innovation that established that standard five years ago. More was accomplished in that brief time than anyone would have dreamed possible, so it's hard to complain about what was not accomplished. But the corollary, which is hitting me hard lately, is that it's no easier to move on to the next level now than it was then.

We like to pretend that we're all still running on "Internet time" but is that really true? According to one view of evolution, it isn't a constant process but rather a series of rapid bursts separated by periods of no change -- that is, a punctuated equilibrium.

I think the failure of CSS to catch on is just one of many indications that, media hype to the contrary, we're sitting on a plateau in the evolution of the Web. I was sure in 1996 that a year later we'd all be using style sheets to make Web pages work a little more sensibly. Weren't you? Doesn't it seem strange that a feature we've taken for granted for 15 years in our wordprocessors still seems too radical for general use on the Web?

As several people pointed out, you can use CSS as a fallback. Detect the browser, use CSS if possible, and fall back to straight HTML if not. But to me, this seems beside the point, which is to avoid having to be prepared to produce all that redundant element-level tagging in the first place. If you have to do that, why not just ship it to every browser?

No, I want CSS to simply become part of the lowest common denominator, something we take for granted just like tables and forms. How do we get from here to there? Do we have to wait for another major upheaval? Is there no way to evolve the lowest common denominator in a gradual way?

Other signposts on the evolutionary plateau

CSS isn't the only initiative that's stalled. Encrypted and digitally-signed mail is another key piece of infrastructure that was just around the corner in 1996, and still is.

The Microsoft and Netscape mailreaders have since 1996 supported end-to-end encryption of messages using S/MIME. When was the last time you exchanged encrypted email with someone? It's an odd thing, but people who fret about the strength of the encryption that protects their online credit-card orders think nothing of sending reams of confidential information all around the Internet in the form of cleartext SMTP messages.

Why hasn't S/MIME taken off? Mainly because most people haven't found it worthwhile to acquire the client certificates (digital IDs) that enable this feature, despite the fact that such certificates are inexpensive (http://www.verisign.com/) or free (http://www.thawte.com/).

The Microsoft and Netscape mailreaders have also long supported digital signatures. After Melissa and then ExploreZip.worm, it's time we start taking our digital identities seriously. Receivers of Melissa got mail that seemed to be from people they knew. Receivers of ExploreZip.worm, even more insidiously, got mail that seemed to be from people they knew in response to messages they had just sent to those people. In both cases, that mail came from a trusted person's machine, but not from a trusted person.

Digital-ID request and installation procedures are still not quite as smooth as they could be. But signed and encrypted email (and signed newsgroup conferencing) is workable now, and has been for several years. Like CSS, these are much-needed technologies that seem currently stranded on an evolutionary plateau.

Jon Udell (http://udell.roninhouse.com/) was BYTE Magazine's executive editor for new media, the architect of the original www.byte.com, and author of BYTE's Web Project column. He's now an independent Web/Internet consultant, and is the author of Practical Internet Groupware, forthcoming from O'Reilly and Associates.

Creative Commons License
This work is licensed under a Creative Commons License.