Commons Mobile upload app

The following document describes the design for the Commons Mobile upload app.

See also Apps/Commons

Rationale
Mobile phones have overtaken point and shoots as the most used cameras, yet there is no easy way to upload a picture from a mobile directly (and properly!) into Commons. This app aims to fix that.

Use Case #1: Simple Upload for experienced Commons user
Galadriel is an experienced Commons user who already has uploaded many files to Commons using the UploadWizard. She is taking a nice evening stroll when she comes across a scene that would make a wonderful addition to Commons. She has a phone with a nice camera, so takes a picture with the inbuilt camera app. Instead of going home, remembering to transfer the image, and then uploading it, she wants to be able to upload it then and there - and then move on. She is a good Commons citizen, so wants to make sure that the title is descriptive and appropriate categories are added.

Acceptance Criteria

 * 1) Able to upload any image from the Phone to Commons (via Android 'Share')
 * 2) Easily add a title & description
 * 3) Easily add as many categories as needed, with autocomplete wo make adding accurate categories faster
 * 4) Shows progress of upload and a notification when upload is complete
 * 5) Taking and uploading a photo to commons should be as fast as uploading a picture to Instagram

= Features =
 * Upload
 * Image
 * Simple
 * Advanced
 * Audio
 * Video
 * Discovery
 * Triage
 * Campaigns

Status & Schedule
Yuvi is working on this in his spare time. Notnarayan is designing this in his spare time.

v1 of the app is a super-simple version that just lets you Share any image from your phone to Commons after adding appropriate metadata.

The underlying Java MediaWiki API library has been developed with rigorous unit tests. That work is complete.

Work on the App itself is currently ongoing. Source and progress can be checked on github. It can currently upload files and has a secure way of saving user credentials. See testwiki for the test images that are uploaded as part of testing from the app

App Developement
The current plan is to build this as a purely native Android application.