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.

Photo sharing websites such as Flickr and Picasa have vast quantities of images that are released in the public domain or with attributive licenses. It would be beneficial for pages such as Wikimedia Commons to be able to upload images directly from these photo sharing websites, maintaining the licenses and metadata information.

This proposal is to add 'upload from Flickr and Picasa functionality to the UploadWizard extension. It will maintain the license and metadata information. Furthermore it will permit multiple uploads at once using Picasa albums and Flickr collections and sets, allowing selection, renaming and categorization.

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?

I am Computer Science student at the University of Strathclyde, Glasgow in my penultimate year.

I have a passion for doing voluntary work. Over the last three years I have served on the committee of the university skydiving club, including as the current captain, which has taught me alot of essential organisation, teamwork and communication skills. As part of my duties on the committee I have overseen charity events that have raised thousands and I built the current club website with phpBB, Joomla and a few custom modules including a random image generator that uses the Picasa Web Albums API and a event list that uses the Facebook Graph API. Recently I was elected to serve as Media and Communications officer for the university Sports Union, a position that I accquired due to the previous work that I have put in with the skydiving club.

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
I use alot of open source software in my day to day business. From desktop programs to web applications such as PhpBB, Joomla and of course, MediaWiki. Over the last few months I have studied alot of the code of MediaWiki in order help me better understand it, and have submitted two patches in that time. (12021, 29236)

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.