User:Akshay.agarwal

Project Status
Working towards deployment of extension, please see the TODO list for Google Summer of Code 2011 proposal: Account Creation, Login Screens, and Ajax-ification of everything

Mentor: Brandon Harris

TODO List to make SignupAPI extension deployment ready

 * 1) Address the existing code critiques
 * 2) Address the bugs reported by Santhosh
 * 3) Develop unit tests
 * 4) Add to review queue
 * 5) Make necessary improvements before moving to deployment queue

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. Currently, the UI & backend logic are quite mixed up in LoginForm. I propose to take out the entire logic for Login/Account Creation from Special:User Login & put it inside its own class. So now, Special:UserLogin will become a consumer of this Login/Account Creation class & will contain only the presentation logic by implementing the HTMLForm Class. Also, APILogin.php & APILogout.php will become consumers of the Login/Account Creation Class.

The "Source Avenue" for user account creation will be tracked which will help in determining how, when, and why people create accounts. This "source avenue" will be informed to the Login/Account Creation API which will suggest the suitable "Exit Acitivities" for the user. The particular "Exit Activity" chosen by the user will be recorded helping us to see which exit activities are better at encouraging conversion.

The usability of the forms will be enhanced using AJAX by implementing in-situ javascript dialogs, client-side form field validations & tweaking the interaction design.

The main purpose of this project 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.