User:Jacksonisaac

From SMC Wiki

Personal Information:

Name            : Jackson Isaac
Email Address   : jacksonisaac2008@gmail.com
IRC Nick        : JacksonIsaac
Github          : www.github.com/jacksonisaac
University      : Amrita Vishwa Vidyapeetham, Kerala, India.
Blog            : Jackson's Blog[1]
Nationality     : Indian
Time Zone       : +05:30 UTC
Primary Language: English, Hindi

Why SMC?

To apply my theoretical knowledge and programming skills, I wish to take up Swathanthra Malayalam Computing for my GSoC project. Swathanthra Malayalam Computing supports development of Indic support and rendering of Indian languages. This is the most beautiful thing about this organization, using technology to keep Indian culture alive. The work that SMC is doing is indeed great and I would love to be a part of such an organization. And being an Indian organization, ‘Swathanthra Malayalam Computing’ was my obvious choice.


Open Source Contributions:

1) GNOME-Music:

Create private method for creating model: Define ‘model’ as a private function in class AlbumWidget and create it again when needed instead of redefining it. (git.gnome patch: [2])

Cache vadjusment in AllArtistsAlbums: Cache vadjusment in AllArtistsAlbums similar to Github Issue #114. (git.gnome patch at [3])

Cache vadjusment in ViewContainer: Cache vadjusment in ViewContainer to save execution time and reduce hits on it. (git.gnome patch at [4])

Remove call to '_on_scrollbar_visible': Call the function directly instead of calling it from within another function which was called too often due to this. (git.gnome patch at [5])

Bug #706800 -: Removed the style “suggested-action” in Cancel Button according to the updated Design mock-ups (git.gnome patch at: [6]).

2) Mozilla:

Bug #891581: Fix the focus on the input box of Web console when the cursor was blurred and focused on other tab. I have also written an automated mochi-test for testing the patch (hg.mozilla patch at: [7]).

Past GSoC Participation

None, this is my first GSoC Participation.

Commitments during Project period

No other commitments from May 19 till last week of July. I can devote 8 - 10 hours everyday on the project. Beginning from the last week of July I would be able to work during the evening time till night for around 5-6 hours on account of academic arrangements in the day time. I will continue my contribution towards Swathanthra Malayalam Computing after the GSoC term and keep maintaining my modules and keep fixing bugs in the SDK, add more features to it and improve the codebase.

Post GSoC plans

I will keep on contributing to Swathanthra Malayalam Computing projects and improve and maintain the modules that I have implemented and keep improving it and fixing bugs in them. I will also integrate remaining Silpa modules with the SDK, provide technical support for the SDK and keep updating the code.


Why Me?

I am a second year Bachelor of Technology, Computer Science and Engineering student from Amrita Vishwa Vidyapeetham (Amritapuri campus), Kerala, India. I have been using GNU/Linux since 2 years and have been contributing to open source projects past 1 year, namely GNOME-Music and Mozilla. I am a part of Linux User Group at the campus, foss@amrita[[8]] have been a FOSS supporter ever since. I have presented a talk at a national FOSS conference, FOSSMeet ’14 at National Institute of Calicut, India on ‘Contributing to GNOME-Music’[[9]] and also at ICFOSS - Young Professionals Meet at Technopark, Kerala, India along with Praveen A on ‘Project Code Incubation’ where we presented about open source contributions and SMC projects. I have experience working with Android and have a good knowledge about Java and Python. I have contributed to projects related to the same and also developed android apps during my First year. This year I participated in University Mobile Challenge[[10]], an international competition organized by Applied Innovation Institute. I am familiar with creating SDK for android, I had implemented Media playback framework for an application that I had developed. I am well versed with Hindi and it’s usage, Android projects, Python and Java which will be an advantage for the project and I can complete this project within the time period. I will also improve the modules and add more support and features after the project period.


Main Proposal

Silpa is currently used as a web platform for supporting Language processing tools and also python libraries are available for it. This project will port the Silpa modules to Java and create a SDK for android and extend Silpa support to mobile applications too. This will allow the developers to add Indic support in their applications and along with the recent release of Indic keyboard for android, this project will be of great value to the Open community.


Modules like transliteration, payyans, text renderer will be implemented primarily. Additional feature for spell check will also be implemented. This will add support for translating input text into different Indian languages, rendering the fonts as images if Indic fonts are not available and spell check. Popular fonts will be added along with the SDK and force rendering will be supported to make sure that the rendering is done smoothly and consistent across the devices without Indic font package.


The current Indic support on android devices lack proper rendering, spell check and transliterations from one language to another. Transliteration and spell check features are provided as part of third-party applications, this project will provide a generalized SDK for the developers which will include all these modules. Indic support will change the way Android devices will be able to interact with Indian population especially in remote areas. These modules will allow developers to create regional applications and government can also make use of this SDK to create localized applications for educating the population and creating educational apps for schools and rural women.


Using this SDK, specifically transliteration and render module, application for providing Indian scriptures within an app will be possible and the world will get to know more about ancient India and it's vast history through scriptures in Indian languages and it's appropriate translations in other languages.


Initially all the modules will be ported to Java, then tested by implementing them into android projects to make sure the modules are functioning properly.


Tentative Timeline:


Until April 21

I will utilize this time to understand Silpa project and it’s module in depth. Port few modules to Java and create test project and implement them into applications. Research on Silpa modules and create the SDK implementation design.


April 22 - May 18:

Community Bonding Period


During this time, I will hang around the IRC channel for Silpa and discuss with porject Mentors - Hrishikesh K B, Jishnu Mohan and Aashik S about the modules and how can we improve them to implement them into an android SDK.


May 19 - May 27:


Port payyans module to Java to add support for converting ascii to unicode.


May 28 - June 1:

Test payyans module by implementing it into an App and fix issues in the module, if any.


June 1 - June 15:

Port transliteration module to Java. Test the module with basic text and add support for complex string inputs. Add support for available Indian languages.


June 16 - June 18:

Test transliteration module by implementing it along with payyans module and test for regressions or conflicts and fix them.


June 19 - June 22:

Create SDK with the implemented modules and test them for bugs and fix them. Code clean up.

Get the SDK ready for the Mid Term Evaluation.


June 23 - June 27:

Mid Term Evaluation.


Discuss with the project mentors about the modules and SDK for any improvements to be made to the SDK. Test the SDK by implementing them into an App and submit the code for Mid Term Evaluation. Write up Documentation and Tutorials to use the SDK in the android project.


June 28 - July 20:


Implement the Indic renderer module in Java. Test the module for bugs, fix them and integrate the module with the SDK.


July 21 - July 31:


Add popular fonts along with the SDK to support font usage in the App when the default font package in the device is not available. Add support for force rendering using the fonts provided in SDK when fonts is not available in the device.

Prepare Documentations and Tutorials on using Silpa SDK in android projects.


Aug 1 - Aug 18: Pencils Down Date.


Test the SDK thoroughly for bugs and fix them. Code clean up. Discussion with the mentors about the SDK implemented and adding final touches to the code and submitting it for the Final Evalutaion.