Your Problems are NOT your Users Problems

I complete captchas on a daily basis and am faced with them wherever I go on the internet. What does the captcha represent to you?

To me as a developer it’s a way that developers use to reduce the amount of spam that is received as a result of automated bots that roam the internet exploiting weaknesses. To me as a user it is a burden on humanity that gets in the way of me achieving my aims and objectives of using the web.

The issue I have with this overused annoyance is that it does not solve any problem that I as a user have! Instead it solves problems that I face as a developer! The real issue here and my big revelation is that:

YOUR PROBLEMS ARE NOT YOUR USERS PROBLEMS

Just stop for a second and read that again! Your problems are NOT your users problems.

If we forget the problem that the captcha solves and focus on our users, captchas are a horrific creation. They interrupt the users flow, get in the way of what the user wants to do but worse that they the humble captcha annoys the user especially when they are so complicated its impossible to work out what the system wants you to type or click. Whoever thought that a captcha was a good idea in my view should be taken immediately and put into room 101.

So what are the alternatives? It would be wrong of me to sit here berate you as a for using a captcha without offering some alternatives.

The real issue is that as developers we need to verify that the person who is using our system is real; I believe a captcha is a lazy way of doing this.

Take this scenario! You have a contact form that you are expecting a user to complete; you are worried that unless you use a captcha you will receive huge volumes of spam because there is nothing to prevent a bot from submitting the form.

In reality it is going to take a few second for the user to complete each of the fields – if there is a long message box it might take even longer still.

Computerised bots don’t hang around when completing forms; they get to the form and they repeatedly spam it submitting it multiple times a second.

A potential solution here is to track the behavior of users on our pages. If we record how long it takes the user to complete the form, we can come up with a pretty good idea of whether our user is a real human.

If we get suspicious that the user isn’t real because the form was completed to quickly then maybe this is the point that its ok to use a captcha. But for 95% of users visiting our site its ok just to let the submission through because their behavior verified that they are real.

Of course the above scenario and solution throws up problems. Is it ok for us to track what our users are doing on our websites; will our users be happy with this? My view is that we need to educate users; make the reasons for this clear within the privacy policy so they can read about it – you could even tell them that the alternative is to have a captcha before every submission and I’m sure most users will sympathize and understand.

The work being done by the guys at NUCAPTCHA explores all of these ideas and is revolutionising the way that Captcha works.

Another interesting way to beat the captcha and improve our users experience is to gamify the experience. If we are going to make the user do something tedious what’s wrong with making it a more enjoyable experience; everyone enjoys playing games. That’s exactly the approach that is being taken by SweetCaptcha as they try to make captchas fun.

I’m not naïve enough to think that the captcha is going to go away anytime soon but I hope that this post will make you stop and think about whether there is a way you can solve your problems in a better way that improves your users experience; or at least makes your user smile to brighten their day.

Of course this is only one very small example of how developers inconvenience users to solve their problems. Next time you are faced with a scenario where you need to solve a problem consider what impact your solution will have on the end user and then ask yourself if your solution is a legitimate burden to a user or whether it to should be resigned to room 101.