Google Summer of Code 2013 Proposal for Swathanthra Malalayalam Computing
- 1 Personal Information
- 1.1 Why do you want to work with the Swathanthra Malayalam Computing?
- 1.2 Do you have any past involvement with the Swathanthra Malayalam Computing or another open source project as a contributor?
- 1.3 Did you participate with the past GSoC programs, if so which years, which organizations?
- 1.4 Do you have other obligations between May and August ?
- 1.5 Will you continue contributing/ supporting the Swathanthra Malayalam Computing after the GSoC 2013 program, if yes, which area(s), you are interested in?
- 1.6 Why should we choose you over other applicants?
- 2 Proposal Description
- 2.1 A brief Overview
- 2.2 The need you believe it fulfills
- 2.3 How do you plan to implement the proposal
- 2.4 Previous Experience
- 2.5 Project Timeline
- 2.5.1 June 17 - June 30(Week 1 and Week 2)
- 2.5.2 July 1 - July 14 (Week 3 and Week 4)
- 2.5.3 July 15 - July 28 (Week 5 and Week 6)
- 2.5.4 July 29 - August 4 (Week 7)
- 2.5.5 August 5 - August 18 (Week 8 and Week 9)
- 2.5.6 August 19 - September 1 (Week 10 and Week 11)
- 2.5.7 September 2 - September 15 (Week 12 and Week 13)
- 2.5.8 September 16 - September 27 (Week 14 and Week 15)
- 3 Things that I have made
- 4 Mentor
- 5 Wiki Link
# Email Address : email@example.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?
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.
A brief Overview
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
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.
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.
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.
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.