User:Akshay.agarwal

Hi, I am Akshay Agarwal, a B.Tech student & a freelance web developer. I will update my page soon.

Google Summer of Code 2011 proposal: Account Creation, Login Screens, and Ajax-ification of everything

Probable mentor: Brandon Harris

Identity
Name:Akshay Agarwal Email: akshay.leadindia@gmail.com Project title:Account Creation, Login Screens, and Ajax-ification of everything

Contact/working info
Timezone:UTC +5:30 hours Typical working hours:Morning 10 am - Midnight 02 am IRC:akshayagarwal on Freenode Gtalk:akshay.leadindia Skype:akshay.leadindia

Project summary
My project is centered around the Changes in Account Creation module.\

The main purpose is to ensure that the process of account creation (or login) does not wildly interrupt the user's task flow. This will help Wikipedia (& other Wikis) in offering a better user experience & thus increase the number of 'converted' users.

About Me
I am a Third Year Computer Science & Engineering student. I have been working as a freelance technology consultant since 3 years. I have designed many websites & developed several innovative applications for ERP, CRM & portal development. I have developed most of my skills with my love for self learning.

I am highly excited about my GSoC project as it will add a new dimension to MediaWiki. At the same time, it offers me a great learning experience & a platform for utilising my skills, for open source development.

Required deliverables

 * Excising Account Creation and Login Code from Special:UserLogin and putting it into the API, making sure that Special:UserLogin still works so as not to break anything
 * Converting Special:UserLogin to use HTMLForm for it's layout and display
 * Adding "source" tracking and "configurable exit" functionality to the Creation/Login API
 * Adding in the usability enhancements to the forms (into HTMLForm, where everyone can use them)
 * Developing an AJAX library for Creation/Login
 * Security Audit for the above
 * Documentation for the above

If time permits

 * Modifying extensions to supply "exit" points

Community Bonding Period
- Familiarize myself with the community - Learn about the API mechanism in MW
 * April 25 - May 2

- Learn about the ways of tracking 'source avenues' & suggesting 'exit points' - Investigate the current login API & its interaction with Special:UserLogin - Analyse the database structure & decide on a schema for storing the user chosen exit points
 * May 3 - May 10

- Analyse the existing AJAX library of MW - Learn the potential security risks for all the features in my project - Learn the best practices for MW coding
 * May 11 - May 22

Official Coding Period
- Develop the Account Creation/Login API - Convert Special:UserLogin to use HTMLForm for it's layout and display - Add 'source' tracking and 'configurable exit' functionality to the Creation/Login API - Add the usability enhancements to the forms
 * May 23 - June 8
 * June 9 - June 25

- Develop an AJAX library for Creation/Login - Security Audit - Midterm Submission
 * June 26 - July 11

- Thorough testing of code - Modifying extensions for supplying 'exit points' - Writing the documentation
 * July 12 - July 31

- Buffer period for any unlikely delays
 * August 1 - August 15

Participation
My work style is to take one task at a time & stop not till it gets completed. I will daily communicate my progress with my mentor & the community over IRC & mailing lists. I will publish the source codes on a repository. For any help, I will search for it on MW, standard help sites,on IRC at #mediawiki, #mediawiki-dev & the mailing lists.

Past open source experience
I have worked extensively with open source web technologies. I have intermediate level expertise with PHP. A partial list of my developement projects includes :-


 * AJAX form validation for MediaWiki account creation screen
 * 'Bulk-SMS', a wordpress plugin for sending SMS using SMS gateways
 * 'EnSong' (at MIT Media Labs Workshop), an application which plays songs as per the level of motion in the room
 * Facebook Connect (Login with facebook functionality) for OsCommerce & phpBB sites
 * Apache mod_rewrites
 * Custom developed Content Management Systems
 * Custom Joomla websites
 * 'OpenIMS', an Open Source Institute Management System
 * Open Source Record Management System for Mobile Shops selling SIM cards
 * Open Source Hotel Management System (under development)

Any other info
If there's other relevant information -- UI mockups, references to related projects, a link to your proof of concept code, whatever. There are no specific requirements, but we love to see people who love what they're doing. Show us you're excited about this project and have an interest in the background and are considering how best to make your idea work.