Wikimedia Apps/Commons

Features
End Goal: Have an app that expereienced 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

Iteration
Date: 1/28/13 - 2/08/13

Android

 * https://github.com/Wikimedia/android-commons
 * https://github.com/Wikimedia/java-mwapi
 * https://github.com/wikimedia/android-mwlogin

Tasks

 * 1) Persistant Secure Login ✅
 * 2) Upload a photo to commons (only via share intents - no launchers) (background uploads!) ✅
 * 3) Be able to set title, description, select categories ✅
 * 4) Able to queue and upload multiple files (shouldn't have to wait for one to finish downloading before next starts) ✅
 * 5) Feedback on what is happening via Notifications (not too spammy!)
 * 6) Ability to cancel a specific upload
 * 7) Tag mobile uploads appropriately, to enable tracking
 * 8) My uploads (queued, currently uploading, previous)
 * 9) Compatibility with Android 2.3

Plumbing

 * 1) Setup Maven for http-fluent ✅, java-mwapi ✅, android-mwlogin ✅ and commons app ✅

iOS
https://github.com/Wikimedia/Commons-iOS

Tasks

 * 1) Persistant Secure Login (use iOS Keychain services for storage) ✅
 * 2) Select photos from gallery or take photo in app ✅
 * 3) Upload a photo to commons (upload while app is foreground; no background uploads yet?) ✅
 * 4) Upload using async i/o ✅
 * 5) Be able to set title, description [description done in demo app]
 * 6) Retry when upload fails (I should never have to type title, description, etc more than once)
 * 7) Able to queue and upload multiple files (shouldn't have to wait for one to finish downloading before next starts)
 * 8) show queue in the app, allow canceling
 * 9) link to your already-uploaded images on mobile web

Focus Areas

 * 1) Compatibility with iOS 5.0 and later
 * 2) * need to disable constraints; pull req broke toolbar positioning though
 * 3) Appropriate retry functionality
 * 4) Does not 'fail silently' -- good error messages everywhere
 * 5) Clean progress bar, backgrounded i/o ✅

Needs Design

 * Account creation
 * Discovery/Browse
 * Upload (non intent or gallery based)
 * My Contributions
 * Upload Later

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

Backlog

 * My contributions
 * Account creation
 * Account tracking
 * Discovery/Browse
 * My contributions
 * Upload later
 * Campaign