Dealing With Domino Errors
While working on the same project I mentioned earlier this week I noticed another odd "feature". Every now and then, while performing an action, you would be returned to the site's homepage for no apparent reason. After a little digging under the hood I found the reason why. The $$ReturnGeneralError form had the following in the onload event:
location.replace('/db.nsf/homepage/');
So, whenever there was an error the user was simply re-directed to the homepage. Are you thinking what I was thinking? This is bad! As a service to both the customer and the application's users (surely confused by this odd behaviour and the unexpected side-effects?) I removed the offending code and gave an explanation as to why, which the customer agreed with.
Errors shouldn't be hidden from users. Obviously, in the ideal world, they would never see them in the first place. But this isn't a perfect work - they do happen and people need to know about them. Now, if the error form had sent a synopsis email to an Administrator before the redirection things wouldn't be so bad. But it didn't. In effect, all errors were being completely ignored and, so, never fixed.
When an error does happen it's nice to make it appear friendly and let the user know what to do about it. I usually start my error forms with the word "Woops". I also make sure an email is sent somewhere. There's also the option for the user to email the Admins and request help. Maybe you could add the phone number for IT Support. Somewhere down near the bottom I add a summary of the important information. They can then relay this to the support guy at the other end. Here's CodeStore's error form.
There are some good ways of dealing with errors. Hiding them is not one I'd ever recommend.
Other Reading:
Of course, there's always <a href="{Link} title="404s - Even domino">404 errors</a> which provides inspiration for 404 design.
Nice revisit on errors. Another idea is to add a search box and a few fields to allow the user to enter any details right on the error page. (e.g. What happend, their name/e-mail)