User:Mooeypoo/OPW Application 2013

Name and contact information
Name: Moriel Schottlender Email: moo@smarterthanthat.com IRC or IM networks/handle(s): mooeypoo Location: New York City (Originally Israel) Web Page / Blog / Microblog: http://moriel.smarterthanthat.com/ Education: B.Sc in Physics, pursuing a Masters in Computer Science (expected graduation: Dec 2014)

About you
I am originally from Israel, now living in New York City while I get my Masters in Computer Science. My bachelor's is in Physics, and I'm quite passionate about the link between the two!

Being a native Hebrew speaker, RTL support is a recurring issue that's definitely close to my heart and I'd love to contribute to the community and help improving it.

How did you hear about this program?
While I was in the process of applying to GSoC2013 through MediaWiki, I was approached by Sumana Harihareswara who pointed me out to the OPW page and IRC channel!

Are you planning to apply for Google Summer of Code?
I am applying to GSoC2013 with a proposal: "Internationalization and Right-To-Left Support in VisualEditor"

Experience with MediaWiki
I've worked with MediaWiki before as a "consumer", installing it on my web server and playing around with extensions and small modifications. When I considered going for GSoC and OPW, I looked at the MediaWiki suggestion page and tried to find if I can transform my role from user to contributor.

Contributions
I have started submitting bug fixes to MediaWiki and extensions, including VisualEditor:
 * Fixed: Bug 47717 - VisualEditor: Link inspector input text always has LTR direction}: https://gerrit.wikimedia.org/r/#/c/61960/
 * Fixed: Bug 36032 - The reference number should be bidi-isolated: https://gerrit.wikimedia.org/r/#/c/61634/
 * Fixed: Bug 45585 - Keyboard Icon of Language selector for RTL languages should be at left: https://gerrit.wikimedia.org/r/#/c/61749/ (Submitted to GitHub repository for jQuery.IME)

Experience with FOSS
I have developed several extensions for lesser-known CMS systems written in PHP and jQuery; they're available in my GitHub page.

Relevant Projects
I've worked with Javascript, jQuery and PHP before quite extensively. One of the main side-projects I've been working on is a Metro UI Windows 8 app (Javascript/HTML5 intensive) and I've created a couple of small jQuery-based tools that are available on my website.

Projects of Interest
I propose working on a series of improvements to VisualEditor concentrating on support for RTL languages like Hebrew, Arabic, Persian and Pashto. There is already a need to add this support and a large part of it is defined in the article "Bidirectional text requirements"

This application was also submitted to GSoC2013.

Possible Mentors
Amir E. Aharoni offered to co-mentor and James Forrester and  Inez Korczynski from VisualEditor has shown interest as well.

Deliverables

 * A toolbar button for changing language direction (similar to OpenOffice, Word and GoogleDocs)
 * Page-level and paragraph-level support for RTL languages
 * Inline support for RTL.
 * element support for element isolation in articles that contain more than one language
 * (Investigation) Develop a language inspector
 * (Investigation) Keyboard support for changing direction with Control-Shift

Roadmap
Stage 1:
 * Familiarize myself with VisualEditor and its components and plugins
 * Investigate common RTL issues
 * Studying the RTL/Bidirectional issues in Mediawiki Bugzilla Bug 745 - RTL/bidirectional issues
 * Investigate available RTL solutions in other javascript-based editors (if exists)

Stage 2:
 * Add a toolbar button for directionality
 * Add and test page-level RTL/LTR switching support for multiple browsers
 * Begin work on inline-support and paragraph-support
 * Investigate test cases of RTL issues and common problems
 * Investigate the implementation of tag support

Stage 3:
 * Implement paragraph- and inline- support
 * TEST TEST TEST! Verify RTL works for regular and fringe cases
 * (Investigation) Add keyboard-support if possible; Control-Shift to switch directionality

Other Commitments
I will be fully available for GSoC work through the summer. I will take a summer course, but it will only be twice a week, and since I work during weekends as well, I will more than compensate for the lost time.

I used to work full-time job with a much higher course-load (during a full semester), so this summer-course should not interfere with the project.

Comment: I am an International Student (work through CPT) and my summer vacation officially ends around September 1st. International students have slightly different work-related laws; we are allowed to work 40-hours a week during semester breaks, but only 20-hours a week during a semester, and only with special approval. I hope this will not be a problem.