User:Drecodeam/GSoC 2012 Application

Identity
Name: Ankur Anand Email: drecodeam@gmail.com Project title: Integration of Flickr and Geolocation in UploadWizard

Contact/working info
Timezone: UTC+5:30 (IST - India) Typical working hours: 10 am to 3 am until July, 6pm to 3 am after July IRC or IM networks/handle(s): Drecodeam

Project summary
My project aims at implementing :
 * Flickr Integration :
 * Providing an interface which allows the user to transfer images from Flickr where the UploadWizard extracts license and metadata from the images, converts the license into a Commons License Template and passes on metadata to the next step to generate corresponding WikiText.


 * Improving the Geolocation support
 * Implementing a JavaScript jQuery plugin which presents a map interface that can be manipulated to select a particular location and report that location in code, preferably as WikiText containing a Location template. The plugin would make use of EXIF data contained in the media file or location data retrieved from Flickr to suggest an appropriate location and could also be manipulated to mark a new location for the media.

Other than implementing the above 2 features, I also aim to implement HTML5 drag and drop support for the files, on which i have already started working on [3 ]. Moreover i would also work on enhancing the interface and design of the extension according to the Design Recommendations and MediaWiki style guide.

Since this extension is used for uploading media on WikiMedia Commons, i believe that implementing these changes and features would improve the user experience of uploading media on Commons ( and other places where this extension is used ) and make it more intuitive. Integration with Flickr would make it easier to directly upload images from it and hence would encourage more contributions. I would also work on this project after GSoC to integrate other services hence making it easier to contribute licensed media from other sources.

Required deliverables

 * Integration with Flickr
 * Implementing an interface for the user to select images from a Flickr account or Photostream using jQuery UI framework.
 * Extracting the license and metadata information from the selected photos. The license would then be converted into an appropriate Commons License Template and extracted metadata would be passed onto the "Details" step of the Wizard.


 * Implementing a jQuery Plugin to provide an interface for the location of the uploaded media
 * Implementing the map interface according to the given Geolocation specs
 * The map interface would take any existing information on location through the extracted metadata from media and also allow user to mark a new location through the interface.
 * It would then convert the Co-ordinated into appropriate Location Template.
 * Would reuse the existing work done on this in the MediaWiki Maps extension


 * Shorter deliverables
 * Complete my ongoing work on implementing HTML drag and drop.[2]
 * Improving the Interface according to the Design Recommendations and MediaWiki style guide.

If time permits

 * Would work on integrating other services like Picasa for automatic upload from these services.

Project schedule

 * Community Bonding Period(24th April - 21st May)
 * Study the extension's code in detail and get familiar with its coding style and structure.
 * Lay down the UI mockups and structure of my project and discuss the same with the community and mentor.
 * Get familiar and study in detail the Flickr API and MediaWiki Maps extension
 * Complete implementation of HTML5 drag and drop feature while also working on improving the interface.
 * Fix certain open issues to gain a deeper understanding of the code.


 * 2 weeks (21st May - 4th June)
 * Implement the Flickr Integration interface according to the mockups discussed earlier.


 * 2 weeks(5th June - 18th June)
 * Work on extracting the license information from the selected images and validate it to the available Commons Licenses. Then converting the validated license into appropriate Commons License Template.
 * Getting all the available metadata of the selected images and passing the metadata to the "Details" step.


 * 2 weeks(19th June - 2nd July)
 * Writing unit tests using Jasmine for testing
 * Work on the documentation. ( i would be working on the documentation throughout but would compile, review and format it in this time)
 * Committing code to Gerrit

Milestone 1 : Flickr integration complete. Leaving a buffer period of 3-4 days for any delay in the above schedule.


 * 3 weeks (6th July - 27th July)
 * Implementing the Map interface according to the mockups discussed earlier.


 * 2 weeks(27th July - 10th August)
 * Writing unit tests and performing tests.
 * Complete the documentation
 * Committing code to Gerrit.

Milestone 2 : Implementation Map interface for Geolocation support complete.


 * 11th August - 20th August
 * Finish any remaining work.
 * Start working on integrating other services.

About you
I am Ankur Anand pursuing B.Tech in Computer Science Engineering, from Jaypee Institute of Information Technology, India. I have been doing web development since the past 3 years. I love studying about UX and design. I have experience in coding in JavaScript, CSS and PHP. I got interested in this project after seeing it in the list of ideas on the GSoC ideas page. It excites me to design and work on the interface of this extension as it improves the user experience of everyone who uses WikiMedia commons and uses this extension to upload media, in general.

Participation
Whenever i am online i am logged into IRC, as i believe it is the best place for communicating with the community. On topics where i want to start a discussion or want feedback of the community, i would be communicating through the mailing list. I would be directly committing to my branch in the Git repository.Also since my project requires at implementing new features, i would be taking regular feedback from the community over my Interface designs through mockups and prototypes, either through the mailing list or by creating a Wiki page for the discussions.

Past open source experience
I am an active member of Open Source Developers Club in my university since the past 3 years. All the projects i do are open source and can be found on my Github profile.Contributed a patch to WordPress. I am in the process of contributing a plugin and a theme to The WordPress Community. I have also collaborated on an Add-on developed in a firefox 4 launch party. I have organized several Open Source meet ups in my university including OSSCamp 10.11, Firefox 4 Launch Meetup and few local meetups over Drupal, Firefox, Linux etc. and have been attending many local community meetups about open source including DrupalCamp, Wikipedia workshop, foss.in etc.

Any other info

 * Diagram explaining the Flickr Upload Process - Flickr_int_UWE.png]
 * Notes related to the project [3]
 * Upload Wizard Geolocation Specs [4]