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 3
2/25 - 3/8

Co-ordinate with Analytics to get the Dashboards up

iOS

 * Fix bugs that get reported from the Beta
 * Multiple File Uploads
 * Style login screen ✅
 * set user-agent

Android

 * Fix bugs that get reported from the Beta ✅
 * Multiple File Uploads

Server-side

 * Account creation API captcha support (brion)
 * Analytics Dashboards (yuvi)

Design

 * Post Upload workflows
 * Multiple file workflows
 * Account creation workflows for iOS
 * Campaign workflows Android & iOS

Iteration 4
3/11 - 3/22

Backlog

 * More robust error handling for non-network errors
 * 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
 * drop ios 5 -- check usage (waiting on updated stats)
 * 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
 * Detect license for non-camera uploads (Flickr, picasa, etc.)
 * add Categories during initial upload
 * add Categories to previous uploads
 * slideshow mode

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