Robust HTML

Robust HTML versus correctness

Robustness of a program is basically how much crap you can throw at it without it falling over. A program that doesn't crash and can keep running whilst handling unexpected errors is a robust program.

Correctness is all about ensuring that everything is running as expected. Correct programs are usually found in medical situations, engineering, traffic lights etc, where the slightest glitch could cost lives. A correct program is one that doesn't perform functions unless all is ok.

Unbreakable movie coverThese two terms are diametrically opposed. If you have a correct program, it tends to not be robust as the slightest error can cause a shutdown. On the other hand a very robust program isn't correct on a number of cases as it continues to work after errors occur.

Most websites fall under two categories, the actual website, the bulk of the pages should be robust, they should continue to work at all times so the user can find the information they are looking for. Alert boxes, error messages, javascript errors causing a loss of functionality all prevent a site from being robust. No matter what happens a great website will continue and provide what information it can to the user. A robust website with robust HTML should be a web developers goal. This ensures users can view the information they are looking for without disturbance.

The exception to this rule is the checkout process where users should not be allowed to continue unless everything has been checked. This is the part of the site that should be correct.

If your database goes down, have a cached file replacement ready to go, if your users don't want to fill in every form field, don't make them. Don't waste time with petty error messages, your users don't care about them and just want to view the information they came for. A robust website is a great website.