With this post, I want to slightly criticize the existing captcha and submit my own version for criticism.
The bottleneck of any captcha is the same spelling of various characters:
- l = I (L lowercase and i uppercase)
- O = 0 = O (lowercase and uppercase o in both languages ββand the number zero)
- Any similar Cyrillic and Latin letters, and there are many such (ABCEHKMOPTX)
- Additional problems are delivered by interference from the captcha itself.
Vkontakte had an attempt to make a captcha closer to the people, Russifying it, but as we know, they returned to the English version.
')
The disadvantages of any captcha need to include time for its recognition. The more time - the more attention is taken from the user - the more we distract him. Ideally, a captcha should not take user attention at all, but this is (so far) unattainable.
Let's look at the existing captcha.
Google-reCAPTCHA.




The most popular captcha from the software giant and one of the few that provides the words.
Disadvantages:
- Large percentage of unrecognizable text
- One of the two words is not controlled by the system, since not alphanumeric characters
Its plus is that it is public, free and does not require installation on its server.
Yandex



Almost all the provided pictures are recognized, but for this you need to know the Cyrillic alphabet. For a foreigner, this will not be an easy test. The biggest disadvantage is the need to introduce nonsense.
Mail.ru



In my opinion the most ugly implementation. Both numbers and letters are present, which means that you will confuse zero with letter O. In this captcha, only those letters are used whose spelling is the same for Cyrillic and Latin, and it doesn't matter at all whether it is taken into account to check the input or not. the user will still think about it.
In contact with



What can I say, color blindness seems to love this captcha most of all. 0 and O are not used, but this is no easier.
Criticizing - suggest!



I offer n + 1st version of captcha. It is not perfect, but it seems to me that it lacks the above disadvantages.
Its principle is based on the property of the human eye to easily distinguish movement from the overall picture.
The build algorithm is very simple:
- Two probabilities are set: the visibility of the background point and the visibility of the character point. The greater the difference - the better it is read, and we choose such a difference so that it reads satisfactorily.
- Frames are drawn for gif-animation, where the characters are randomly shifted a small distance from the starting position
disadvantages
- the size of the picture is larger than the classic single frame captcha
- respectively, more time to generate, with all the consequences,
- poorly suited for random character sets
- This is still an animation, especially jumping
Virtues
- No need to distort the letters - the user sees the familiar font
- The color blind see as well as everyone else.
Discussed merits
- greater machine recognition complexity, which means
- you can use a smaller set of words, which means
- You can show the usual words, which means
- the eye instantly reads the inscription - the user pays less attention to captcha recognition
Additional advantages
- The background of the captcha can be made transparent, which means that it can be applied to the background of the site without loss of functionality.
- You can give the opportunity to set the background color and points - to comply with the site palette
- You can use any languages ββ(even hieroglyphic) - which increases the recognition convenience
- Unconventional use of such captcha - for example, to report on the forum your phone or mail not by text, but by generating such a gif.
Questions and problems
The most important question is whether the Internet needs another captcha or recaptcha suits everyone?
The second question - is my captcha really difficult for machine recognition?
And the third - how can it be improved?
Currently, the gif generation module is written in C #, therefore the speed of 2-3 captcha per second (without ultra-optimization). It is necessary to rewrite it in C ++, to optimize both the generation and the packaging of gif.
I do not want and can not create a startup with this captcha, because there are not so many ways to monetize - the only thing that occurred to me was to draw a small advertisement on a captcha. A paid captcha is nonsense.
But I will be glad to sell this idea, if it is even worth it at all.