User:VirajSinha: Difference between revisions

From SMC Wiki
No edit summary
No edit summary
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Google Summer of Code 2013 Proposal for Swathanthra Malalayalam Computing'''
'''Google Summer of Code 2013 Proposal for Swathanthra Malalayalam Computing'''


==Who are you?==
==Personal Information==
My name is Viraj Sinha. I am a fourth year student pursuing my Computer Science and Engineering degree (B.Tech) from Manipal Institute of Technology, Karnataka. I love playing Tennis,Table Tennis and Badminton besides reading fictional novels like Lord of the Rings and light reading books like Chetan Bhagat and my favourite TV SHow is Bing Bang Thoeory and Shwldon Cooper is my favourite nerd in it. Sometimes I like to code and solve some algorithms.I am also an active member of LUG Manipal.<br/>
You can always find me at:-<br/>
    1. virajssinha@gmail.com<br/>
    2. [http://www.github.com/virajs07 Github]<br/>
    3. #lugmanipal on irc.freenode.net with nick - VirajSinha or VirajSinha_


    # Email Address                        : virajssinha@gmail.com
    # Telephone                            : 918884210392
    # Blog URL                              : [http://virajs07gsoc.wordpress.com/home/ http://virajs07gsoc.wordpress.com/home/]
    # Freenode IRC Nick                    : VirajSinha
    # University and Education              : Pursuing a B.Tech from Manipal Institute of Technology in Computer Science and Engineering


==What is your programming experience?==
The first time I started writing code was in Class XI in C++. But then in college I came to know Python through LUG and started writing codes in python. I learnt it from online tutorials and have written small games in Python like Ping Pong or my favorite Rock, Paper, Scissor, Lizard, Spock from Bing Bang Theory. I like web technolgies like Php, HTML, JavaScript and Jquery but I am quite afraid of CSS and have made my college and club's website. I also like making mobile apps and specifically Android as I don't have to pay a fees to develop and release an app in market which is not the case with iOS. I have made two apps . One was called Boomerang and it was using Java and it can be used to share photos on social networking sites like Facebook, Twitter with hand gestures like swipe. The second one was using HTML,CSS and JavaScript and it is called Y-AN-A(Yet Another NGO APP) . It can be used to bridge the gap between people and NGOs by providing the credibility factor and less time taking methods for people to donate to NGOs. I personally loved using web technologies in making app as it was less cumbersome in writing code. In my internship last year I also build an app for Babajob Services Pvt. Ltd. which involves handling language support as the app needed to be in English,Hindi,Kannada,Tamil and I made the app using i18n and translation strings.All the things that I have done can be found at my [http://www.github.com github] account.


=== Why do you want to work with the Swathanthra Malayalam Computing? ===
Swathanthra Malayalam Computing is trying to bring Indic languages to the fore and also getting information to people in the local languages so that those who don't understand English can use it. Also the project requires HTML5, CSS and JavaScript which I have good knowledge of and personally have become fond of these web technologies


==What is your project?==
The title of my project is Internationalize SILPA project with Wikimedia jquery projects. The present SILPA project is a flask-based project. I didn't know what FLASK is and have never used it. But now I know that is a python microframework that keeps things simple as it uses third party libraries to provide the functionality. So presently there is no Indic language support on the new SILPA. So for a local Indian user who doesn't know English it becomes very difficult to access the website.Similarly the application is not internationalized. But it can be achieved using i18n, jquery.ime and jquery.webfonts. So my aim is to make a tool for the website which makes localisation and internationalization happen.Also a part of this project may also be to move the templates from the current path to the module specific paths and hence the localized strings will also have module specific paths.


This project involves things like HTML5,CSS, Jquery and python which I love. Also the fact that this project gives the Indic languages a scope to grow and be known throughout the world. Yes hindi is the national language but India has about 22 official languages apart from English and then there are so many dialects. I love that is being brought out by smc.
=== Do you have any past involvement with the Swathanthra Malayalam Computing or another open source project as a contributor? ===
No, I have never worked with Swathanthra Malyalam Computing or on any other open source project as a contibutor


Yes, some translations can be found on google but they are for 4-5 indic languages and sometimes inaccurate.


I plan to work 6-7 hours daily and 40 hours weekly as a part of this project. I plan to push the changes to the code base twice. Once after finishing the work before mid-term evaluation and second before the end term evaluation.I also plan to maintain a blog documenting my progress once every 2 or 3 days besides regularly updating the wiki.
=== Did you participate with the past GSoC programs, if so which years, which organizations? ===
No, I have never participated in GSoC before and this is my first time.




==Project Timeline==
=== Do you have other obligations between May and August ? ===
Since there are about 22 Indic languages and it is not possible to translate them all over a period of 3 months I would devide for 5 Indic languages during GSoC and the rest after GSoC. I plan to take this task week by week and will be providing the weekly details for how I plan to implement this project
No , I don't have any other work this summer and am mostly free so I think I will be able to devote 6-7 hours to this project daily and about 40 - 42 hours a week.




===June 17 - June 30(Week 1 and Week 2) ===
=== Will you continue contributing/ supporting the Swathanthra Malayalam Computing after the GSoC 2013 program, if yes, which area(s), you are interested in? ===
    # Get to know more about the i18n, web-fonts and jquery.ime
Yes I want to keep contributing to the community after my project as GSoC is just the beginning. I want to keep workig on extending SILPA in as many Indic languages as possible and if possible some international languages.
     # Plan the implementation details with the community
 
     # Get to know the community better
 
=== Why should we choose you over other applicants? ===
I have already installed the source code on my machine and I am familiar with the smc code base. Also I have a good understanding for the web technologies and python which will be helpful for me in completing the project. I am fluent in Hindi and know Bhojpuri a bit which can help me in translation and internationalization.I have worked on multi-lingual android apps before which included translating into Tamil,Hindi and Kannada. I have an idea of how jquery.i18n and jquery.web-fonts work. As I am mostly free in the summer I believe I can do some quality work on the project.
 
 
== Proposal Description ==
 
 
=== A brief Overview ===
The project is titled "Internationalize SILPA project with Wikimedia jquery projects". But it also includes " Improve the webfonts module in Silpa using jquery.webfonts and provide more Indic and complex fonts". The main aim of the project is to make a tool for people to input text in their own local languages and also translate the text on the website to their language so that they have a better understanding of the text. Also the application needs to be internationalized. This can be achieved using jquery.ime and jquery.18n which are javascript/jquery libraries to handle localisation and internationalization. The fonts can be used from webfonts module in SILPA for translation. jquery webfonts extension adds font embedding capability to jquery using the webfonts technology. The extension provides a flexible way to choose fonts from the font repository and add then to the html elements. So basically we are trying to bring the new FLASK based SILPA site to the people in a language they can read and write. The project can be summarized as :-
 
    1. Translation strings to be put in the respective module paths
 
     2. The localized strings to be loaded from the respective module paths when the user changes the preference.
 
    3. Storing the user's preference using HTML5 localStorage API and loading modules'  localised string from the preference set by the   user.
 
    4. Providing a tool for people to be able to input local Languages. 
 
     5.Improving the webfonts module in SILPA using jquery.webfonts which    is an extension to jquery. As per jquery.webfonts specifications we need to have a font repository and choose fonts from those repositories.
 
  6. Providing support for more Indic and Complex fonts.
 
  7. Document the usage of webfonts and creating a clean API(REST) so that other websites can call our webfonts in their website.
 
 
=== The need you believe it fulfills ===
    1. The need to give people a better understanding of the context in the site so that they can utilize it for their advantage.
 
    2. This is required because not many Indic languages are supported by Google.
 
    3. Google supports 6 or 7 Indic languages and there are about 22 different official languages declared in the Constitution of India.
 
    4. Making the knowledge available to people so that Language barrier is removed.
 
 
 
=== How do you plan to implement the proposal ===
The following technologies will be used and hence an understanding of it is required:-
 
    1. FLASK - the current framework for SILPA


    2. Python - for separating templates and initializing strings


=== July 1 - July 14 (Week 3 and Week 4) ===
    3. Jquery.i18n and jquery.ime - the internationalization framework for making the website available in different languages
    # Separate the templates to be inside modules
    # Gather information(translation) of the different strings in Indic Languages and make them into json files for 2-3 Indic languages


    4. Jquery.webfonts - to provide support for different fonts which will be rendered on website. This is an extension to jquery and can be easily integrated as it applies font based on the lang attribute of the elements which can be set on user click.


=== July 15 - July 28 (Week 5 and Week 6) ===
    5. Webfonts module - I need to enhance the present module in old silpa code and use jquery.webfonts to apply the fonts instead of the present way.
  # Get the code reviewed from the community
  # Rectify the code and make the changes
  # Document the changes so that it can be understood
  # Push the changes on the code base so that they are live


    6. Bootstrap - For the front-end work


=== July 29 - August 4 (Week 7) ===
  # Discuss with community about further implementation and how to go about it
  # Read about further suggestions
  # Wait for mid-term evaluation


=== Previous Experience ===
During my internship with Babajob I made an Android application for them. This was a multilingual app and had other languages like Hindi, Kannada and Tamil. I used i18n to do this as I was making the app using web technologies like HTML5, CSS and JavaScript.


=== August 5 - August 18 (Week 8 and Week 9) ===
  # Use the translation files to translate the pages of different modules into 4-5 Indic languages
  # Store user's preferences using HTML5 localStorage
  # Provide the option on the website for user to click on a language and call i18 and jquery.ime on clicks of languages


=== Project Timeline ===
==== June 17 - June 30(Week 1 and Week 2) ====


=== August 19 - September 1 (Week 10 and Week 11) ===
    # Get to know more about the i18n, web-fonts and jquery.ime
  # Implement the full feature and see that everything is working
    # Plan the implementation details with the community
  # Write the test Cases for the code
    # Discuss with the community about which fonts need to be added first as there is already support for 36 webfonts
    # Get to know the community better


==== July 1 - July 14 (Week 3 and Week 4) ====
    # Adding more fonts to the webfonts module in SILPA
    # Creating a repository for the fonts which van be called by jquery.webfonts which is a specification for using jquery.webfonts.
    # Re-writing the webfonts module to use jquery.webfonts instead of the css3  fontface feature
   
==== July 15 - July 28 (Week 5 and Week 6) ====
  # Writing a clean API so that webfonts module can be used by other    websites (REST API).
  # Implement the functionality for font preview and download options which will generate a link for the css file for the people and they can use the font on their site without having to download them.
  # Get the code reviewed from community and make changes.
 
==== July 29 - August 4 (Week 7) ====
  # Discuss about the UI for the font preview and download options.
  # Implement the UI for the site
  # Get the UI reviewed from the community
  # Rectify the UI and make the changes
 
==== August 5 - August 18 (Week 8 and Week 9) ====
  # Document the changes
  # Push the code as a patch to the codebase so that it can go live.
  # Start work on the Internationalization part using i18n.
  # Collect translation strings  about the different languages that need to be implemented as a part of this project.
  # Make them into  JSON file out of these for the i18n to call on user's click.
 


=== September 2 - September 15 (Week 12 and Week 13) ===
==== August 19 - September 1 (Week 10 and Week 11) ====
   # Get the code reviewed from the community
  # Change the code to store user's preference using HTML5 localStorage so that the next time the site can start from the previously selected language for the user.
  # Provide the option on the website for user to click on a language and call i18n and jquery.ime. First the fonts need to be loaded and then the language text can be changed using i18n as it will call the respective json file holding the translation strings.
  # These localisation strings will be a part of different modules and hence have different paths.
 
==== September 2 - September 15 (Week 12 and Week 13) ====
   # After implementing i18n on the website we need to think of a tool on FLASK for people to be able to input in the language they have selected
  # Implement the tool and write the code for it.
  # Get it reviewed from the community and make changes to it.
==== September 16 - September 27 (Week 14 and Week 15) ====
  # Write the test Cases for the code
  # Test the code for all the cases
   # Bug fixes and implement the changes
   # Bug fixes and implement the changes
   # Test the code for all the cases
   # Push the changes to the codebase so that they are live
  # Submit the code to Google for final review.
== Things that I have made ==
1. One was called Boomerang and it was using Java and it can be used to share photos on social networking sites like Facebook, Twitter with hand gestures like swipe.
 
2.The second one was using HTML,CSS and JavaScript and it is called Y-AN-A(Yet Another NGO APP) . It can be used to bridge the gap      between people and NGOs by providing the credibility factor and less time taking methods for people to donate to NGOs. I personally loved using web technologies in making app as it was less cumbersome in writing code.


3. In my internship last year I also build an app for Babajob Services Pvt. Ltd. which involves handling language support as the app      needed to be in English,Hindi,Kannada,Tamil and I made the app using i18n and translation strings.


=== September 16 - September 23 (Week 14) ===
4. Besides these apps I have also made my college website using Php, HTML, CSS and Javascript/Jquery and other web technologies.
  # Get the whole project reviewed
  # push the remaining changes into the code base
  # Prepare for final evaluation


=== September 24 - September 27 ===
5. Some of the python projects and rest of things that I have done can be found at my [http://www.github.com/virajs07    http://www.github.com/virajs07] account.
  # Submit the code to Google for final evaluation
  # Wait for the final evaluation result


=== Post GSoC ===
GSoC is just the beginning of the project it needs to be localized for some more Indic languages and internationalized as well. I would like to take up the reponsibility of working on this project further and internationalizing the flask based SILPA website as well.


== Mentor ==
This project was already on the ideas page and is not suggested by me . The mentor's name written there was Hrishikesh K B. I have contacted him 3-4 times and had a conversation with him. Firstly he helped me in installing the source code. Then I read about jquery.ime and jquery.webfonts . Then he also suggested me that the localised strings should be a part of the modules and templates need to be moved to the respective module paths.


== Why me? ==
== Wiki Link ==
I have already installed the source code on my machine and I am familiar with the smc code base. Also I have a good understanding for the web technologies and python which will be helpful for me in completing the project. I am fluent in Hindi and know Bhojpuri a bit which can help me in translation and internationalization.I have worked on multi-lingual android apps before which included translating into Tamil,Hindi and Kannada. I have an idea of how jquery.i18n and jquery.web-fonts work. As I am mostly free in the summer I believe I can do some quality work on the project.
[http://wiki.smc.org.in/User:VirajSinha http://wiki.smc.org.in/User:VirajSinha]

Latest revision as of 07:57, 6 May 2013

Google Summer of Code 2013 Proposal for Swathanthra Malalayalam Computing

Personal Information

   # Email Address                         : virajssinha@gmail.com
   # Telephone                             : 918884210392
   # Blog URL                              : http://virajs07gsoc.wordpress.com/home/ 
   # Freenode IRC Nick                     : VirajSinha
   # University and Education              : Pursuing a B.Tech from Manipal Institute of Technology in Computer Science and Engineering


Why do you want to work with the Swathanthra Malayalam Computing?

Swathanthra Malayalam Computing is trying to bring Indic languages to the fore and also getting information to people in the local languages so that those who don't understand English can use it. Also the project requires HTML5, CSS and JavaScript which I have good knowledge of and personally have become fond of these web technologies


Do you have any past involvement with the Swathanthra Malayalam Computing or another open source project as a contributor?

No, I have never worked with Swathanthra Malyalam Computing or on any other open source project as a contibutor


Did you participate with the past GSoC programs, if so which years, which organizations?

No, I have never participated in GSoC before and this is my first time.


Do you have other obligations between May and August ?

No , I don't have any other work this summer and am mostly free so I think I will be able to devote 6-7 hours to this project daily and about 40 - 42 hours a week.


Will you continue contributing/ supporting the Swathanthra Malayalam Computing after the GSoC 2013 program, if yes, which area(s), you are interested in?

Yes I want to keep contributing to the community after my project as GSoC is just the beginning. I want to keep workig on extending SILPA in as many Indic languages as possible and if possible some international languages.


Why should we choose you over other applicants?

I have already installed the source code on my machine and I am familiar with the smc code base. Also I have a good understanding for the web technologies and python which will be helpful for me in completing the project. I am fluent in Hindi and know Bhojpuri a bit which can help me in translation and internationalization.I have worked on multi-lingual android apps before which included translating into Tamil,Hindi and Kannada. I have an idea of how jquery.i18n and jquery.web-fonts work. As I am mostly free in the summer I believe I can do some quality work on the project.


Proposal Description

A brief Overview

The project is titled "Internationalize SILPA project with Wikimedia jquery projects". But it also includes " Improve the webfonts module in Silpa using jquery.webfonts and provide more Indic and complex fonts". The main aim of the project is to make a tool for people to input text in their own local languages and also translate the text on the website to their language so that they have a better understanding of the text. Also the application needs to be internationalized. This can be achieved using jquery.ime and jquery.18n which are javascript/jquery libraries to handle localisation and internationalization. The fonts can be used from webfonts module in SILPA for translation. jquery webfonts extension adds font embedding capability to jquery using the webfonts technology. The extension provides a flexible way to choose fonts from the font repository and add then to the html elements. So basically we are trying to bring the new FLASK based SILPA site to the people in a language they can read and write. The project can be summarized as :-

   1. Translation strings to be put in the respective module paths
   2. The localized strings to be loaded from the respective module paths when the user changes the preference.
   3. Storing the user's preference using HTML5 localStorage API and loading modules'  localised string from the preference set by the    user.
   4. Providing a tool for people to be able to input local Languages.  
   5.Improving the webfonts module in SILPA using jquery.webfonts which    is an extension to jquery. As per jquery.webfonts specifications we need to have a font repository and choose fonts from those repositories.
 6. Providing support for more Indic and Complex fonts.
 7. Document the usage of webfonts and creating a clean API(REST) so that other websites can call our webfonts in their website.


The need you believe it fulfills

   1. The need to give people a better understanding of the context in the site so that they can utilize it for their advantage.
   2. This is required because not many Indic languages are supported by Google. 
   3. Google supports 6 or 7 Indic languages and there are about 22 different official languages declared in the Constitution of India. 
   4. Making the knowledge available to people so that Language barrier is removed.


How do you plan to implement the proposal

The following technologies will be used and hence an understanding of it is required:-
   1. FLASK - the current framework for SILPA
   2. Python - for separating templates and initializing strings 
   3. Jquery.i18n and jquery.ime - the internationalization framework for making the website available in different languages
   4. Jquery.webfonts - to provide support for different fonts which will be rendered on website. This is an extension to jquery and can be easily integrated as it applies font based on the lang attribute of the elements which can be set on user click.
   5. Webfonts module - I need to enhance the present module in old silpa code and use jquery.webfonts to apply the fonts instead of the present way.
   6. Bootstrap - For the front-end work


Previous Experience

During my internship with Babajob I made an Android application for them. This was a multilingual app and had other languages like Hindi, Kannada and Tamil. I used i18n to do this as I was making the app using web technologies like HTML5, CSS and JavaScript.


Project Timeline

June 17 - June 30(Week 1 and Week 2)

   # Get to know more about the i18n, web-fonts and jquery.ime
   # Plan the implementation details with the community
   # Discuss with the community about which fonts need to be added first as there is already support for 36 webfonts
   # Get to know the community better


July 1 - July 14 (Week 3 and Week 4)

   # Adding more fonts to the webfonts module in SILPA
   # Creating a repository for the fonts which van be called by jquery.webfonts which is a specification for using jquery.webfonts.
   # Re-writing the webfonts module to use jquery.webfonts instead of the css3  fontface feature
   

July 15 - July 28 (Week 5 and Week 6)

  # Writing a clean API so that webfonts module can be used by other    websites (REST API).
  # Implement the functionality for font preview and download options which will generate a link for the css file for the people and they can use the font on their site without having to download them.
  # Get the code reviewed from community and make changes.
 

July 29 - August 4 (Week 7)

  # Discuss about the UI for the font preview and download options.
  # Implement the UI for the site
  # Get the UI reviewed from the community
  # Rectify the UI and make the changes
  

August 5 - August 18 (Week 8 and Week 9)

  # Document the changes 
  # Push the code as a patch to the codebase so that it can go live.
  # Start work on the Internationalization part using i18n.
  # Collect translation strings  about the different languages that need to be implemented as a part of this project.
  # Make them into  JSON file out of these for the i18n to call on user's click.
  

August 19 - September 1 (Week 10 and Week 11)

  # Change the code to store user's preference using HTML5 localStorage so that the next time the site can start from the previously selected language for the user.
  # Provide the option on the website for user to click on a language and call i18n and jquery.ime. First the fonts need to be loaded and then the language text can be changed using i18n as it will call the respective json file holding the translation strings.
  # These localisation strings will be a part of different modules and hence have different paths.
 

September 2 - September 15 (Week 12 and Week 13)

  # After implementing i18n on the website we need to think of a tool on FLASK for people to be able to input in the language they have selected
  # Implement the tool and write the code for it.
  # Get it reviewed from the community and make changes to it.


September 16 - September 27 (Week 14 and Week 15)

  # Write the test Cases for the code
  # Test the code for all the cases
  # Bug fixes and implement the changes
  # Push the changes to the codebase so that they are live
  # Submit the code to Google for final review.



Things that I have made

1. One was called Boomerang and it was using Java and it can be used to share photos on social networking sites like Facebook, Twitter with hand gestures like swipe.

2.The second one was using HTML,CSS and JavaScript and it is called Y-AN-A(Yet Another NGO APP) . It can be used to bridge the gap between people and NGOs by providing the credibility factor and less time taking methods for people to donate to NGOs. I personally loved using web technologies in making app as it was less cumbersome in writing code.

3. In my internship last year I also build an app for Babajob Services Pvt. Ltd. which involves handling language support as the app needed to be in English,Hindi,Kannada,Tamil and I made the app using i18n and translation strings.

4. Besides these apps I have also made my college website using Php, HTML, CSS and Javascript/Jquery and other web technologies.

5. Some of the python projects and rest of things that I have done can be found at my http://www.github.com/virajs07 account.


Mentor

This project was already on the ideas page and is not suggested by me . The mentor's name written there was Hrishikesh K B. I have contacted him 3-4 times and had a conversation with him. Firstly he helped me in installing the source code. Then I read about jquery.ime and jquery.webfonts . Then he also suggested me that the localised strings should be a part of the modules and templates need to be moved to the respective module paths.

Wiki Link

http://wiki.smc.org.in/User:VirajSinha