Netscape 4
No, that is not a typo. This really is about Netscape 4, partly to explain certain aspects of the site’s recent redesign. I suppose the first thing which must be said, to be fair, is that Netscape, when it first appeared, changed the face of the Web, and when it came along Netscape 4 was a perfectly adequate update to the program — when it was first released. I recall happily using it in preference to IE4 for the Macintosh, which was pretty poor. On the PC, though, IE4 already looked better than Netscape, and on the Mac IE5 is an excellent browser, making Netscape (and, for that matter, IE5 on Windows) look pretty poor by comparison.
The problem is that Netscape 4 first raised its head (as a beta) at the end of 1996, and until the recent release of version “6” there had been only minor bugfixes. Netscape Communicator 4.7 is better than Netscape Navigator 4.08 — but not vastly better. The limitations of Netscape 4 have been emphasised by the increasing use by designers of CSS. Netscape 4 can’t handle CSS as adroitly as Internet Explorer or Opera. Sometimes it requires non-standard properties to get get the required result, e.g. using layer-background-color rather than (or as well as) background-color applied to a <div>.
To some extent, Netscape were the victims of circumstance with CSS. The W3C was clearly going to recommend that style sheets be used to control presentation, separating it from content. Netscape proposed JSSS — JavaScript Style Sheets. Unfortunately, the W3C went instead for CSS only months before Netscape 4, which had JSSS support built in, was due for release.
Netscape had little choice but to adapt the JSSS technology to support, sort of, CSS. Only properties which had been part of the JSSS proposal could be supported, but it was better than nothing. This dependence on JavaScript explains why disabling JavaScript also disables CSS support in Netscape 4.
Well, there wasn’t a lot of CSS around in 1996, or 1999 for that matter, and what was appearing was not too difficult to handle. Most of the web pages around didn’t use it anyway, but relied on the use of <font> tags and tables to control document appearance — standard practice with HTML up to 3.2. But when CSS started to be seriously used by designers…
Wow! Netscape 4 did not like that! As soon as designs started to use style sheets in a complex way, Netscape would respond unpredictably. In particular, attempts to build sites using CSS-Positioning could run into serious problems. An example: one site I designed (I forget which, it may even have been the first version of this site) used CSS extensively for both positioning and basic control of text styles, etc. I didn’t want links in the menus to be underlined, since that impeded readability, but I did want links in the body text to be underlined. I therefore placed something like this in the style sheet:
a:link {text-decoration: none;}
a:visited {text-decoration: none;}
.bodylink {text-decoration: underline;}
Any links within the main body text had the bodylink class applied to them like so:
<a href="target.html" class="bodylink">link</a>
And simply applying the class to the anchor element completely destroyed the layout of the page in Netscape 4. None of the CSS worked any more. Fortunately, I had applied the class to the <a> tags towards the end of the development process so I quickly worked out what was causing the problem and how to solve it:
<span class="bodylink"><a href="target.html">link</a></span>
Had I put in the class earlier in the process, I would have spent hours, at least, searching for the cause of the page’s failure. As, indeed, I have had to do on other occasions, when the problem has been due, apparently, to white space within a hyperlink, or some apparently innocuous (or what should have been innocuous, anyway) markup elsewhere in the page.
While Internet Explorer has been steadily advancing (though 5.5 is far from perfect), and Opera became better and better, Netscape 4 remained Netscape 4 — no major updates at all until Netscape 6 appeared late last year (and it seemed bloated and buggy — but that is another story). It still has its users — possibly about 10% of the market if statistics can be trusted. Why people stick with Netscape 4 varies.
Users on some platforms don’t have much choice: if they don’t use Netscape 4, the choice was older versions of Netscape or Lynx; only recently have Opera and Netscape 6 made an appearance on, say, Linux. Some users simply don’t want to use a Microsoft product, either because of security concerns or through simple dislike of the company. Hard as that may be to believe…
Reluctance to upgrade to Netscape 6 comes from distrust of any new product, the sheer size of the download (especially if you want the full ‘Communicator’ package), and knowledge of its drawbacks.
This means that web designers have a dilemma. Many want to move on to follow the W3C recommendations, separate content from presentation, using HTML or XHTML for the structure and CSS for the presentation — including positioning of page elements, rather than attempting to control page layout using tables. That means that pages will work, to a greater or lesser extent, in Internet Explorer 4 and later, Opera 5, Konqueror, Mozilla and Netscape 6. Sometimes they will work in Netscape 4 — but when they will work and when they will fail is completely unpredictable.
This was the position I was in when I decided to redesign this site. There were two reasons I wanted to redesign it. The first was, very simply, that I had got a bit tired of the old design and, although I had tweaked it with a little 2001 makeover at the start of the year, I thought it was time for a new look.
The other reason is that I wanted to simplify the site maintenance. I had the main site, which worked in version 4+ browsers, and secondary pages for browsers which couldn’t cope with CSS. With the 2001 look I had to move Netscape 4 into that category since it simply would not render the main part of the site acceptably.
I’ve always been unhappy with this as a solution — not just because it created more work for me every time I updated the site, but also because it was not a particularly elegant solution. My aim with the rebuild was to put together a site which would look good in the most standards-compliant browsers, look acceptable in other, recent browsers and be at least usable in the rest. Yes, if you come here using Netscape/IE 3 the bulk of the site will look plain and slightly jumbled — but it should be usable.
The fly in the ointment, though, is Netscape 4. Of course.
From the word go, I knew that the CSS aimed at more or less standards-compliant browsers would not work in Netscape 4. My aim was to use a secondary style sheet to get a fairly good result in Netscape. The use of two different style sheets is not too difficult. First of all in the document head I placed a link to a style sheet:
<link rel="stylesheet" type="text/css" href="style/n4.css" />
Then the main style sheet was imported:
<style type="text/css" media="screen"> @import url(style/main.css); </style>
Because Netscape 4 doesn’t understand the import syntax, the only style sheet it would see would be the linked one; browsers which do understand the import syntax will import main.css, which would take precedence over the linked sheet.
That part of it worked. Unfortunately, Netscape 4 ran into problems with even the simplified style sheet targetted at it. Most of the time, the pages worked as expected. Every so often, though, a page would simply break — and it could not be predicted when this would happen. So I’ve given that approach up as a pointless exercise. Now in Netscape 4, there is hardly any CSS used. The result is basic, but usable. Netscape 4 is, really, an obsolete browser, and usable seems to me a good result in that context.
“But IE3 is almost completely extinct, whereas Netscape 4’s undead corpse still shambles about the earth wreaking a horrific vengeance upon the living.”
© DC 2001. All rights reserved.


