Test of a possible Captcha variant

This a demonstration of a different way to display a challenge to determine if the User is human or automated. The visibility of the image relies upon biomechanics--an optical illusion!

As a test, I invite you to start the challenge and take a screen shot. Special measures have been made to defeat the appearance of the characters in a screen shot. A computer will only be able to "scrape" the image from this site with great difficulty. And, even if successful, will still have to deal with an assortment of OCR confusers which are quite present, albeit on the edge of visibility.

Yet the challenge remains easily discernable and solveable for most human users!

The links below use JavaScript functions to Start and Stop the Applet. In a real-world implementation, I would suggest that the challenge only be displayed and run at the moment when a test is required, for example, upon a Submit action, as the flickering can get tiresome.

Start the challenge   Stop the challenge

The "challenge" is launched via the client browser's Java Plug-In. The code is lightweight, starts quickly, consumes few resources, and is easy to install. The challenge Applet's JAR will be sealed, but set up to hook into a second JAR, passing state info. The second-stage JAR will be provided to the web programmer as a to-be-compiled Java script template, allowing the programmer the opportunity to add custom code, such as linking to the client HTML/JavaScript fields, calling a client JavaScript function, or POSTing to a web server.

This is my first attempt to program a Captcha-type function, and hope to come up with a way to package it so that others can make easy use of it. I would be most grateful for any feedback or advice! Thank you.

Philip Freihofner, Nov. 2010, Albany, CA


Two graphical components were added here to test Applet loading time. I am hoping to encourage the idea that an Applet mini-game can be used as a Captcha, that loading times for graphics can be speedy. The copper colored button on the left has a small .png resource that is manually embedded in a framing "gel". Click on the component to view the various gels (6 of them) that were created for this component. Each was made via manually entering pixels into a BufferedImage object. The "smoke genie" on the right was similarly made, by creating 40 circular gradients with alpha via BufferedImage construction.

A discussion of the objects on this site can be read at www.javagaming.org, under the section: Discussions->Miscellaneous Topics->"Use of an Applet for Captcha?" It took less than 12 hours for folks on that site to crack the Captcha presented above!