Daily Archives: January 26, 2006

Code validation: Ch-Ch-Ch-Ch-Changes (turn and face the strain)

I started teaching HTML in the ’90s. At that time, I would tell students that valid code was important for several reasons, but the one that seems to stick was that it might help them troubleshoot why pages (p-p-p-pages) looked so different between browsers at the time.

You see, at that stage, there were many different browsers, but Netscape was the current champion with Internet Explorer the up and coming underdog. While there were standards for coding your Web pages, neither browser really followed them, which is why some pages could look wildly different between IE and Netscape.

I rejoiced when the World Wide Web Consortium put their online Markup Validation Service up. Now students had an easy way to confirm that their code was leaner, cleaner, and truer to the standards.

At that time, the student might not know if the problem was with their code or with the browser. By validating the code, they could start to eliminate potential problems.

Fast-forward to 2006. IE is the current champion, and FireFox (a relative of Netscape) is an up and coming underdog. While the new roles certainly signifies ch-ch-changes, the need for valid code remains the same.

XHTML (the evolution of HTML) is all about logically defining how content relates and not about how it looks. CSS is supposed to take care of that.

CSS1, the first level of the standard, took care of the basic visual chores of the horrid font tag and a few other simple visual feats. CSS2 (and 3) took on a much larger role. There are logic flow capabilities now, so that you can specify “if a heading level 3 is a direct child of a heading level 2, make it green, otherwise, make it red”. This is a powerful, but very hard to troubleshoot if your code is not logically marked up.

Keeping consumer confidence under lock and key.

Some companies just don’t get it. I am helping a friend purchase something on the Web, and the site is asking for personal, confidential information (name, password, email, credit card information, etc) on a non-secure page.

Are you kidding me? We read the privacy page, and they go on about how secure their system is, yet they are asking for personal credit card information over a non-secure connection.

I wonder how many people even notice these things.

As a consumer, never give away personal information from companies you do not know or trust, unless you are ready to take the risk of this information getting used or ‘misplaced’ without your knowing.

Also, never give this kind of information away unless you have a secure connection. How do you know you are running a secure connection? The first thing to look at is the address of the Web page. Normal (non-secure) Web pages start with http (HyperText Transfer Protocol). Secure connections start with https. The https means you are running over a Secure Socket Layer (SSL).

Also, your Web browser should display a ‘closed lock’ or a solid key (as opposed to no lock, an open lock, no key, a broken key, or whatever).

Now, technically, you could be on a secure page and not see these clues that you are reasonably safe. This is because some Web sites use ‘frames’ for their pages, which might prevent you from seeing these important security clues. This is their loss. As more and more people learn about safe online practices, Webmasters will have to become aware that just saying a site is safe is not going to convince everyone. They have to prove it.

Brand spoofing, phishing, keystroke loggers, and malware are taking their toll on consumer confidence. Real companies need to be aware of this, and take every effort to inform their users that they are legit.

I have little doubt that the major company I was trying to help my friend make a purchase from was legitimate, but I do think they doubt how savvy consumers are becoming. Otherwise, they would have taken the time to ensure their site looked, acted, and was secure.

This is not a complete list by any means, but here are a couple tips to keep consumer confidence off the top of my head:

  • Take the time to inform people on what your security policies are. What steps do you take to ensure that information that is transmitted to you is secure (SSL). How do you protect the information once it is on your servers? What are your policies about using/sharing/selling that information? Make that information be easy to find and understand.
  • Put up a FAQ on what SSL is, how it works, and other related content. The more information like that you have on your site, the more it shows customers you are open, honest, and informative. Discuss what cookies and other technologies are and how you use them.
  • Let users easily contact you via email, a form, a forum, phone, fax, or whatever. If they have questions about if you are legit or not, hiding contact information is not going to ease their concerns.
  • Give people control over their accounts. If you let people register for services, let them change their personal/account/contact information, and let them subscribe and unsubscribe at will. Let them delete their account, or at the very least, make it easy to request these changes (and of course, fulfill their requests in a timely fashion).
  • If someone makes a mistake when they fill out a form, use JavaScript to check it right away and give helpful error messages. Give examples of the format you want the information before it is entered, not after. Don’t waste their time and yours. In case they have JavaScript turned off, double-check the data on the server. Again, make sure that any error messages you give are clear and concise, and re-populate the correct data in the form before they proceed to fill in the mistakes. No one likes to fill in 15 fields of information twice. They will probably get frustrated and leave.