Wikimedia 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.

We are also working on uploads from the mobile web interface - see Mobile design/Uploads.

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.

Features
End Goal: Have an app that experienced commons users can use to easily upload Media

Each commons app will at the least have the following features. Additional features will be platform specific.


 * Login
 * Account Creation
 * Tracking
 * Discovery/Browse (to give users a reason to use app)
 * Single upload
 * Multiple upload
 * My contributions
 * Queues
 * Campaigns

from: Mobile Strategy: Jan-Mar 2013 by hfung

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 to 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

Needs Design (in priority order)

 * My Contributions
 * Upload (non intent or gallery based)
 * Account creation
 * Discovery/Browse
 * Upload Later
 * single contribution view along with image usage
 * assets (icons - action bar, status bar etc) for ios and android

Iteration 4
3/11 - 3/22

Android

 * Post Upload Actions
 * add Categories during initial upload
 * add Categories to previous uploads
 * share on social networks
 * Multiple File Uploads UI
 * More robust error handling for non-network errors

iOS

 * Post Upload Actions
 * add Categories during initial upload
 * add Categories to previous uploads
 * share no social networks
 * Set up translatewiki with Siebrand

Design

 * Campaign workflows for Android
 * Campaign Workflows for iOS

Server-side

 * Account creation API captcha support (brion)

Iteration 5
3/25 - 4/5

Backlog

 * iOS - Multiple File Uploads UI (pushed back an iteration from iOS)
 * GeoTagging
 * Video / Audio upload
 * Images / Pages nearby
 * 'Suggest to use on Page'
 * Acceptable use tutorial (adapt File:Licensing_tutorial_en.svg to small screen)
 * License selection
 * Sync Options (use whatever options the user has picked in his preferences in commons)
 * Upload similar
 * Discovery/Browse
 * Notifications (Usage & Edits)
 * Campaign Support
 * Pinch and Zoom
 * Image detail view
 * Fly out animation for icons post tapping take an image icon. This would capture the transition of 1 icon in the center to 2 flanking and 1 center icon
 * Detect duplicate files before upload


 * slideshow mode
 * About screen with version, license, and link to source
 * Check iOS issue with copy-pasting title adding "title" to text
 * Ability to dismiss keyboard on data input screen (iOS)
 * Warn if title includes a suffix, since we add one
 * Single upload without pushing all queue?
 * More graceful network error messages on iOS

Reports

 * 1) Total Uploads
 * 2) Total Unique Users uploading
 * 3) Details of uploads failing for non-network reasons (Title blacklist, etc).
 * 4) Graphs of different entry points to the app - Camera vs Gallery vs Share Intents (Android)
 * 5) Cancellations rates for the action intents (Camera, Gallery, Share)
 * 6) Failure stats for Login
 * 7) Inactive Logins (people who have logged in but have not uploaded)

Having everything splittable by Platforms (Devices, Operating Systems, App versions) would be nice too.

Schemas

 * 1) meta:Schema:MobileAppLoginAttempts
 * 2) meta:Schema:MobileAppUploadAttempts