Web forms are great at 1 thing – requiring and guiding a user to fill in necessary information in the proper format and making sure it is routed to the proper person. With that said, I hate when I see a form on a personal website. Forms are not great for general contact, the type of contact that is typically made from a personal website. If I just want to say Hi, what’s up – I don’t want to fill out a form and I shouldn’t have to track down or guess the Email it goes to either. – It should be right there.
For those trying to hide their Email address, for whatever reason – loosen up or use a fake address that forwards to your actual account. Don’t trouble your users with a pointless form. Forms are also a sorry excuse for spam prevention – but luckily this is something that can be fixed. Sorry, I don’t have a way to make sure people include meaningful information when they contact you by Email
Tricking a bot
When a bot scans the Internet for Email addresses to spam, primarily it’s poorly programmed to find the @ character and report back everything before and after until a space character is found – most commonly an address, which can then be sold, spammed, etc. Luckily a few HTML escape characters are enough to fool most of these bots – preventing the need for stupid forms and using cheesy tactics like -at-.
What is an escape character? Essentially a reference to an ASCII value. When used in HTML, the browser/OS will (magically) turn it into the character it represents when rendering the page. Since rendering pages is extremely inefficient for a bot scanning the Internet, most of the time escape characters will evade detection. Here is an example:
- Bot: @ = @
The bot will read it as @ – how it is seen in your code, no conversion takes place
- User: @ = @
When the page is rendered, the user will see the intended character due to the conversion
It’s worth noting that some of the ASCII values are OS specific, therefore won’t validate, but in terms of characters not matching up correctly, I think the days of having to worry about that are long gone – as what I’ve tested works fine. Also, spam is a minor issue today compared to years ago, considering even a bad spam filter catches most spam by searching for messages (No, I’m not kidding) containing these few words:
Lastly, if you need a list of escape character codes, try google. Now get rid of those impractical forms, please.