With my recently launched voyages.net site, I spent a considerable amount of time working on the user experience both while users surf the site but also when they leave the site. I really dislike clicking on a link that turns out to a 404 error page and there is nothing to do about it. In this context I set about creating a system that used checking code from 'server to server' to make sure that the page is responding correctly and then if so send the user there.
First of all a server to server check is not really comparable to looking at the same page with a browser. In the first case there is simply one response code returned and in the later, far more is retrieved, the page, images, scripts, css etc. Also servers are usually sitting on a pretty high capacity bandwidth and most users are not, which also changes the speed response within which the server can do the checking and respond, as opposed to the final user doing the checking by simply clicking on the link.
Secondly since the destination server sends back a specific response code it is possible to then serve a page when the response code is considered to be an error. Not only can you serve a page, you can also thanks to the code explain in plain English what the error most probably means.
To further provide assistance in these unpleasant situations I also provide an identical link to the target page (using the checking system) as well as a link to the target page without the checking system (in case my system is messing up somehow).
Finally I have the system send me an email when this occurs just so that I can know about it and check it out if necessary.
So if you manage a server or site and dislike as much as I do being directed to a 404 page or getting some weird server error (that even sometimes give you a 404 page not found error because the server is not properly configured) then remember if you put yourselves in your users shoes they may feel the same way... 😉
There is a lot of talk about helping make the user experience a better one. My opinion is that there is a certain lack of convergence between the technical possibilities available and the more traditional online user experience. It is usually a more visual user experience that is discussed. Important and interesting rules have been set through these more visual and traditional user experience guidelines but an opening for technical solutions in the user experience are sometimes overlooked.