in reply to The Case for Javascript
I think you are mostly correct. I use a JS front end and a perl back end and its great. As you stated in your reply to that post letting JS do the user friendly form validation is cool.
But the important thing is that you have to degrade gracefully. What this means is that you must make absolutely no assumptions about your user's environment and still be able to present something legible and useful. Furthermore if the user turns out to be a robot you must accept bogus input without barfing. By all means print out a cryptic error message (such as parameter "year" missing or invalid) for complete garbage, but make sure that if the field is reasonably valid (in the example above that parameter year is a 4 digit number) you just accept the thing and return the null result (Fancy web search result with lots of cruft stating: 0 documents were found published in the year 1234).
Likewise by all means use DHTL CSS and Javascript to make a document display nicely on sensible browsers. But for the unfortunates who don't have some or all of that enabled you should have something that displays OK. i.e. make sure that your content is logically defined (thats the whole point of CSS anyway) with clear sections that show up in a reasonable order so that someone still using netscape 1.0 which doesn't understand the <DIV> tag, let alone CSS and most javascript gets a page that they can read and that they can follow links from.
It is however, IMO, perfectly reasonable to state that if they used a newer browser they'd see something that looked considerably nicer, but unless you have 100% control of your clients (and you don't, no one does*) you must not require that they have certain features! What you shoud do is design for a good experience on some reasonable lowest spec, probably IE 5.0, an adequate experience on something worse and a much nicer one on something better such as Mozilla :)
Dingus
* FWIW I am the only computer guy in a 10 person company and I write (some) web apps for our internal server. Despite that small client base I have to cope with at least 3 versions of IE (5.0, 5.5 and 6) as well as Mozilla (and a couple of ancient lab PCs, one which has Netscape 4.x on it and at least one which has IE 4) unless I wish to annoy all my users and mandate that everyone use IE 6
|
|---|