CAPTCHA/Image puzzle CAPTCHA

Multilingual, usable and effective Captchas
# https://bugzilla.wikimedia.org/show_bug.cgi?id=32695 # https://bugzilla.wikimedia.org/show_bug.cgi?id=5309
 * Public URL : https://www.mediawiki.org/wiki/CAPTCHA/Image_puzzle_CAPTCHA
 * Bugzilla Report :
 * Announcement : https://www.mediawiki.org/wiki/Summer_of_Code_2014#Multilingual.2C_usable_and_effective_captchas

–

Name and Contact Information
Name : Shashank Jaiswal Email : shashank_jaiswal@hotmail.co.in Location : Hyderabad, India Timezone : Kolkata, India UTC+5:30 Working Hours : 2PM to 2AM (Indian Standard Time)

—

The project
Current CAPTCHAs implemented in many Wikimedia Projects are mostly broken, lacks localization and are many times vulnerable. This project aims to design an Multilingual, usable and effective Captcha, which will be much more reliable, secure(difficult for bots to solve) ,user friendly (easier for humans to solve) and Multilingual for Mediawiki Projects.

The Possible Approaches Possible solution that would yield the desired results:- 1. Captcha based upon the solving of an image puzzle : The following type of captcha image will be given as shown below:

The only possible answer to given Captcha is arranging images in logical order as shown below:

Steps to be followed in order to solve the Question: * Step 1: The CAPTCHA image taken from MediaWiki database and manipulated(matrix of arbitrary dimension NxM)                              and generated using GD Library:

* Step 2: Click on two images to interchange them:

* Step 3: Repeat the step 2 till you get images in order:

* Step 4: The solution:

* Step 5: Since, the image will be taken from MediaWiki database and therefore most probably have a logical                          connection with other stuffs, so on the next page after verification, a popup notification asking                           you to learn more about that image:

—

Deliverables
Deliverables[edit | edit source]

The Project aims to develop an effective Captcha with the use of Wikimedia Commons API, which would make Wikimedia Commons act as a database for our Captcha images.
 * Develop effective Captchas with the use of PHP's GD library.
 * Aim to develop a proper indexing system for the images to be used for the Captcha which would sort out the images that are not friendly to the user.
 * Since the images are taken from Wikimedia Commons, the user can come to know more about the captcha image he just solved by clicking on a link. Demo here => Know More about the Captcha you just solved

—

Project Timeline

 * Phase1: Proper Indexing of Images from mediawiki database. (20 days)
 * Phase 2: Developing an algorithm to split the image obtained from mediawiki database effectively considering the site traffic. (20 days)
 * Phase 3: Developing the loading of CAPTCHA & in case ReCAPTCHA if user requests for new captcha. (20 days)
 * Phase 4: The final phase that will consist of extensive testing and bug removal phase. (30 days).

—

About Me
I am Shashank Jaiswal, a B.Tech, Mechanical Engineering Student at IITH, Hyderabad, India. I have been mostly involved in Web Development, Graphical User Interface Development(Java(using Swing(JFC)) using JVM), Android Application Development(Java using Dalvik VM). I have worked on various Graphics and image API's in php(GD, GTK) as well as Java. This projects has a special importance, since it would make MediaWiki secure and safe and of-course help millions of people who visit MediaWiki regularly.

Open Source Contribution and Related Work :

Project 1: A Semi-transparent Text Editor:

This project aims at making a semi-transparent transparent text editor with features like code-highlighting, multi-tab, atomic-save, system-command invoke features. The project has been made in HTML+JS+CSS using Adobe-Air-SDK. There is still a lot of work to be done in this project. The project is available on github => https://github.com/shashank-jaiswal-2013/redAkt-Text/.

Others:

Project 2: Truss-System Solver=> The project aims at developing Truss System solver which will print the solution for a given truss system in human-readable printable format. The project has been made in Java(using Java2D and Swing). The UI part is complete and now only the solver portion is to be developed. Solver will be written in native-code for performance and the code will be invoked using java-jni. The project is available on github =>https://github.com/shashank-jaiswal--2013/force-On-Truss/

Project 3: Quick Slide-Show => The project aims at developing a javascript plugin which will take title, date, description, media location/link from a JSON file and then will develop a slide-show based upon those informations. So, effectively, the user has to only edit a JSON file and voila!, you have your presentation ready which can be shown on browser in full-screen. The user can navigate through the automatically generated slides by arrow-keys. The project is available on github =>https://github.com/shashank-jaiswal--2013/Slide-Show/

=> CodeMirror: Proposed changes to css syntax highlighter for possible inclusion of non-standard property. The aim is to highlight non-standard css properties. By non-standard css property, I mean properties which are not supported by all browsers. Such properties can be highlighted by lighter color(#555) contrary to the color(#000) used for standard css properties. github-link : https://github.com/marijnh/CodeMirror/pull/2356