User:Mooeypoo/GSOC 2013 Project

= WiPhys: Physics Embeds in MediaWiki =

Name and contact information
Name: Moriel Schottlender

Email: moo@smarterthanthat.com

IRC or IM networks/handle(s): mooeypoo

Location: New York City

Synopsis
My idea is to develop a plugin for MediaWiki intended for schools, educational sites and tutors (and anyone else who'd like to use it) that allows the basic rendering of physics demonstrations visually by picking up on basic code. Similar to LaTeX that parses text-based code to produce mathematical equations, my plugin will take parameters given in text and produce an image representing a physical situation.

The project itself is ambitious, but the GSoC2013 project can serve as creating the building blocks necessary to deliver the core required for future improvements.

Implementation Details
In this project there are a couple of points to consider before beginning the actual implementation. The initial work will be to organize the system so it’s ready for future development and enhancements.

The implementation will be done with a basic static schema, so in the future the change to interactive physics-engine scripts could be done relatively easily. The initial static ‘draw-only’ engine can be later replaced with a Javscript-based physics engine like Box2web, Ammo.js, etc.



Basic Example
An example could be something like the following code:

(This is just an idea to illustrate the mechanism, it doesn't necessarily represent the actual code)

In the above example, an image will be produced of the x-y axis and the curve that will be produced by a projectile motion from (0,0) m with initial velocity vector (10,15) m/s and gravity 9.8m/s^2. Since dist is marked as "?" it will appear on the picture as the "missing variable".

This is a basic idea that can render the images with SVG, even using some jQuery plugin libraries like RaphaelJS or jQuerySVG, etc.

Potential issues with this plugin would be making sure the physical image can be rendered (are there enough details?) and that the code allows for varied amount of options, like "projectile" "rotation" and maybe even "kepler" for planet movement, and yet it should be accessible to a general mediawiki user without being overly complicated to use.

If this is picked up for GSOC, the idea is to create a basis for future development that can later be improved and added-upon by the community with more and more physical property.

Deliverables
Still work in progress. If the idea passes some scrutiny from the mailing list users, I will fill that in with a proper plan.

About you
I have a bachelor's in Physics and am now studying for my Computer Science masters. I've always been very passionate about both, and I thnk physics can benefit from insights from computer science and vise versa. Despite the fact my experience in programming big projects is limited, I'd love to work on something that capitalizes on my Physics education and passion.

Participation
Same as above. There are quite a number of groups that can help with finding the best basic physics demonstrations like physicsGRE groups and university faculty. In terms of the technical requirements, I will probably look for help in LaTeX groups as well, seeing as it's a similar project, elbeit much more elaborate.

Past open source experience
Admittedly, I have very limited past experience in actual projects. I've created a couple of small extensions to lesser-known CMS systems and some side projects in PHP, Javascript/jQuery and Perl. All exist on my github page.

I am hoping this will be my first proper big contribution to the community!

Any other info
Full disclosure: I'm waiting for an answer about another internship for this summer and if it comes through, I will not be able to participate as a GSOC student. The answer will be knwon to me next week (before the GSOC application deadline, hopefully).

However, if this idea has merit, I'd love to do it regardless of GSOC, so I would appreciate the comments and thoughts about this. I would like to make sure it is something the community wants to have, and that I am not missing any important aspects that may make this project not feasible to produce or maintain.

Thank you for your thoughts!

Moriel