UploadWizard OSM map embedding

OPW Project:Upload wizard-OSM Map Embedding

 * Public URL: []
 * Bugzilla report: Bug 56612Bug 56614
 * Announcement: Upload wizard-OSM Map Embedding Project

Name and contact information
Name: Anu G Enchackal Email:inchikutty13@gmail.com IRC or IM networks/handle(s):inchikutty Location:Kerala,India Time zone:UTC+05:30 

Synopsis
This project is about enhancing the image upload process for Wikimedia Commons. Commons is an image hosting site which is used by Wikipedia and a bunch of other sites, as a central location to store free images, which can be reused anywhere without needing to worry about copyright.

Commons has millions of images and Wikipedia editors need to be able to find quickly the right ones for their articles, so it is important to store various metadata with the image which will help navigation - topic of the image, when it was made and so on. This metadata is usually stored in a complex template language that is specific to MediaWiki, and the sight of which usually makes people to flee in terror. Since we cannot expect image authors to learn to write something like that, Commons has a tool called UploadWizard which creates all the code for you, after you fill out a bunch of forms. The main goal of the OSM map embedding project would be to provide map interface & the integration with external databases to the UploadWizard. (OSM stands for OpenStreetMap - a free map application which is similar to Google Maps but not encumbered by restrictive copyright.)

The secondary goal is to integrate with some databases of locations and use that in various ways. One way would be checking if there are locations with requested images nearby (that is, someone put out a note that Commons needs good images about a certain place and doesn't currently have any), and warn the uploader about them. Another involves image competitions where people can participate with pictures taken at some predefined locations; UploadWizard could get a list of these locations and use it to help the participant in selecting where he took the photo.

Information Courtesy:Gergő Tisza,Project Mentor

Proposed Timeline

 *  Week 1 (1 week):

With the help of my mentor,I will navigate through the existing code and structure of UploadWizard, in order to understand the system in detail.
 *  Week 2-6 (5 weeks):

These five weeks are purely for coding .The plan is to first develop a map widget for UploadWizard which can meet the project's intended main goal,and add features,one by one to it .Choosing the map plugin,adding functions to it, integrating interfaces to handle the functioning of the widget, handlers to connect the widget to external resources are a few of the many important tasks during this period.
 *  Week 7 (1 week):

Test and Submit the code for reviewing.Most of the documentation will be carried out during this period.
 *  Week 8-10 (3 weeks):

Take up suggestions from Code reviewers and members of wikimedia community and "code" upon the suggestions,
 *  Week 11-12 (2 weeks):

Making minor changes to the product for enhancing its appeal and providing "better finishing"!

About myself
I have completed my B.Tech in Computer Science and Engineering from College of Engineering Chengannurin the year 2013.During my course at the college,I have been fortunate enough to be an active participant & manager in IEEE and various technical fests.I hope to pursue MBA in June 2014. As far as my programming edge is concerned I had a fair share of experience with programming in PHP,C/C++,Java and I am also familiar with Javascript,HTML and CSS.But being frank applying to OPW is the biggest step I have ever took with the knowledge I have in programming.My previous commentable experience was clearing Yahoo Open Hack Programming Challenge for participation in Yahoo Open Hack India in 2013.As a result of my effort and successful completion of the challenge, I was awarded with official invitation to the event as a hacker. I have exhibited ability to persevere in all my endeavors. I am willing to learn new things and I am sure there is lot for me to learn out there.By being part of this project, I know I could be part of something that could reach and benefit many people and it can also make me grow into a better professional than I am now.And that is the reason why I am applying for OPW.

Participation
When it comes to carrying out a certain task, I usually break it down into smaller yet significant subtasks!By doing so,I have found out in my experience that even the most complex task can be accomplished in time!

If chosen I will be avalable to work for atleast 40 hours/week.

Work style
For me,getting things done is the first and foremost priority! I will always focus on developing a successful product or more specifically writing a code that actually works.Usually I will get obsessed with the work and end up making it my number one priority. I like to learn from my mistakes but what I like most is to bounce back from failures no matter what I have to go through! I like to think from a User's perspective and develop a product that can amaze the 'User' in myself. Work Timing: I don't have any constraints, knowing myself I know that I will be completely committed to the task I am assigned to.

Communicating Progress
I prefer to communicate by sharing the work I have done rather than the work I am going to do!During the various stages of the proposed project timeline and whenever I make a significant progress, I will communicate it to the community through mailing list announcements,IRC channels and I will start a new page under my user page for the reporting purpose alone.

Source Code
I would like to publish my source code through gerrit once its in a working form. But my working directory can be viewed in my GitHub account.

Seeking Help!
I know that I am attempting something new by being part of OPW.And I might face a lot of situations where I need timely advices and help. I don't like to waste any time ,by being stuck while I am doing something.So if I need help I will seek help,through mails,by asking in IRC channels.

As a user
I love wikipedia!From academic extracts to word meanings,movie plots to episode synopsis of my favorite television series Wikipedia answered all my queries and astounded me with details.

As a developer
My first and only open source experience on a big platform is my participation and submission in Yahoo Open Hack India 2013.Participants were asked to submit their code in GitHub. That was the first time I even heard of git.Anyhow me and my teammates were able to submit the hack in time and presented it on the big stage. Other than the Micro task, I never had any real time experience as a serious FOSS project contributor though I have used a lot of open source softwares. If accepted, this internship would be my chance to contribute something remarkable to a FOSS project.