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 2

 * Archives of Previous Iterations

Date: 2/11/13 - 2/22/13

iOS

 * Visual Polish ✅ current iteration


 * Event tracking (Account creation, sign in, upload failure causes) ✅
 * i18n ✅
 * get in twn -- check status?
 * Push beta -- first rev ready on TestFlight
 * drop ios 5 -- check usage (waiting on updated stats)

Android

 * Visual Polish : current iteration ✅
 * Event tracking (Account creation, sign in, upload failure causes) ✅
 * Building appropriate schemas ✅
 * Android 2.3 compatibility ✅
 * i18n ✅
 * Push beta

Server-side

 * Account creation API update for captcha (brion)

Iteration 3
Co-ordinate with Analytics to get the Dashboards up

iOS

 * Account creation
 * needs server-side API (brion)
 * Multiple File Uploads
 * Campaign Support
 * set user-agent

Android

 * Account creation
 * Multiple File Uploads
 * Campaign Support
 * Fix bugs that get reported fromt the Beta

Server-side

 * Account creation API captcha support

Design

 * Campaign workflows Android & iOS
 * Post upload actions - share, upload new
 * Account creation workflows

Backlog

 * More robust error handling for non-network errors
 * GeoTagging
 * 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)
 * Analytics Dashboards
 * Upload similar
 * Discovery/Browse
 * Notifications (Usage & Edits)

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