User:Trinhtomsk/GSoC 2012 application

Identity
Name: Trinh Hoang Nguyen Email: trinhtomsk {at} gmail {dot} com Project title: Integrate "upload from Flickr" proposed by Ryan Kaldari

Contact/working info
Timezone: Oslo-Norway UTC + 01:00 '''Typical working hours: '''Skype: nguyenhoangtrinh '''IRC: trinhtomsk
 * Monday - Friday: 04:00 PM - 10:00 PM'''
 * Saturday: 08:00 AM - 04:00 PM
 * Sunday: 08:00 AM - 08:00 PM

Project summary
There are bunches of images with metadata (geotag, nametag, etc.) available on Flickr. It is therefore beneficial for Wikimedia Commons to get images from big image hosting like Flickr. The target of the project is to integrate Flickr into UploadWizard. The UploadWizard will have an interface for automatically transferring an image from Flickr, including the image's metadata and license. UploadWizard will allow a user to get his own images from his Flickr account or images available to public on Flickr. In addition, users can search for images by keywords (title, tags). A user-friendly interface will be designed.

Required deliverables

 * A complete integration of Flickr into UploadWizard which allows users to transfer multiple images from Flickr to Wikimedia Commons, including images' metadata
 * Integrated UploadWizard will allow one to:
 * Get images with metadata which are available to public from Flickr.
 * Get images with metadata from his/her Flickr account. One needs to enter one of his/her username, userid, or email address.
 * Find images with metadata by providing keywords (tags, title).
 * If one knows exactly the links to Flickr images and the owners'username (or userid, email address) of the images. One can specify them manually.

If time permits

 * Other image hostings such as Picasa, Photobucket should be considered in integrating into UploadWizard in order to provide WikiMedia Commons users more choices.
 * Picasa API
 * Photobucket APIs

How to achieve the target:
Following sources are used as references: Tools, languages, technologies: Ajax, JavaScript, CSS, PHP (a little).
 * Translate Flickr image licence to Common licence template
 * Mass uploading Flickr photos to Wikimedia Commons
 * Upload an image from Flickr to Commons

There are some milestones of the project:

 * 21-May to 1-Jun: Get acquainted with  Wikimedia Commons, UploadWizard, how images are organized in  Wikimedia Commons, merging with trunk.
 * 1-Jun to 8-Jun:  Get acquainted with metadata of an image on Flickr, FlickrAPIs.
 * 9-Jun to 19-Jun: Design user-friendly interface for Flickr Form (textboxes where user can input keywords, username, email address or userid) for UploadWizard.
 * 19-Jun to 20-Jul: Coding (jQuery, Ajax, CSS)
 * 19-Jun to 25-Jun: Translate Flickr images license to Commons license template. Reference code can be used.
 * 25-Jun to 1-Jul: Get images from Flickr using keywords.
 * 1-Jul to 5-Jul: Show a thumbnail view of the images (perhaps it looks like this).
 * 5-Jul to 10-Jul: A box, which contains information of an image, will be showed when user clicks on the image.
 * 10-Jul to 20-Jul: User can freely select images that he wants to upload to Wikimedia Commons.
 * 20-Jul to 10-Aug: Test, and fix bugs.
 * 10-Aug to 15-Aug: Documentation.
 * 15-Aug to 25-Aug: Final submission.

About you
I received my diploma in computer science from Tomsk Polytechnic University, Russia in 2009. From Jan to Nov 2010, I worked at the University of Trento, Italy as a research assistant. From Dec 2010, I started pursuing my PhD in ICT system development at the University of Agder, Norway.

More information about me can be found here: https://sites.google.com/site/tomskboss/

Participation
Programming is always one of my hobbies. I have used many open source software for my study as well as research. However, I have never contributed any code to the open source community. As a developer, I feel ashamed of that. Hence, my purpose of participating Google Summer of Code is not only to gain experiences, but also to contribute my effort to the open source community.

Any other info
I have experience in working with JavaScript (jQuery) and FlickrAPIs. Some snapshots from my previous work pic1,pic2.