User:Johnnorro/GSoC 2012 application

Identity
Name: John Norrington Email: johnnorro@gmail.com Project title: Integrate "upload from Flickr" and other photo-sharing websites

Contact/working info
Timezone: BST (UTC+01:00) Typical working hours: Monday - Friday, 10am - 5pm IRC or IM networks/handle(s): johnnorro on Freenode, j.norro on Skype

Project summary
Two or three paragraphs describing your project -- what it means to accomplish, and how it will benefit MediaWiki or Wikimedia projects such as Wikipedia.

Required deliverables

 * Upload a picture from Flickr using UploadWizard, maintaining license and metadata information
 * Upload a picture from Picasa using UploadWizard, maintaining license and metadata information
 * Upload whole/part of a set from Flickr using UploadWizard
 * Upload whole/part of a album from Picasa using UploadWizard

If time permits

 * Match MediaWiki categories to Flickr tags
 * Add search functionality for Flickr and Picasa
 * Add other photo-sharing website eg. Photobucket

Project schedule

 * May 14th: End of university exams
 * May 14th - May 21st: Research developer documentation and APIs before project commencement
 * May 21st: Start coding
 * May 21st - May 23rd: Write scripts to extract photo, license and metadata from Flickr and Picasa
 * May 24th - May 25th: Write scripts to convert photo metadata and licenses
 * May 28th - June 6th: Add single image upload from Flickr to UploadWizard with categorization and naming
 * Create HTML elements (form to enter photo id, div to show image with information)
 * JavaScript to get image using AJAX and check license
 * PHP to import the image
 * June 7th - June 8th: Extend single upload image to upload from Picasa
 * June 11th - 15th: Write scripts to parse album/collection/set from Picasa/Flickr into a feed
 * June 18th - June 28th: Extend UploadWizard to allow upload from multiple files via feed, allow selection, renaming and categorization
 * Create HTML elements (div to show multiple images with form for renaming, categorization and selection)
 * JavaScript to get images and metadata using AJAX
 * PHP to handle image selections, import selected images and store metadata
 * June 29th - July 3rd: Add other photo sharing websites eg. Photobucket
 * July 4th - July 6th: Auto-categorization using tags
 * July 9th - Stop coding new features
 * July 9th - July 13th: Prepare mid-term evaluation
 * July 16th - July 20th: Documentation
 * July 23rd - July 27th: Testing and bugfixing
 * July 30th - Aug 3rd: Pre-deploy review
 * Aug 6th - Aug 10th: Merge with trunk
 * Aug 13th - Aug 20th: Final evaluation

About you
We don't just care about your project -- you are a person, and that matters to us! What drives you? What makes you want to make this the most awesomest wiki enhancement ever?

You don't need to write out your life story (we can read your blog if we want that), but we want to know a little about what makes you tick. Are you a Wikipedia addict wanting to make your own experience better? Did a wiki with usability problems run over your dog, and you're seeking revenge? :-) What does making this project happen mean to you?

Participation
We don't just want to know what you plan to accomplish; we want to know how. Briefly describe your work style: how you plan to communicate progress, where you plan to publish your source code while you're working, how and where you plan to ask for help. (We will tend to favor applicants that demonstrate a clear vision for what it means to be an active participant in our development community.)

Past open source experience
Do you have any past experience working in open source projects (MediaWiki or otherwise)? If so, tell us about it! If you have already written a feature or bugfix in a Wikimedia technology such as MediaWiki, link to it here; we will give strong preference to candidates who have done so.

Any other info
Please add any other relevant information -- UI mockups, references to related projects, a link to your proof of concept code, whatever. There are no specific requirements, but we love to see people who love what they're doing. Show us you're excited about this project and have an interest in the background and are considering how best to make your idea work.