User:Mjnovice

From SMC Wiki
Revision as of 17:00, 16 March 2014 by Mjnovice (talk | contribs) (Created page with " '''Name:''' Mayank Jha '''IRC Nicks:''' mjnovice,mapyth on freenode '''Email:''' mayank25080562@gmail.com '''Blog:''' http://mjnovice.wordpress.com/ '''Why do you want...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Name: Mayank Jha
IRC Nicks: mjnovice,mapyth on freenode
Email: mayank25080562@gmail.com
Blog: http://mjnovice.wordpress.com/


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

I wish to work with SMC because it is an organization which helps create language tools, and helps in internationalization of content in Indian languages, which is one of my central aims.

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

I have developed FontCompare a font aesthetics analyzer, for Indic scripts. Apart from that I have been a regular open source contributor.

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

I participated in GSoC 2013, developing FontCompare with Ankur India.

Do you have other obligations between May and August ?

I have no commitments whatsoever between May and July. Once my college reopens I would still be able to contribute 40 hours a week.

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

I will certainly want to continue working with SMC after GSoC. I would like to be a part of Fonts Improvement and Text Rendering in general.

Why should we choose you over other applicants?

I am passionate about whatever I do. I strongly believe in the principles of FOSS, and love contributing to the Open Source world, since I was introduced to it. I am very keen about fonts since I believe it is the very window or medium by which we read or infact do anything. I also possess sound technical skills, required for the project.



Short Description:

I am wanting to make a web interface for a font aesthetics analyzer for Indic scripts, FontCompare. FontCompare is a plugin for fontforge, which provides assistance to the font developers in assessing the aesthetics of a font, based on the standard set of parameters and their values. It uses the python scripting extension of fontforge. However it currently it has very basic features implemented. I plan to add in advanced tests, and also building a web interface for the same. In general it would be a real help, and it would eliminate the dearth of good quality open type fonts for Indic scripts, which was the main motive of behind FontCompare. By making a web interface this would indirectly propel the creation, of good quality stylish fonts for Indic scripts, which is limited to 2-3 per language as of now!

Synopsis:

The web interface would be having two main parts, one is the User feedback area, and the other being the Font Developers testing area. The interface would thus serve dual purpose, of conveying the feedback of the font users to the font devs, and a testing platform for the font developers to test out their fonts based on the set of standard tests performed by the FontCompare application based on set of standards.


Implementation details:

I would be using Django as the web framework, for making the web interface alongwith JS/jQuery/BootstrapCSS for styling purpose.

User feedback region: This would allow the user to test out new fonts of any language with his custom text. Since this would be difficult to do realtime, so we have to render the text in the said font on the server side and then push it on the client, this can be easily done with any fontrendering tool. Preferably harfbuzz, which is used by fontcompare, would be used to render the fonts, something similar to 1001fonts.com. There would be a feedback form, wherein he would enter the characters he did not find good/ugly and also the reason for the same. He could also give in sample text, sentences which do not render properly or incorrectly upon, using the font.

Font testing region: Here the font developers would be uploading their font files, and the font file would be used to perform the tests, and the results of the tests, would be sent to the client, to be displayed in a nice manner. He/She could either set his own standards by uploading a sample standard file (for e.g lohit.ttf for devanagari script), or rely on the default standards, thus making the tool flexible.

FontCompare would be running tests based on Glyph consistency, Kerning, GPOS/GSUB completeness, Text beauty, Bitmap Similarity etc. Apart from developing the web interface, the fontCompare also needs some improvements, and changes. It currently is a Qt app, with no command line features. Support would be needed to allow it to function on command line interface. Also the set of standards need to be updated The Automate-rendering-tests for Harfbuzz rendering engine is command line based. So, it would be great to have the test results of the rendering engine, alongwith the aesthetic analyzer displayed in conjunction, to give an overall picture to the font developer about the quality of the fonts.

Adding advanced tests to FontCompare: This would inadvertently mean adding a good set of standards to the current codebase. In other words identifying good fonts and adding it to the database of the fonts.


Phases/milestones with dates:

:Community Bonding Period:----------

21 April - 28 April : I am going to re-discuss my implementation plans with the font developers community, incorporating in the suggestions recieved, into the FontCompare application (if any).

29 April - May 11 : Getting familiar with the tests of HarfBuzz, and see if needs tweaking to be sent via a web interface.

May 07 - May 14 : Planning out the UI, see if any changes needed. Writing basic code for the django models, and see if it works.

May 15 - May 18 : Discuss and get an early feedback on the UI


:Coding Period Begins:-------------

May 19 - May 26 : Make changes to the UI and the django models, based on the feedback. Implement the basic developer account using the django OAuthAdmin.

May 27 - June 4 : Implementing the basic django models and their views for the User, and the user feedback region.

June 5 - June 19 : Make the basic developer testing area. Integrate the rendering tests of harbuzz for display.

June 20 - June 23 : Testing for consistency and efficiency of the models used. Check for consistency in coding style/conventions. Try and deploy to test the interface developed so far.

June 24 - June 27 : Discussing with the mentors about the current development, and getting their reviews/comments.


Mid term deliverables------------------

The web interface would be having the basic developer area ready with rendering tests for display.

June 28 - July 12 : Add, in FontCompare tests to the developer area, by making fontcompare a command line tool.

July 13 - July 20 : Updating the set of standards to be used by fontcompare, taking in good quantity/quality of fonts, for each script.

July 21 - August 1 : Getting reviews/feedbacks from font developer community. Deploying it and making any changes if required taking into account performance and consistency.

August 2 - August 5 : Documenting the code. Testing the code for any nitpicks if required.

August 5 - August 22 : Backup time for unforeseen delays.


End term deliverables-------------------

A full fleged web interface for FontCompare and Harfbuzz rendering tests

Post GSoC ----------> Maintain the web interface, and be the system admin in general listening to day to day issues. Become a part of the telepathy community.

About Me:

I am a FOSS enthusiast and a rabid open source contributor. I am currently a 3rd yr undergraduate pursuing Computer Science at NIT, Durgapur, India . I believe in the core principle of FOSS. Since I was introduced to the warm, loving and inspiring world of Open Source I am in love with it, as they offer great opportunity to both learn and teach. I was a student for the Google Summer of Code 2013, with Ankur India and developed a font-metric tool for Indic fonts which could differentiate fonts on the basis of their aesthetic quality and allow font developers to contribute more and better fonts. I have regularly contributed patches to applications like Konversation, Kate, Telepathy, Trojita, Rekonq. I also made a plugin for the Geany IDE, which would allow people to submit their code online at SPOJ through the editor. I have also explored the Telepathy source code, and submitted few patches too on the same. I am skilled in C/C++, Qt, Python, HTML, JAVA, CSS and PHP. I am very passionate and done to the task I take under, and I can devote 40 hours a week, to my work. After GSoC I would continue and maintain my code and be a part of the font developer community, helping and incorporating in new suggestions to my tool. Apart from remaining stuck to my laptop, I love to eat chocolates, listen to Michael Jackson, sleeping and eating.


-- Mayank Jha