This is an older article that has become somewhat obsolete. You may want to read the updated 2014 version instead.
This is a compilation of things that have kept on annoying me during my years of internet experience. They are roughly sorted from most annoying to least. Mind that if you look well enough, you may find examples of some of these things on my very own site. Just keep in mind that my site has parts that go back to 1997 and I still haven't found the time to clean up everything, although I've been planning it for years. But at least I try hard not to sin when making new sites or pages.
My hope is that many people will read this and consider it when making or updating their websites. Or at least complain to webmasters if they encounter it in other sites. But the main purpose of this text is mostly to spit my bile and vent my (and many others') frustrations. This means it will contain a large amount of sarcasm, and may seem threatening or insulting to sensitive readers. Read it at your own risk and don't come complaining afterwards. It also means that it are my personal opinions and if you think you have good reasons to do any of the things mentioned here, just go ahead. After all, I'm not the Pope or anything.
The only reason why this could be justified, is to prevent ‘deep linking’, i.e. other sites linking directly to pages deep in your site, instead of your home page. Then again, what is wrong with that? You don't make your pages in such a way that it's not obvious they belong to your site, even if embedded in another site, do you? And you didn't forget clearly visible links to your main page on every page, did you?
Imagine you're cozily surfing the web, with your desktop neatly arranged, and your browser window perfectly tuned so you can see enough of the websites while still keeping an eye on other windows next to the browser. Then suddenly you enter a site and POP! It blows up the browser to full screen, literally making it explode in your face. I really, really, can't think of any reason why anyone should do this. Except maybe, to express: “hey, my site is so great that I'm sure you'll want to view it full screen, so I'm making it full screen for you!” Well, unfortunately all the sites that I encountered that did this, sucked. Moreover, I like to decide myself how large my browser window should be. If your site only looks good in full screen, then it sucks from the start.
Actually I could just tell it like it is, the ‘certain operating system’ is Windows. The amount of sites whose main content is only usable in Mac OS or Linux is negligible, if not non-existant. But if they exist, they suck just as hard. It just happens to be that Bill Gates had this brilliant idea back in 1981 to force IBM to sell all their PC's with MS software pre-installed. This has led to the undeserved monopoly that they still have at the time of this writing, because in some way this license was also cloned to other manufacturers, together with the design of the IBM PC.
But this is not really what this point is all about. It's about the fact that when you're designing a website in such a way that it only works in operating system A with browser B, you're a bit like a virtual racist. Especially if you do it conspicously, and redirect people who don't use the über-software to a page that simply states they use the wrong system, without even giving them a chance to try it with their ‘inferior’ system. Many people choose to use something different than the software of the monopolist and that is their good right. Actually, different people using different stuff is a good thing in general, but I won't explain here why.
The worst thing I've seen until now was a site which used Java applets to stream WMV video. Fat chance that this will ever work outside Windows, because it probably used Microsoft's idea of ‘Java’ (which boils down to: “let's make our own version of Java which sucks so people think our C# is better.”) There wasn't even any possibility to fetch the videos in some other way, so anyone who couldn't get this construction to work, could see nothing at all.
Imagine you have a shop and 100 potential customers. You pick out 10 of those customers, based on the fact that they wear shoes of a certain brand. And you put two bodyguards at the entrance, with the order to prevent those people from entering your store at all cost, even though your very best customers might be among those 10. Does that make sense? As much as taking 10% of your income in the form of paper money, and eating it. Or dancing naked in a town square, holding a fresh herring in each hand.
Making your site cross-browser, cross-platform isn't as hard as you may think, and makes much more sense than locking out a group of people because they prefer to use a different system than you. Putting a label “Designed for / Best viewed with browser B” on your site is nothing more than telling “I'm a moron who is too lazy or incompetent to make my site work for everyone” or “I believe we're still in the year 1997”.
With the advent of CSS, the possibility to use “
text-decoration: none” arose. This means that people can actually turn off the default underline for hyperlinks. This is not bad as such, as it allows to tailor the appearance of links to your custom web design. However, many people like to use this to make the links totally identical to the surrounding text. Only when the user hovers over them with the mouse they become visible, and sometimes even that has been disabled! The only pointer that the word is clickable in the latter case, is the cursor changing to a hand icon.
Now tell me, do you believe anyone wants to scan every word in every webpage with the mouse, in order to detect where the wonderfully hidden links are? No! Links must be visible at first glance. Whether with an underline, different style, colour, or whatever. The underline is burned so deeply into the common knowledge of people, that it's always a good way to indicate links. This also means that you should never use underlines for anything else, unless the meaning of the underline is clearly explained. Only if you have a real good reason, you may remove the underline – and replace it with something else. But there is never a good reason to make links invisible, except in a game “find the hidden links”. There's one hidden link in this very paragraph. Did you find it?
Flash intros are annoying enough on their own already. Please don't torture the viewers of your site by forcing them to sit through your entire piece of ju… eh, art. A ‘skip intro’ button should be the first thing that loads in the flash file, not the last. When I taste a meal and it tastes bad, I never swallow all of it first, only to puke it out when I'm ready. I just skip it immediately. So, don't make me puke out your flash intro!
Many sites somehow manage to include banner ads that are implemented so badly, that browsers are unable to render the page before the ad has been loaded. Of course, the servers on which those ads reside, obey Murphy's law and have the tendency to crash a lot. This means that the user sees nothing, until (s)he waits for the ad to timeout. Even if the ‘stop’ button is pressed, often the page stays blank. I wonder how you guys do that. Hours of research must have been spent to achieve this totally useless and annoying behavior.
Face it: only 1% of visitors will ever click a banner (and that's a very optimistic estimate). I think I clicked three or so image- or Flash-based ads in the first ten years that I used the internet. And I never bought anything through a banner ad. (As a side note: I did click on many of the unobtrusive Google ads, and actually bought stuff through them.) Therefore I find them pure noise. And I don't like it if the noise prevents me from looking at the real content of a site. Mostly I just give up and go to another site if I can't see anything within reasonable time, and most other people will do the same. So whether you do this ‘no content until the ad has loaded’ stuff on purpose or it's just due to incompetence, you're always shooting yourself in the foot. I don't care about those useless ads sitting on my screen so I don't ask to remove them. I just ask to prevent them from interfering with the real site content.
Nowadays, one can use pure CSS to achieve the same effect (and much more). This is faster, safer, cleaner, easier to modify, and makes your site much easier to navigate both by people and search engines. If you look in this page's source, you'll see that the button below actually is a plain hyperlink of a certain class, defined in the style sheet.
There is absolutely no reason at all to use those horrendous applet buttons anymore, except to piss off visitors and show what kind of an amateur you are. Yet, there still are lots of sites that use them. These sites should be burned, pulverized in a blender, and then encapsulated into concrete and dumped into the Tonga trench.
Similarly, there are also applets that provide a complete navigation system that transforms as the user browses through the site. This may look neat, but it's a lot of hassle for something that you could as well have put statically into each page, or you could use PHP for this. Moreover, to make this work, you're forced to use frames, which is not a good idea (see below). And again, search engines and people with special browsers will grind to a halt upon encountering your unreadable applet. So, please use a more modern alternative for this. Java applets can be put to good use to run a little program to illustrate something, but they should never be used as an essential part of your site.
I wonder how many rotting corpses of dead epilepsy patients are lying behind computer monitors right now, with an ad still flashing: “you are the 10000th visitor of this site!” There's also variation where “you are the 999999th visitor”, and the ad is throbbing and shaking as if it's being held in the hands of someone who drank ten too many cups of coffee. Of course everyone is the ‘10000th’ or ‘999999th’ visitor of that site, but that doesn't matter now. What matters, is that flashing and shaking things are an ideal visitor repellant, and the repulsion force is proportional to the area and frequency of the flashing thing (up to the point where the eye can't follow anymore and it becomes a blur). Especially on pages where the user is supposed to read even a small piece of text, fast moving and flashing things are not done. If there's nothing else of any importance on a page, and the page is only to be seen during 3 seconds, then it may be OK to put something flashing on it. But please, no flashing junk on any page with more than 2 sentences of text!
This is very, very common. Way too common. I enter a website through a hyperlink or a search engine, but it's in a too deep level, e.g.
Now imagine I want to see all rubber duckies, but I can't immediately find a navigation link to go to that higher level. The logical thing to do, is to cut off all the parts of the URL after ‘rubberduckies’. In other words, go to www.site.com/products/rubberduckies/. In a well designed website, I would then arrive at the page with the overview of all rubber duckies. But in most cases I get ‘permission denied’, although I'm pretty certain that I have permission to see all rubber duckies. This forces me to go back all the way to the main page and re-traverse the navigation structure. That sucks. To prevent this, my dear people, it's as simple as naming the main page of each subdirectory ‘index.html’ (or ‘index.htm’ or ‘index.php’), or at least making a simple redirect page with that name, pointing to the actual page.
Yes, I know Flash can be neat and… flashy. But some people believe that Flash is the ultimate platform for creating entire websites. I don't. A website in Flash is a monolithic block of encrypted binary junk that is rendered through a proprietary plug-in. If this plug-in is not installed or not fully operational (or even unavailable like it was for an awfully long time on 64-bit operating systems, or more recently the iPhone and iPad), or your server chokes on a large amount of visitors trying to download the huge file simultaneously, then your visitors see no website — only a big vacuum. Flash is like the TV of the internet: it's disposable and volatile. Once the server goes down, the site is gone because it's mostly impossible to download for offline viewing. Sites like archive.org or the Google or Coral caches won't bother to make an archive of your huge chunk of binary data, so nobody in the future will be able to see what your site looked like, or visit the cache when your server is offline. Maybe you don't care about this, but people won't care about your site either if they can't visit it.
Also, despite all the efforts that have recently been done, flash sites are still a pain in the ass to navigate properly. They are mostly impossible to resize like a normal webpage. One can't bookmark inside them. Searching or copying text, or printing stuff, is a whole endeavour which often ends in a frustrating failure. I've seen flash sites which contained mostly text which would have been perfectly rendered in the most plain HTML page. Why, oh why? Were they Macromedia/Adobe shareholders or what?
Moreover, Flash sites are near to impossible to index by search engines unless the designer has taken great care to allow this. This means that people have a hard time finding your site through Google & friends. In practice this means you're back in 1994, where people had to rely on links from other sites. Even if you have taken precautions to make your site indexable, it's still impossible for people to go immediately to the right page in your site through a search engine hit. See one of my other points why this is horribly annoying. It may be possible to fix that too through precarious scripting, but remember that if you write everything in standard HTML, your site is automatically indexable and searchable with zero extra effort from your part.
And finally, you don't want to meet a visually impaired person who tried to navigate your flash site. Even though (s)he doesn't see well or at all, (s)he will probably be amply motivated to properly beat you up with a baseballbat.
A site built entirely in Flash may be OK if it only has content that justifies the use of Flash, like a collection of animations that nobody will want to download to view again in a few years (if this sounds like “forgettable junk”, well, I can't help it). But as soon as the site contains a considerable amount of text and/or still images, you should either provide a pure HTML alternative, or better: build the entire site in HTML with the Flash parts embedded where needed. I've encountered quite a lot of sites which were Flash only, but offered nothing that couldn't be achieved with standard HTML and CSS. That's like writing a book and selling it as scrolling text on a VHS tape glued into a dedicated VCR which can only be connected to a TV set of a certain manufacturer.
First of all, the image has already been downloaded, otherwise the user wouldn't see it. By right-clicking and choosing ‘save as’, the user just moves the already downloaded copy somewhere else. You can't forbid that, you can only forbid the user to do anything else with this copy than viewing it. A visible watermark on the image will remember the user of this restriction and an invisible watermark may help if anyone is stupid enough to plagiarize your copyrighted work.
Third, this silly ‘protection’ is disabled very easily, so anyone who really wants to download the image or view your page's source, will eventually do it anyway. You're only fooling yourself by using this trick.
Especially since the advent of ‘tabs’ inside browsers, right-clicking is used for many other things than saving images. People may want to open specific links in a new tab, or bookmark them, without having to look up the keyboard shortcuts for those tasks. I have seen anti-right click scripts on sites where it really didn't make any sense at all. There were no copyrighted photos, and no reason whatsoever to prevent right-clicking (as if there can be a reason at all). Maybe they wanted to make it harder for people to look at their crappy HTML source mostly stolen from other sites? Then again, this can also be done from any browser's main menu.
When frames were first introduced back in the days when animals could still speak, they were cool. They actually were a nice alternative to designing websites with tables, which kinda sucked. However, it immediately became apparent that frames had their degree of annoyance too. If you bookmarked the page, you actually bookmarked the top frame, i.o.w. the main page, again and again. Also, searching was confusing because you never knew in what frame you were searching. And printing… please don't remind me of that. Moreover, if you entered such a site through a search engine, you mostly had no means at all to navigate the site, because the navigation frame was missing (see above).