A message to clueless website authors

Are you a brain-dead website author?  You probably are, if you've been "directed" to read this page.  You probably had one of those offensive, "upgrade your browser" demand notices on your website, too.  When what's really needed, is for the website to be upgraded.  Stop being a nuisance, and learn how to write websites properly!

For anybody else who's stumbled across this page, this isn't going to be a lesson in how to write websites, there's plenty of material on that (there's links to some, at the end of this page).  This page has been written, as I've encountered website after website which was badly written; with new sections added as I've discovered yet more annoying and stupid sites.


This website requires...

If there's one thing that I'm really sick of, it's being told that my browser isn't capable of using some website.  Especially, as it usually is!  That, and being told that I must re-configure my system (usually, to degrade my security).  This sort of thing is a waste of my time, it's damn annoying, and just shows how stupid the website author is.  The internet is not for one person's self indulgence, it's for many people to use.  Why else would you publicly publish a document, if you don't want as many people as possible to read it?  If you know what you're doing, then you write so that as many people as possible can read your pages, and without making them have to go out of their way to manage it.

There's a ridiculously large number of moronic website authors who build sites that will not work in more than one or two browsers, because they've used some non-standard authoring style.  If you attempt to use their site with another browser, it will fail in various stupid ways.  Guess what?  The fault is not in the browser being used, it's in the brain of the website author:  They're a bloody idiot! They've written a site for specific browsers, and that's all it's probably going to look okay in.  When newer versions of browsers come out, they'll have to rewrite their site.

And there's just as many incompetent ones who assume that their website will only work in one or two browsers, check to see whether you're running one of them; and then blatantly lock you out, if you're not.  If you hack your way around their stupidity and gain access, you'll often find that the site does work quite okay, or with only minimal problems (e.g. the site is usable, even if it's a mess).

The solution is simple:  Write the website properly! Do not tell the visitor to download some update to their web browser, reconfigure their browser, or to use a completely different browser than what they want to.  Write the site to the standard specifications so it works in all browsers that are capable of working properly (i.e. most of them); and only having one version of a website for all browsers, means less authoring work.  Don't do browser version testing, just completely avoid doing silly tricks that only work in some browsers, and let the browser ignore things that it can't deal with.  And don't misuse HTML.

e.g. "Blockquote" is for quoting blocks of text, not for indenting.  There's no specification that says that user-agents "must" indent blockquoted text, so don't "expect" that behaviour (e.g. one of my browsers italicises the quoted text, it doesn't indent it).  The "blockquote" element "means" that the contents are "quoted" material ("how" that's indicated, is not specified), "tables" are for presenting tabular data, "em" emphasised text means that the text is "emphasised," not "italicised," (italicising's just a commonly employed, but by no means mandatory, method of indicating emphasised text), and so on.  HTML elements have specific purposes, use them appropriately.

I'm not about to spend ages downloading a different browser, install it, reboot, and then come back to look at your site; neither are many other people.  Your suggested browser may not even be available for our systems, and/or we may not be "allowed" to make changes to the computer we're using.  Likewise, regarding plug-ins to our current browser.  And we're certainly not about to change the device we're using to access the internet, just to use your website.  More non-computer appliances are being used for the internet, different computer systems are being more widely used, and browsers are getting less tolerant of bad authoring, so idiot website authors had better get it through their thick heads to stop kludging the content for specific browsers.

("Kludging" the content, means writing deliberately broken content, to suit the faults of something else.  This kludged content won't suit the requirements of other things.)

We're going to ignore your website, as well we should, permanently.  That means no sales, or whatever else that you're trying to use your website for (the ultimate stupidity is computer sales websites, that require the latest version of IE to view them, when they're trying to sell new computers to people using older computers).  We'll be away within mere seconds, to find some other site that works, now; in the browser that we're using.  It's not just because we're outraged by a dumb site.  But why would we persist in trying to get some broken site to work, when it's just a moments work to find something else that does work?

There are more web browsers than Internet Explorer or Netscape, and more operating systems than Windows and Macintosh.  And, many of those others are also quite capable of using SSL, CSS, JavaScript, Java, etc.  And, very often, are far more secure (safer to use) than IE or Netscape.

If some site excludes other browsers for being potential security risks, then they should permanently block the usage of Internet Explorer, at the very least.  It's riddled with serious security flaws, and probably always will be.  Disregarding all the programming bugs, and opportunities it provides for hacking; its ability to keep website log-on details stored within the system, is against the usual terms of services for using things like bankcards (it's the same situation as writing your PIN on the card).  Banks should not be advocating that their clients use Internet Explorer, nor advising people degrade their security so the site will work, but should be actively advising against it, and authoring their sites better.

Relying on Java or JavaScript, is stupid.  They're not used equally across different browsers.  They're often disabled, because users are sick of the stupid uses of them, and how they make their system grind to a snail's pace, or their use has been prohibited on various computer networks.  And both have been perverted into non-standard variations by Microsoft.  Likewise, requiring the use of other plug-ins, such as Flash, Shockwave, and PDF, or non-standard and unsafe browser extensions like ActiveX, is equally stupid; and excludes your site from a large number of people.  That number could be in the millions!

Also, relying on cookies, referrer headers, and user-agent headers to control access to your site, is incredibly stupid.  Likewise, with relying on client-side scripting to validate data before submission.  They're all so easily modified.  Relying on them leaves you wide open to abuse, and prone to errors.  The referrer header's not even a mandatory header, anyway.


Other stupid tricks:

Forcing people to put up with something is being an ass.

If users have decided that they don't want, animated banners, Java, scrolling mesages, scripts, pop-ups, advertising, graphics, or anything else, then they don't want them!  It's not up to you to try and circumvent their preferences.  They don't want any of "that" stuff, including yours.  Take the hint that users don't want crap inflicted upon them.

When told to quit doing something, the message is that you should stop doing it.  When you find that people want to ignore certain things, then get used to the fact that they're not interested.  It's not some form of challenge to find yet another way to do something that people don't want.  Being involved in any sort of activity, is not about doing what you can get away with, but doing the right thing in the first place, because it's the right thing to do.  Exploiting some flaw, that lets you do something that you couldn't otherwise do, is acting in a completely reprehensible manner; "caveat emptor" is the attitude of a fraudulent con artist, and not tolerable.

Huge image files on websites are not user-friendly.

A serious annoyance with websites, are ones that have unnecessary huge graphics or multimedia files.  Apart from costing more money in data traffic expenses, they're slow to use.  Slow enough that they try the patience of visitors.  Not everyone has a fast internet connection, and not all routes between services are fast, either.

Complex arrays of graphics aren't a good idea.

Contrary to modern myth, carving up a picture into sections does not make it quicker to load.  It can cause problems with running more connections to a server than would otherwise be necessary.  There's a limit to how many connections a server can, or will, accept.  Both to a particular visitor, and the overall number of connections it can service to all visitors.  Likewise, browsers can only make so-many simultaneous connections.  Exceeding the limit results in stalled or aborted downloads.  A visitor is likely to try reloading the page, attempting to get the rest of the graphics, only to face the same problem again.

Contrary to another myth, sliced images do not stop people from copying images from your site.  It makes it slightly harder, but it's not difficult to work around.  Neither do other tricks prevent people copying images (e.g. disabling the right-click menu only works on some browsers, and even that can be easily worked around).

Pages with large numbers of graphics are just as bad.  They take ages to load, and suffer the same problems due to the maximum number of concurrent connections.

Likewise with pages that use images to force the page to format in a certain way.  Without the images, the page looks a mess.  And sometimes with them too, as the author is unskilled at doing it in ways compatible with all browsers and differing browser canvas sizes.  People actually do browse with images turned off; it's quicker that way.  If site looks stupid, that way, it's because the author doesn't understand what HTML is about, not that the browser is browsing it in the wrong way.

Improper use of image elements make things worse.  ALT text is (now) a mandatory field, but it has to be used intelligently.  It's to be seen when the images are not showing (ALT is short for "alternative," as in an alternative to the image; to convey the same meaning as the image, not to "describe" it).  If you want tooltips to pop up when you hover a mouse over an image, use the TITLE attribute.  Set the ALT text to show something meaningful when it's required (e.g. if you used a graphic for a link, then use words that convey the same meaning as the image), and set it to nothing when the image is best totally ignored (e.g. set ALT="" for images that just pad out the page, or are completely redundant in a text-only viewing mode).

Ill-considered flashy multimedia sites are stupid.

Using multimedia content, just for the sake of it, is not a good idea, at all.  It's slower for visitors to use, that's if they even can use it.

Flash is typically included in websites using malformed HTML, isn't available for all platforms, and can be a complete pain to install (a prolonged download from a slow and convoluted website, and may also require a reboot).  It precludes text-only browsing (speedier browsing of sites, accessibility for the disabled, and search engine indexing of sites).  And sitting through a four minute download, only to find that you've been waiting for a completely unnecessary introductory animation, leaves you with very little respect for the page author.

Background sounds and music are damn annoying.  It delays the loading of pages, is distracting, and is also typically included using malformed HTML.

Likewise, animated GIFs are a pain to the eyes, and lots of them can be a serious drag on CPU resources.

These sort of things show a fundamental contempt for anybody trying to read your pages.  It's the cyber equivalent of trying to read a book with screaming kids running around you in circles.

Daft colour schemes are a pain.

Picking certain combinations of colours (foreground against background), can make things very hard to read.  Even simple black on white (and vice versa), is harsh on the eyes.  And if you do specify colours on a page, be sure to specify the colours for background, foreground (text), and the links (i.e. set everything, not just some things).  Else, some default setting is likely to clash with your non-default choices.  Don't forget that many people will have customised their browsers (not just a few people, it could well be millions of people; the world is a pretty big place), so don't colour pages just for the sake of it, many people will already have made their browsers look better than the original default settings; and not all browsers have black text, white background, blue unvisited links, and purple unvisited links, as their default colours, anyway.

Other points to remember are that there's an awful lot of people with eyesight problems; colourblindness is very prevelent (some statistics say one in ten people have it).  And, many people have badly set up monitors (using very dark colours, may make things disappear from view).

Playing with fonts, can make a page hard to read.

Setting a page to use particular fonts, or font sizing, can make a page difficult, or impossible to read.  Anybody who customises their browser, or has a browser which comes with sensible defaults, will have settings that make it easy to read a page.  The font size will be a normal size, that's comfortable to read; likewise with the font face.

Choosing something else, means that you're making an assumption that, that person has the font that you've picked (they may not, and their browser may substitute something awful; or if you've tried to highlight sections in a different font, that highlighting will fail), and that the size is suitable for them (you may have picked a tiny or huge font, particularly when you consider that their screen resolution may be different from your own).

The first common mistake is to think that you need to specify a font.  You don't.  At all!

The next one is that you have a better idea of what looks good, than they do.  You're wrong, and you have no way of telling what's actually "suitable," for them.

Leading to the next common mistake, that you think that most people have their fonts set up too big, and that you should "correct" that for them, by making your fonts one size (too) small (for many people, that means a font that's significantly too small to be easily read).  You're wrong; my fonts are set up exactly how I want them, and many people's are set up exactly how they "need" them.  Now, people have to re-adjust their browser, to compensate for your page.  Then, the next time that they encounter a website that's written "properly," it looks too big, so they have to re-adjust their browser, yet again.  This mess is all your fault.

Another common mistake is to specify "fixed" font sizes, which not only means that you've probably picked an inappropriate size for them, but you've also made it just about impossible for them to adjust the display of the page to suit themselves.  Attempting to fix the size of fonts, to fit text into certain parts of the page (e.g. because you've got images of a certain size, surrounding it), is a mistake.  The entire idea of that (fixed page layout), is flawed.  It's the complete opposite of the design philosophy of HTML.

(Yes, this page does vaguely specify font types, but only in as much as "suggesting" your choice of sans-serif font face to be used in headings, and your choice of serif font face for the main body text.  Your browser, if it's a decent one, will allow you to pick your default serif and sans-serif fonts, amongst other default display choices.  Your settings determine what size the main body text is, with the other text on the page, being sized proportionally around those settings.)

Sites designed for specific resolutions show a complete failure to understand HTML viewing.

HTML is designed to deliberately render in a non-specific size, to fit into whatever sized viewing window the browser has.  Different people have different screen resolutions, and browser window sizes.  You cannot make any assumption about the size of the browsers display (e.g. most people have this, so I'll make a page that uses that space); that's completely incompetent website authoring.  We aren't going to change screen resolutions to suit you, and we are going to use browser window sizes that suits us.  That's a specific design criteria of HTML; to give the viewer total control over the display of the page.

One of the purposes of HTML is to get away from the problems associated with trying to read documents that were formatted on someone else's (differently set up) computer.  Trying to read documents which require horizontal and vertical scrolling, because they're too wide, or have used multi-columnar layouts (which are inappropriate for anything other than printed material) is damn annoying.  Likewise, with documents which have become badly wrapped, due to overwide lines, and no neat way of rewrapping them; or require an excessively wide screen to view the page.  And reading text that only occupies a thin section of the screen, for no good reason, is just as annoying to read.  Not to mention, documents which used fonts that were far too small to be read easily, or stupidly huge ones.

Writing documents in a way that the content can readily squeeze and stretch to the current width of the browser, is the proper way to do it.  It fits the needs of the reader, to format the text in the most suitable manner for themselves; and allows the document to fit into the technical limitations of their browser.

Sites designed for specific browsers show a fundamental misunderstanding about the WWW.

Your browser isn't the same as mine (neither in which browsers they are, nor how they're configured), nor do they have to be the same browser.  Using features that only work in specific browsers is ignorant of the diversity of devices that can access the WWW, restrictive towards people who can't use the device that you're insisting on, and limits your potential audience.  Do you really need that special feature?  Or did you just get hooked on playing with fancy toys?  The chances are that you don't need to do whatever it is that you're attempting.

Sites that try to determine which user-agent is accessing them, to send a different version or a lock-out notice, often get it wrong; and make a worse job than having a single version that works in all browsers.  So coming up with multi-version sites isn't the answer; and involves more hard work, which is all-too-typically a waste of effort.

Debugging websites with a browser is useless.

Using your browser to test whether a site works is utterly useless (browsers are generally designed to work their way around faults, rather than indicate that the page is malformed; and this sort of testing only tests that the site works in your browser).  Likewise, telling me that your site works for you is useless, when I've told you that it doesn't work for me; I'm not at your computer, I need it to work for me, on my browser.

Use proper debugging tools (error checkers, and validators), to get sites working in all browsers, and write HTML to the ratified specifications, in the first place.

Abusing HTML demonstrates that you don't know what you're doing.

HTML is a mark-up language, for "marking up" sections of its content as "meaning" something.  While various browsers commonly render certain element's contents in similar manners, they don't all do it in the same way; and in many cases, there's no specification for how certain elements should look.  Other browsers, including future versions of your current browser, may not render elements in the same way; so don't rely on it.  Also, incorrectly using HTML elements makes a nonsense of the marked-up data, making machine assessment of the code next to impossible.

(e.g. With appropriate software, I can search through a page for "definitions" of something; but if the author's used the element just to make something look different, rather than using it to "define" something, then they've just broken the functionality of my software.  Likewise, I can see a summary of a page, and jump to key points on the page, by assessing the headings used on it; but only if heading elements have been properly used.)

HTML should be only used to mark-up the content, to indicate what it is.  If you want to change how something looks, then you should be playing with a "styling" language (e.g. CSS); and also realising that styling is merely a "suggestion" (it may be completely ignored by the browser), so don't rely on styling to make your page coherent.  Learn what the various WWW languages are really for, and use them properly.

Relying on support for the latest features is shooting yourself in the foot.

Not everybody will have the latest version of browsers (or other software), nor wish (or be able to) keep up with installing them.  If you use features that only work on the latest software, then you're limiting your audience.

Not only do you have user updating to contend with, but software authoring, as well.  The development of technology is usually ahead of the implementation and use of it.

Relying on special features (recent, or not) isn't sensible.

Quite often the special feature isn't needed; and the tests authors try, to see if a special feature is there, are flawed.  For instance:

I commonly see JavaScript being used to test if cookies are being accepted; which fails if JavaScript isn't enabled, even if cookies are.  And those cookies often weren't really needed, nor was JavaScript needed for anything else but that test, either.  (If you really need to test for cookies, then get the server to send them, using server-side functions; and let it react to the response, or lack of response.)

Another common flaw is using JavaScript to check the contents of a form, and no checking of the data received at the server.  This leaves you wide open to abuse by hackers, or accidents from people who don't have JavaScript enabled (without it, no tests will be run; to check that they're sending you the right data).

Your server is the only thing that you will know the capabilities of, always use it for any special features that you need.

JavaScript linking reduces accessibility.

Many sites use JavaScript for links between pages, when it was totally unneccessary (the links could have been done with plain HTML).  The site becomes unnavigatable, in any web browser which doesn't support JavaScript, has JavaScript turned off, or the page author used some non-standard method in their scripting.

In most cases, a site doesn't really need any scripting running in the browser to do some task; but if it does use it, it should be done properly:  In a manner where the scripting provides an optional improvement, to when scripting is ignored; and where the page doesn't become useless without the scripting.

e.g. For the href attribute, write a normal HTML link to the resource (or to an useful alternative), so that the page is still usable without scripting in the browser; and place your scripting in the extra attributes provided for those sort of things (such as the onclick and onkeypress attributes).

Convoluted scripting isn't smart.

Firstly, many people disable it on the browsers, or have it disabled for them as a company policy.  Secondly, even on reasonable fast computers, it can make them grind down to a crawl.  And thirdly, many script authors aren't too competent; writing scripts that are just plain broken, doesn't take into account the behaviour of other web browsers than the one the author tried it with, or is easily exploitable by hackers.

Overly complex sites are damn annoying.

Trying to find your way around a convoluted site, is not only annoying, but a serious time waster.  We shouldn't have to click through page after page to see something; nor to "drill down" through menu page after menu page, to what we needed; nor have to read information that on a single topic but has been carved up into a few paragraphs per page (such stupid examples also tend to be on excruciatingly slow servers, too); nor have to read the sites "help" or "map" page, to find the page that we need; nor have to deal with sites which pop up other windows, causing us to have to shuffle them all around (sites that rely on a multi-window approach fail when the browser cannot, or will not, open other windows).

e.g. Taking twenty minutes to get through to your bank account transaction listing, making you go through the log-on page, then two or three menu pages which cannot be book-marked, and use slow-to-get navigational icons, is a ridiculous process to have to go through.

Particularly annoying are sites using SSL (https:// links), which are slow enough to begin with, but become tediously slow, once you've got pages with half a dozen graphics being encrypted and decrypted.  Such sites also tend to never bother to put in useful ALT text, so that you could simply ignore graphics, and browse without having to wait for them.  Sites using SSL, should be written lean (simple, small pages; avoid the use of graphics, or at least not depend on them; and avoiding having to wade through page after page), and shouldn't use SSL until needed (e.g. on-line shopping sites should keep the main section of the site, where you browse and pick items, as normal HTTP linked pages, then proceed to the SSL section, when it comes to the bill).

Dynamically generated sites tend to be some of the worst sites that I have to use.  They're often much slower at serving pages, and have far more errors; as the author has more authoring work to do than flat HTML sites, and more opportunity to miswrite something; or has (again) relied on special browser features; and much of the automatically generated content is badly generated, and not fixable by the website author.

Convoluted layouts are hard to read.

Webpages are not magazine pages; most people cannot see the entire page in one go, and have to scroll.  Trying to read a page which has formatted the contents into columns, with bits of information here there and everywhere, are annoying to read.  Having to repeatedly scroll up and down, and read little snippets spread throughout margins, around a longer article in another column, is a major pain.  Trying to read an article with other things splattered through it, is annoying.  And trying to read all of the other things that are placed higgledy piggledy around the page, is an eye strain.

Multiple windows are a thorough pest.

Sites which pop up other windows, are painful.  They make older computers grind to a crawl, as they open the other window.  The pop-ups get in the way of what we're trying to read.  People have to shuffle windows around, to see what's in the other window; or madly close windows that they didn't want to see.  Sites that pop-up another window for navigation, cannot be used when the browser doesn't open another window (because it can't, or the user doesn't want it to).

Frames can be a complete nuisance.

Website authors frequently make websites awkward to use, by ill-thought-out uages of frames.  It's difficult to bookmark a position within frames.  Frames are often fixed into positions which don't suit other browsers (e.g. the contents render at a different size, and get chopped off; worsened by authors who specify frames aren't to be resized).  Authors commonly put all of the navigational links into the frames, and the website can't be browsed without them.  It's common for authors to do a stupid browser test, wrongly declare the browser doesn't support frames, tell you to upgrade your browser, and block you from using the site.

Crippling standard browser features is damn annoying.

Disabling right-click options does not stop people from pinching things from your site (it's already downloaded and cached; and just about anything that you can "see," you can copy), but does make things damn hard for people who need to cut and paste things from the page (your e-mail address into their mail client; unknown words into dictionaries; cinema session times into messaging clients, to ask if their friend can make it as well), or use other functions in their right-click menu (navigation, accessibility aids, security checks against your site, opening links in another browser window, bookmarking, changing encodings to suit their system, refreshing frames from broken servers, and so on).

Removing the "chrome" from the browser (parts of the GUI, such as the navigation buttons, the address gadget, scroll bars, etc.), seriously annoys many people, makes it hard to use the browser, and removes options which people use to check whether they want to trust your page.

Degrading a user's security is a menace.

Requiring people to degrade their security, is a menace, and shows a lack of skill in web authoring that you can't achieve what you need without compromising someone else's computer.  It's exposing users to all sorts of hazards, ones which many people will not be able to repair by themselves; and may cause them to be a problem to other people (propagating viruses, etc.).  Even more so, if you're advising people to permanently degrade their default settings, rather than just make exceptions for your site.  You're also excluding a lot of people who won't, or can't modify their browser settings.

Anyone insisting that users degrade their security settings causes them to (rightly) be concerned about whether they're just incompetent, or have ulterior motives.

Unnecessary use of cookies is annoying.

Requiring people to accept cookies is bad enough, without ramming masses of them down their throat.  You do not "need" to send a cookie with every image on the page, nor should you be doing that.

Cookies should be used sparingly, if at all.  I'm sick of encountering pages where I have to click on thirty-odd cookie prompts, and so are many others.  No, we're not going to blindly accept all cookies; there's far too many malicious uses of them to promote that behaviour.  If anything, we're going to block annoying cookies.

There are better ways to do things, than rely on the user to store and return data.  It's often used as a breach of our privacy, and relying on the integrity of the data is leaving the server wide open to errors and abuse (editing the contents of cookies is easy to do; users will, and should, frequently remove clutter from their drives; and it can lead to private data, about the user, being stored on a computer that's not theirs).

Services which send cookies, and have to wait for responses, particularly lots of them, are also damn slow.  Making some services incredibly tedious to use.

Invading people's privacy isn't acceptable.

In most cases, you don't need to know personal details of visitors; and keeping such records puts a burden of ensuring that they remain private on you, too.  Secret tracking and spying techniques are deceitful, and even doing it openly is despicable.  It's also somewhat naive to think that people won't provide false information.  The more intrusive you are, the less people are inclined to trust you, and care about doing what you want.

Hiding links is dumb.

Making links hard to find, doesn't help people use your website.  Removing underlines, because you don't think they look nice, means that links don't have the default look that people expect.  Now, they've got to hunting through the page to find where the links are (assuming that they'll bother looking to see if there are any links, given that there isn't the usual hint to show that there are any links on the page).  And, relying on links being rendered in a different colour doesn't help people who don't have coloured displays, or who are colourblind (a large number of people are).  Another related problem situation, of settings attributes so that visited links don't change colours, makes it confusing for people trying to work out whether they've already followed a link.  Using images for links, but without making it plainly obvious that the image is a link, or what the link is for, also isn't helpful.

If you have no imagination, click here...

Writing "click here" for all your links looks very amateurish, and ignores the fact that not everybody "clicks" on a link with a mouse.  Make the link part of the sentence.  If you have a file for downloading, and you write about being able to download the file from here, make the phrase or the actual filename, the link.  If you're linking to a page with more information on a particular word (or phrase), make that word (or phrase) the link; writing the sentence in a normal manner, so that it reads coherently.

e.g. Download the current version of our program, from our website.  The documentation for the program is also available, separately.

Making it hard for people to contact you is unhelpful.

Not providing any way for people to contact you, or making it hard to find the information, is not a good idea, and very stupid for commercial websites.  If you want customers, make it easy for people to get in touch with you, with whatever methods are available.  And actually answer any mail that you get.  Also, adequately describe your products and/or services on your website, so that people will know if they want to contact you.

Not including normal, and unobscured, e-mail links, makes it hard for people to e-mail you in a normal e-mail client (which generally is the easiest way to write messages).  It means that they can't compose a message to you while they're off-line; they can't keep a record of what they sent to you; and they can't write down an e-mail address (to use later on), while looking at your website on someone else's computer.

Not providing a "form," means that only people with an e-mail account, can contact you.  Likewise, if you don't allow them to specify that you contact them back using some non-internet method (e.g. over the phone, or real mail).  Many people use other people's computers (private or public ones), where they only thing that they can use is the web browser; and they mayn't have an e-mail address, or one that they can access frequently.

Overly complex forms are seriously annoying (e.g. ones that demand certain information that you don't have, don't need to give as part of your query, or don't want to divulge).  Likewise, with ones that give you a tiny little window to try and type a message into.

Provide both normal e-mail addresses and easily usable forms.  That lets people contact you using the most convenient method, for them.

e.g. A simple write to us page, with both methods of sending a message (this ISP doesn't provide a mailto: form handler, so the page only has a non-working "example" form, and a ordinary mailto: link).

Providing a normal postal address is a wise idea, too.  Particularly if you're a supplier of some service, as it helps to let people know whereabouts in the world you are (e.g. there's not much point looking through the catalogue of some foreign company who don't trade overseas, but don't make it clear where they're based), and allows people to write to you, even if they don't have their own computer.  Likewise, listing fax and phone numbers, is also a good idea.  Many people want to find out about products in their own time, but still want to speak to a real person, or send something in writing.

Make it easy for people to get in touch, and respond to enquiries, or lose business.


Reasons why you should author websites properly:

It "future proofs" your website.

Using "valid" HTML (as per the freely, and publicly, published specifications), means that your pages are written "correctly," and that they should work "correctly" in all browsers (the ones that exist now, and any others that will be created; so long as the browsers are built properly).

Get it right, in the first place, and you won't have to keep on "fixing" it, to work in newer, and different, browsers.

It's more compatible.

Understand (and work with) those concepts, and your pages will work properly on different browsers.  Work against it, and they'll fail; on many browsers.  If you find that you're having to force things for certain browsers, or that you're even trying to "force" something, in the first place; then you're using HTML against its spirit, and your efforts are bound to be limited in their effectiveness, or even cause more problems.

By way of another example of HTML's "built-in" compatibility and convenience; HTML is also designed to present its contents to more than just visual mediums (e.g. aural browsers), as it already stands, without "requiring" a second version of the contents (until an author stupidly "relies" on non-textual content, a specific layout, or complicates the contents, etc.).

It's simpler.


A few authoritative resources:

Information:

HTML:

CSS:

ECMA Script (JavaScript):

Java:

Validators:

Other browsers:


The key points on this page:

If you'd like to refer people to a particular aspect of this page, then you may like to use these links (below).  They link to the headings of each section.

This page was written using the W3C's Amaya browser/editor, has been checked for HTML 4.01 validity, and passed without any errors being detected.  It should work, okay, on most web browsers; and is best viewed at whatever resolution suits you.  Can you claim the same thing about your pages?

You're free to copy this page (in whole or part), put it on websites, send it to clueless website authors, or do anything else useful that you can think of doing with it.  It's a single stand-alone file, and doesn't "need" the associated CSS files; though you're free to copy them, too.  Nor does it "need" the other pages that this page links to; and copying the linked write to the author (me) page wouldn't do you much good, anyway.  I recommend that you read the page source, and modify any links to things which aren't suitable (such as the links to my homepage and my write to the author page; and links to my stylesheets, if you don't copy them, as well).  There's comments in the HTML, near those things, to give you some help.  You do not need to seek my permission, nor have to attribute the page to me, though you cannot claim it as being yours (because it simply is not).  If you feel the need to attribute it, then I suggest that you simply mention that the page was copied from this site, at whatever date that you did so.  Linking to resources on this website is not advised; as their URI will not be permanent (I will drop this ISP if their service degrades, or they charge too much, and they would purge the site's contents).

So far, some visitors might have checked this page (since October 29th, 2002); and before they come back, they ought to know that the site may only be temporary (see the previous sentence, for an explanation).