Capture your customers, don't CAPTCHA them
Let's say you found a parrot. Any question you asked the parrot you got a reasonable, natural language answer. If you could ignore for a moment it's a parrot, you discover you can conduct a natural conversation with it no more strange than you talking to your 10-year-old nephew. You'd conclude the parrot was intelligent and self-aware (assuming one of your definitions of intelligence isn't the innate ability of all 10-year-old nephews to beat you at any Nintendo Wii game).
Now imagine that parrot was an iPhone voice app. Half the time when you talk to your voice app you're talking to a real human at a call center. The other half of the time you're talking to a computer. You can never figure out when you're talking to a human and when you're talking to a computer. You have conversations ranging from love, sports, food, politics, religion. Never once do you ever get a hint you're dealing with a computer.
A lot of people would have no problem claiming the parrot possessed some unusual but natural form of intelligence. A lot of the same people would feel very uncomfortable ascribing the same quality to a hunk of plastic and silicon. Even if it were designed by Apple.
The Turing Test
Many will recognize I'm talking about the famous Turing Test proposed by WWII code-breaking genius Alan Turing. Humans have long struggled, when trying to explain how the brain works, to find every day analogies. Before the computer age, people analogized the brain as a "clock work". It's a metaphor so quaint we don't want to let it go. In much the same way we still use a floppy disk icon to indicate "save", although no one saves to floppy disks, we still use the "cogs in the mind" metaphor to imply thinking or working on a problem. When the digital age dawned, the computer offered a new metaphor for how the brain operates. We talk about memory storage, processing, multi-tasking, etc. So, it's not surprising when computers first emerged, the visionaries of the day like Turing wondered what computers would not be able to do. Would computers be able to think? And if so, what would it take to recognize a thinking machine?
The whole machine intelligence field (Artificial Intelligence or AI) lost a lot of steam in the 1980s. Back when Japan's economy was on the rise, a juggernaut western economies thought would never end (check out Blade Runner's supposition the future was Pax Nipponica), the Japanese announced a massive IT effort called the Fifth Generation Computer Project. Although the Fifth Generation Computer Project was a pretty sweeping plan, the press latched onto one cool sound bite: The Japanese were going to create a thinking machine. Everyone pretty much assumed any nation that could bring GM, Chrysler, Ford, and AMC (who?) to their knees, begging the US government for loans and protection, could easily create AI. But the Japanese never did deliver a thinking machine.
Another nail in the AI coffin was Roger Penrose's The Emperor's New Mind. It was the A Brief History of Time of its day. It was one of those books anyone who claimed to be smart had on his/her bookshelf but few ever managed to read it cover to cover. Fewer fully grasped what Penrose was talking about. Penrose, after all, proved mathematically black holes could exist. Who was to argue with this guy when he claimed in Emperor's New Mind computers just didn't have the right kind of brain stuff to ever be intelligent?
AI isn't, of course, truly dead. Like so many things, if you listen to the press you're told "in five years thinking computers! Jet packs! Home fuel cells! Batteries that last all day!" After the hype and the non delivery, science and engineering make incremental gains. AI is no different. AI is about a slow chipping away:
* There was a time when we thought chess playing computers could never beat the best chess masters or the best Jeopardy players. Humans can make intuitive leaps that can't be done step wise. Computers are now reliably beating the best human chess players.
* Search was something we thought humans were better at. We would always need the help of librarians, with their years of experience and talent for making intuitive leaps. Now, we recognize Google as being the gold standard.
* Back in the 1990s it was thought it would take vast, vast computing resources to process natural human speech. It was such a monumental task that it was only assumed shadowy government agencies like the NSA had the computing power to listen to phone conversations and pick out conversations about terrorist activities. These days with iPhone's Siri we're starting to get used to the idea even the smallest computing device can process natural language.
So, the trend over the last several decades seems to set a firm demarcation line where human intelligence is different. "Computers will NEVER be able to do this as well as a human." And then computers eventually do. So we move the demarcation line. And then move it again. We're slowly narrowing the box of what it is to be a thinking human being.
So. All that in mind, let's talk about CAPTCHA. CAPTCHA are those increasingly difficult word recognition tests you find on blogs requiring you to post, ticket web sites, password reset pages, and the like. CAPTCHA stands for "Completely Automated Public Turing test to tell Computers and Humans Apart". I can't help but feel whoever first named CAPTCHA wanted something that sounded like "capture" and worked really hard to make that acronym. For the true purist, it's actually a reverse Turing test. A Turing test, as you'll recall, is a human trying to figure out if a remote entity is a human or machine. In the case of CAPTCHA it's a machine trying to figure out if you're a human or machine. I guess cheekiness is another quality machines have taken over.
CAPTCHA has come under a lot of criticism lately. As I noted, computers are getting really good at doing things we thought were the exclusive domain of human. Recognizing distorted words is one. Hence, CAPTCHA. But hackers are figuring out ways to bring OCR to bear on CAPTCHA. Success rates are still fairly low (30%) but 30% of, say, every blog in on the Internet is pretty big reach. In this never ending arms race, CAPTCHA tries to serve up words that are increasingly difficult for OCR hacks to read. But, alas, they're at the point where human can rarely make them out. It's been estimated we lose 17 person-years every day due to the time it takes to find a challenge a user can successfully complete.
CAPTCHA is, no doubt, the better of two evils for the Googles and Ebays of the world. But, is it right for you? Does your small business employ it for your company blog, message board, customer sign up, comment page, and so on? If you do, do you need what is basically a user hostile interface?
Do You Need CAPTCHA?
Take a step back. What ARE you protecting? The Crown Jewels? Then crank up the CAPTCHA. A random spam comment showing up once a week on your company blog? If you're running a company blog, you're going to want to be vigilant anyway. Cleaning up some spam isn't that onerous of a job. You can also make your blog comments requiring approval before posting. The danger in this approach is the honest blog commenter is robbed of the instant gratification of seeing his/her words posted immediately. If you're trying to nurture engagement, it's a good way to snuff it out.
To combat "robots" (computer programs that troll the web and try to post ads in any comment form they find), a handy method for spam detection is creating a field in your comment form that's not visible to a human but the script will detect as a form field and try to complete. BlueCamroo's web-to-lead feature handles this for you. If you examine the code BlueCamroo generates for your web-to-lead form, we have a "dummy" field called Email2. Some CSS make makes this field not visible to a human. Upon submission, BlueCamroo pre-processes this for you. If the hidden Email2 field has been completed, BlueCamroo tosses it out, since there's no way a human could have completed this field.
Yes, even a semi-competent hacker could get around this. And if this were Ebay's way of spam filtering, it would not fool spammers for long. But, it's unlikely hackers are going to start writing exceptions for every little mom 'n' pop trick.
If you're coding your own comment forms, you can give your page visitor multiple submit buttons. Label one "click if you're human" or words to that effect. To create multiple submit buttons and how to add some ASP logic to your page to handle the different submit buttons, see this page.