User:Kaushalsingh11/Summer of Code 2013

GSoC 2013 Project Application

(jQuery.IME extensions for Firefox and Chrome & Other Improvements to library)

 * Bugzilla report: (https://bugzilla.wikimedia.org/show_bug.cgi?id=46647 )

Name and contact information
Name: Kaushal Kumar Singh Email: kaushal.singh07@gmail.com IM: IRC: kaushalsingh11; Skype: kaushal.singh07 Location: Varanasi (Uttar Pradesh), India Timezone: UTC+5:30 (IST - India) Typical working hours: 11am to 3am until July End, after July 6pm to 3am.

Synopsis
jQuery Input method editor library supporting 150+ input methods across several languages. The project idea consists in porting jQuery.IME to Firefox and Chrome extensions so that this can be used with any website. As now the library has to be loaded from server along with the website to use it with the input fields. Idea is to:


 * Development of browser extensions (for Chrome and Firefox)
 * This extension is going to add jQuery.Ime support to various type of input fields in website and also in content editable divs.
 * In this way the library has not to be loaded each time with the website using this, so that the data transfer between server and browser will reduce each time. Also the usage will not be limited to the websites implementing this library. It would be helpful for the users who wants to write in their own language.


 * Other Improvements to jQuery.IME Library
 * Onscreen keyboard support along with various type of input fields and content editable divs. A keyboard would appear while using the IME support with input fields.
 * Implementing keyboard shortcut support in library, so that user can use the plugin in more handy way. Like while language selection, switching between the languages, for modifying other settings. This will give better user experience.

Other than implementing the above features i would be adding few more features after installing the extension like, instant search the selected text on Wikipedia, Wiktionary and Commons in new tab. Will also make sure that extension can be easily updated with new improvements. Have already started working on Github Issue: 'Adding Keyboard navigation in jQuery.IME's language selection dropdown list'. Moreover i would also work on enhancing the interface and design of the extension according to the Design Recommendations and MediaWiki style guide.

Required deliverables

 * Development of jQuery.IME extension for Chrome and Firefox
 * Developing extension for Chrome and Firefox using CSS, jQuery, HTML/HTML5. With features:
 * Website exception list for IME to be used. And also Enable/Disable feature in extension.
 * Instant search the selected text on Wikipedia, Wiktionary and Commons.
 * Keyboard shortcut support.
 * Can be easily updated to new Improvements and updates.


 * Other Improvements to jQuery.IME Library
 * Implementation of onscreen keyboard using, HTML/HTML5, CSS, jQuery.


 * Shorter deliverables
 * Complete my ongoing work on Keyboard navigation in Language selection.
 * Improving the Interface according to the Design Recommendations and MediaWiki style guide.

If time permits

 * Would improve the language support for HINDI.
 * Would develop extension for Safari and Opera. If couldn't get time i will complete it after gsoc project.

Project schedule

 * Community Bonding Period(27th May - 17th May)
 * Study the extension's code in detail and get familiar with its coding style and structure.
 * Lay down the UI mockups and structure of my project and discuss the same with the community and mentor.
 * Get familiar and study in detail the jQuery.IME library.
 * Complete implementation of Keyboard navigation in Language selection.
 * Fix certain open issues to gain a deeper understanding of the code.


 * 2 weeks (18th June - 1st July)
 * Implement the Extension for Chrome beta version.


 * 2 weeks(2nd July - 15th July)
 * Implement the Extension for Firefox in beta version.


 * 2 weeks(16th July - 29th July)
 * Website exception list for IME to be used. And also Enable/Disable feature in extension
 * Instant search the selected text on Wikipedia, Wiktionary and Commons.


 * 2 weeks(30thth July - 12th August)
 * Keyboard shortcut support for extensions.
 * Implementing Update feature to extensions.

Implementation of onscreen keyboard using, HTML/HTML5, CSS, jQuery.
 * 2 weeks (13th August - 26th August)


 * 1 weeks(27th August - 2nd September)
 * Writing Documentation.


 * 3rdth September - 23rd September
 * Finish any remaining work.
 * Would improve the language support for HINDI.
 * Would develop extension for Safari and Opera. If i get time.

About you
I am Kaushal Kumar Singh pursuing B.Tech in Electronics Engineering, from 'Indian Institute of Technology (BHU) Varanasi, India'. I have been doing web development since the past 2 years mainly the front-end development. I have experience in coding in JavaScript/jQuery, CSS and PHP. I got interested in this project after seeing it in the list of ideas on the GSoC ideas page. It excites me to design and work on this extension and other improvements to library, as it improves the user experience of everyone who uses the Library.

Resume: https://docs.google.com/file/d/0B9kvfpiOcM1EcHR6OHRRcW5mak0/edit

Participation
I will be using IRC, as i believe it is the best place for communicating with the community. On topics where i want to start a discussion or want feedback of the community, i would be communicating through the mailing list. I would be directly committing to my branch in the Git repository. Also since my project requires at implementing new features, i would be taking regular feedback from the community over my Interface designs, either through the mailing list or by creating a Wiki page for the discussions.

Past open source experience
Have always been enthusiastic about using open source tools/applications. Have also recently created an issue on Github for jQuery.IME https://github.com/wikimedia/jquery.ime/issues/163