11 August 2011

In the bad old days of the World Wide Web, a simple mailto link was all you needed to supply a contact for a website. Time to step it up.

These days, lots of people use contact forms, like this one. Contact forms are great because:

1. For most modern browsers (Firefox, Chrome, etc.), mailto will open the default email client. Users tend to be irritated when an application does things they don't expect. For instance, I use Gmail for most of my email needs, but I have the Thunderbird email client installed and often running on my laptop. I don't appreciate having Thunderbird pop open an empty email template after I click something like: "Contact Us!." My Thunderbird email client maps to my personal email address, and I may not want to send email from my personal address in a business context.

2. Forms obfuscate the receiving email address. If a contact form forwards its message to an email address, it is much more difficult for that email address to be abused (i.e. spammed). Folks can't see it.

3. Forms add a layer of indirection, allowing you to inject additional business logic into the process. For example, you could send the form delivery job to a queuing service (example), taking load off of the web server and shielding the user from mail delivery delays. You could also react easily to architecture changes, like sending form data straight to a database instead of an email inbox - users won't notice in behavior.

4. Contact forms are good design. They allow you to present the user with a minimal amount of complexity. For example, my contact page only asks for a message and an email address - it does not ask for a title like a full-blown email would. A title is not necessary for a simple contact page and saves the user time and distraction. //


Peter Kong is a
software engineer.