October 2011 Coding Challenge/Mobile



= Coding Challenge: Mobile Photo Upload =

Of course, Mobile Wikipedia is great for learning about the things around you. But: We need pictures. Millions of people have phones. How can we take advantage of location and mobile cameras? Build an app, or extend the existing mobile gateway, to demonstrate your ideas.

Wikipedia's current primary mobile experience is through the mobile site. An extension to our software (MediaWiki) called "MobileFrontend" manages that experience. Once you've familiarized yourself with both MediaWiki and the MobileFrontend extension, as well as the API, it should be relatively straightforward to make changes.

If you're more comfortable in app development, our Android app (based on the Phonegap framework) is very easy to get into; see below.

Some questions to think about:
 * What's the call to action for a Wikipedia user to upload photos? Is this part of the reader experience, or a separate experience?
 * What can we do with location data in this context?
 * How do we ensure that photos have some basic metadata and correct licensing info attached? See our UploadWizard as an example.

Using the MediaWiki Upload API
If you're going to upload pictures, you probably need to know how the Upload API works. See the rest of the API documentation as well, and play with the live API.

Using Location APIs
GeoNames has a great API that allows you to pass in a latitude and a longitude and get back a long list of Wikipedia articles about nearby places. Here's an example query for that API. You can also read more about how GeoNames works at the GeoNames site.

You can also use the Wikipedia API to get further properties of these articles, e.g. '''|London|Paris&prop=images&redirects&imlimit=max which of them have images.

Mobile Application Development for Wikipedia
PhoneGap is a great open source platform for mobile development. There's an Android Wikipedia app which uses Phonegap and which you can fork on Github.