MobileFrontend/Photo upload

Overview
This page is intended as a general discussion of photo uploads in the context of Wikipedia on mobile devices and related projects such as Wiki Loves Monuments. For specific documents on use cases and functionality, see the following:
 * Use cases
 * Wiki Loves Monuments-specific approach
 * Data and feedback
 * WLM App Workflow wireframes
 * General functional requirements
 * Web Basic Workflow mock-ups
 * App Basic Workflow wireframes
 * Advanced Workflow mock-ups
 * Advanced Workflow wireframes
 * Analysis
 * Initial enhancement bug 32286
 * Integration of campaign metadata in Upload Wizard 33341

The ability to upload photos is a form of content contribution that is particularly suitable for nearly all mobile devices. Recently, community-led projects such as Wiki Loves Monuments used contribution of photos as a major form of increasing new participation in Wikimedia projects and bringing high-quality content to Wikimedia Commons that can improve the quality of articles in Wikipedia. The software that met the initial needs of that project is called Upload Wizard, and that has become a standard way to contribute photos on Commons.

The main goal of this new project is to develop a comprehensive approach to photo uploads across a wide range of mobile devices, using a browser or app, and in two forms: direct upload to Commons (aka Photo Upload Basic) and upload from a Wikipedia article or other front-end (aka Photo Upload Advanced). In general, there will be a design goal of game-ifying the photo upload experience.

iPhone constraint
One constraint that must be clarified up front is that iOS devices do not offer file access from a web browser. This means that browser-based upload is not easy to enable on iPhone or iPad. Device detection in that case must exclude usage of browser-based upload and reference an app-based approach.

Proposed solutions
In order to support Wiki Loves Monuments and take advantage of that contest's increasing popularity, the initial direction is to develop a WLM App, using the PhoneGap framework and re-using elements of the existing Wikipedia apps. This app will be for Android first and iOS second. The details of the WLM App are described in some of the pages referenced above.

Depending on available resources, the next development milestone will be a web-based version of mobile uploads that re-uses the current Upload Wizard. This is currently proposed in two steps: Basic and Advanced. If timing allows, it may be possible to address minimal WLM functionality in the Basic version. It is not yet clear if the development of the Basic version will happen in the June-July timeframe, which could meet the timeframe of WLM in September.

Sequence and timeframes
The proposed steps in this project are as follows:


 * WLM app for Android (May-Aug)
 * WLM app for iOS (Jul-Aug)
 * Basic web version (Jul-Aug or later, depending on resource)
 * Advanced web version (Oct-Dec)
 * Advanced app version as extensions of our Wikipedia apps (Oct-Dec)

Following this, depending on user feedback and relative success in increasing both the quality and quantity of contributions, there could be a further stage of development that introduces social dynamics.

Basic workflow, web
The basic workflow is based on current functionality using Upload Wizard on Commons.

In this workflow, users select a general upload command as the starting point. This launches the login process and opens a mobile version of Commons dedicated to the upload process with a beef explanation. From here, a mobile version of the upload wizard takes the user through the upload, licensing and description steps, and the licensing step is simplified by presenting the case of content created by the user as the default. Also the category can be pre-filled as "Android browser upload" or "Android/iOS app upload."

NOTE: Since upload from a browser on iOS devices is not possible, device detection needs to treat iOS browsers as a special case that is excluded from this workflow. We should also provide a link to our app on the App Store, once our app supports this workflow.

Advanced workflow, web
The advanced version of photo upload is based on the use case of "Nearby article needing photo or geo-location data." And this should incorporate game dynamics.

In this workflow, a user is browsing an article in the Nearby view that is marked as lacking a photo or geo-location data. An obvious invitation to contribute a photo is highly visible on the article (such as a blank box with a question mark and the text, "Add your photo").

Upon clicking the invitation, the user enters a process similar to the basic workflow, shifting automatically to Commons from Wikipedia with a brief explanation. In addition, an ID of some sort from the article is passed to the upload wizard.

While the photo is curated on Commons, the article ID remains with it and ultimately enables the photo to be placed into the appropriate article. Then the photo becomes part of the article editing process on Wikipedia.

In the use case of adding a photo to add geo-location data, the upload process includes a way of extracting the geo-tag from the photo and preserving it alongside the article ID, so that the geo-location data can be added to the article later.

This workflow includes several initiation points, such as from the Nearby view in an app, and ways of rating or curating photos.

Eventually, we may consider a condensed workflow in which the article (or geo data) is added to the article at the same time as the photo is uploaded to Commons.

A special version of this workflow is based on Wiki Loves Monuments.