Roadmap

Background: In recent years, Wikimedia Foundation's engineering planning has primarily taken place in a combination of internal goals documents and public project-level documentation. The purpose of this page is to establish a practice of sharing holistic engineering goals, initially primarily with a short term horizon, as a public document with open participation.

See also:
 * Product Whitepaper for Wikimedia Foundation product priority justifications; Strategic Plan for long-term WMF  goals, some of which are engineering goals
 * Roadmap/Archive for an earlier effort to create a roadmap more focused on point releases of the MediaWiki software

Previous months:
 * /2011/September
 * /2011/October
 * /2011/November
 * /2011/December
 * /2012/January

Item syntax:
 * Project name
 * [Qualifier keyword] Action item [Owner(s)] [Completion keyword]

Examples:
 * New unicorn engagement
 * [Needs consensus] Deploy unicorns [Brion/Tim]
 * Deploy unicorns [Brion/Tim] [DONE]

Operations

 * Data Centers
 * upload.wikimedia.org@eqiad using varnish (replacing squid)[Mark]
 * May need to be postponed if new switch is required
 * ESAM router replacement (from Foundary to Juniper) [Mark/Leslie]
 * Lucene Search deployment@EQIAD [Peter/Asher/Jeff]
 * New Nagios server@EQIAD [Leslie]
 * Test effectiveness of Flash Drive [Asher] [DONE]
 * prep Stat1 to replace Bayes [Ben/DZahn/EZachte]
 * initial setup [DONE]
 * DB Schema changes - SHA1 requirements for post r1.19 [Asher]


 * Swift
 * Add more SWIFT nodes for thumbnails [DONE]
 * Investigate stability issues with new thumbs servers - blocker for originals migration
 * Prep for SWIFT to replace 'Originals' - Setup h/w and install SWIFT [Ben, RobH]


 * Wikimedia Labs
 * Labs features rollout
 * Build out LVS in Labs [Ryan/Mark]
 * Create squid instance in Labs [Ryan/Sara]
 * Add resilience to Lab Controller service by building redundant Controller services in EQIAD which includes DNS, LDAP, MySQL [Sara]


 * Data Dumps
 * See Dumps/Development 2012 for 2012 plans.

Editing tools

 * Visual editor
 * contentEditable planning/architecture with Wikia team
 * more UI integration (context menu), API work
 * data model work
 * Trevor is on medical leave, Roan will be in Europe


 * Parsoid
 * Try to nail down as much of the bugs on the todo in order to get a testing model up for VE [Gabriel]
 * Gabriel is on vacation, work will resume more aggressively in April

Participation and editor engagement

 * Article feedback
 * Initial research results and milestone report [DONE]
 * Additional features: hiding/oversight; dismiss in UI [DONE]
 * A/B testing of "Improve this Page" link placement [DONE]


 * Feedback Dashboard
 * Feature Evaluation [Dario]


 * Article Creation Workflow
 * Deployment on Labs for community feedback [DONE]
 * Invite community feedback and make changes


 * Page Triage
 * Deploy first sprint to labs: List View and other basic features [Date TBD]
 * Concurrency notification: priority TBD

Multimedia tools

 * TimedMediaHandler
 * Complete labs setup on http://commons.wikimedia.beta.wmflabs.org/ [DONE]
 * Begin testing on labs setup
 * [April] code review and deployment

MediaWiki infrastructure

 * ResourceLoader
 * Gadgets 2.0 deployed after MW 1.19 (dependent on REL1_19 schedule) [in progress]
 * Still needs significant work, may need to be postponed.

Feature support

 * Wikipedia Education Program
 * Complete testing in Wikimedia Labs and incorporate community feedback - http://education.wmflabs.org/ [Jeroen, QA via Chris]

Internationalization

 * Internationalization and localization tools
 * Start work on universal language selection UI (for desktop and mobile) [i18n team + UI/UX contractors]; exact scope TBD

Product

 * Mobile Navigation product spec [Phil]
 * Photo Upload Basic and Advanced [Phil] [DONE]
 * Mobile App V1.2 backlog [Phil, Yuvi, Tomasz]

Mobile design

 * Contact us [Heather] [DONE]
 * Footer [Heather] [DONE]
 * Reference reveal [Heather] [DONE]
 * Language Selection [Lindsey]
 * Upload Basic Workflow [Lindsey]
 * Mobile Navigation [Lindsey]
 * Opt in / Opt out [Lindsey]

Mobile Web

 * [Jon, Yuvi, Arthur, Max]
 * New look & feel
 * Full screen search (without preview) [Jon]
 * Beta [DONE]
 * Footer [Jon]
 * Beta [DONE]
 * Reference reveal
 * Beta [DONE]
 * New collapsible sections [Jon]
 * Beta [DONE]
 * De-WMF-ification of MobileFrontend [Arthur] 34145 34144 [DONE]
 * Deploy latest Mobile Fronted changes [Arthur] [DONE]

Wikimedia Apps

 * Begin testing GPS API [Yuvi & Max]
 * Merge PlayBook Wikipedia Pull Request App [Brion] [DONE]
 * Wikipedia Android app
 * Release V1.1beta3 to testers [Yuvi & Jon] [DONE]
 * Release V1.1beta4 [Yuvi]
 * Release V1.1 to market [Yuvi]
 * Wikipedia iOS app
 * Release V3.1beta2 to testers [Yuvi] [DONE]
 * Release V3.1beta3 [Yuvi]
 * Release V3.1 to market [Yuvi]
 * Wiktionary app
 * Community discussion about standardizing templates [Amgine]

Wikipedia Zero

 * Push WP:Zero extension to production [Preilly+Ops] [DONE]
 * Digi Malaysia(Telenor) rollout [Preilly+Ops]

Wikipedia over SMS/USSD

 * WMF Production Rollout for Vumi over Gtalk[Patrick]

J2ME App

 * Vendor selection [Tomasz]

Special projects

 * Kiwix on Android
 * Improving peformance of openZim PhoneGap plugin
 * ePub Collections extension [Ops+PP]

MediaWiki Core

 * MediaWiki 1.19/Roadmap
 * Postmortem 1.19 after the 1.19 deployment [RobLa] - started at MediaWiki 1.19/Post-deploy retrospective, RobLa to finish later this month


 * Git/Conversion [Chad/Antoine/Sumana]
 * Finish up specific Git management scripts / changes (staging on Fenari (bug 34138), i18n (bug 34137)) [DONE]
 * Make Gerrit behave like we want it to (hooks, permissions, gitweb redirects) [ongoing]
 * SVN import, post-release/deployment make read-only switch [DONE]


 * SwiftMedia
 * Continue deployment/bugfixing work on thumbnails [Aaron]

Analytics

 * Report card
 * Prototype first release -- Focus on new UI layer


 * Log collection pipeline

TL;DR

 * Wikimedia blog maintenance
 * Rewrite the layout so it can be centered [Guillaume] [In progress]
 * Deploy recent Wikimedia-specific theme and plugin updates (RT# created) [Ops] [DONE]

QA

 * Test environment

Operations

 * Data Centers
 * Convert Upload cache from using squid to varnish (phase 2)
 * upload.wikimedia.org @ Tampa
 * Fundraising infrastructure buildup@ EQIAD
 * own firewall
 * own payment clusters
 * OTRS Upgrade
 * db9/db10 upgrade (db for etherpad, RT, Bugzilla, ..)
 * Memcached Deployment @ EQIAD
 * Phase 1 (prep infrastructure & limited rollout)
 * new UDP2log infrastructure @ EQIAD


 * Swift
 * Prep Swift infrastructure to be ready for 'Originals' (Commons) deployment - Testing [Ben/Aaron]


 * Wikimedia Labs


 * Data Dumps
 * EQIAD test/parallel runs
 * Test suites for XML Dumps
 * own MQ server

Editing tools

 * Visual editor
 * Small scale production/default deployment


 * Parsoid


 * Internationalization and localization tools

Participation and editor engagement

 * Article feedback
 * Continued development of Feedback Page: Abuse filter integration, Feature this Post, Mark as resolved
 * Noise reduction/management for Feedback Page
 * Potential deployment of AFT to broader list of articles on enwp


 * Feedback Dashboard
 * No active work planned


 * Article Creation Workflow
 * Deployment of A/B to x% of new users to English Wikipedia [Date TBD]


 * Page Triage
 * Continued development (scope TBD)

Multimedia tools

 * UploadWizard


 * TimedMediaHandler

MediaWiki infrastructure

 * Gadgets 3.0
 * Includes review of Salvatore's "Gadgets user preferences" work

Feature support

 * Wikipedia Education Program

Reader tools

 * Personal image filter

Product

 * Mobile Article Feedback feature definition [Phil]
 * Minor Editing [Phil]
 * Offline saving [Phil]

Mobile Web

 * Contact us [Jon+Arthur]

Wikimedia Apps

 * Wikipedia Android app
 * Release V1.2 beta


 * Wikipedia iOS app
 * Release V3.2 beta

MediaWiki Core

 * MediaWiki 1.19/Roadmap


 * MediaWiki 1.20/Roadmap


 * Continuous integration
 * Finish making beta labs suitable/trusted for testing [Antoine, Chris]
 * Begin developing framework for integration testing [Antoine, Chris McMahon]
 * possibly Selenium


 * Git/Conversion [Chad/Antoine/Sumana]
 * First release from git mainline development branch


 * SwiftMedia
 * Start deployment work on originals


 * Lua scripting


 * Disk-backed object cache
 * DB sharding


 * Interwiki transclusion


 * IPv6 support
 * Prepare for IPv6 Launch (June 6th) [Aaron,Mark?]
 * rc_ip schema change to be lumped into 1.19 schema changes


 * Superprotection (notes to be copied to wiki somewhere by RobLa or Tim) [Sam?]


 * MathJax [Brion/TBD]
 * experimental MathJax rendering mode for Math extension almost ready to deploy [Brion]
 * needs IE 6-8 fix

Analytics

 * Analytics/Reportcard


 * Log collection pipeline

TL;DR

 * Wikimedia blog maintenance


 * Wikimedia operations history and architecture document


 * Wikimedia server error page

QA

 * Test environment

May 2012

 * General engineering process checkin (Berlin?)
 * Config backend [Chad]
 * Evaluate WikiFactory from Wikia

Tech Ops

 * Swift
 * Swift infrastructure ready for 'Originals' (Commons) deployment - [Ben/Aaron]

Mobile / Offline

 * First MobileFrontend feature related to mobile uploads (e.g. media upload beta).

Platform

 * Prepare IPv6 support for IPv6 Launch (June 6th)
 * Revisit Gerrit, git-review, and other code review/workflow tools (3 months after the git switch) to see whether to switch to Phabricator or another code review tool

Mobile / Offline

 * USSD gateway rollout
 * SMS gateway rollout
 * Varnish as default cache for Mobile
 * New article creation
 * Watchlists
 * Diffs
 * Search improvements
 * Kiwix on Android
 * Partner integration (various)
 * Lazy loading articles
 * reduce bandwidth requirements for some users
 * WikipediaZero

Features

 * Affiliation tools for WikiProjects [build on GlobalProfile]
 * Re-energize LiquidThreads (rename it?!) (may need refactoring for notification streams)
 * Respond to open design questions
 * Photo/media moderation tools; additional patrolling and moderation tooling
 * Help features
 * Mentoring features
 * Other real-time features, chat
 * Dependent on MediaWiki 1.20 deployment date, ResourceLoader 2 -- mostly the Gadgets-extension work which is (as of Feb 2012) in a branch.
 * Gadgets 2.0?

Platform / Dev-Ops

 * Extension management -- depends on config mgmt revamp

Continuous Responsibilities

 * Code review
 * RT review / ops tasks
 * Community extension review and deployment
 * Bug triages and general bug fixes
 * New extension deployment (Review queue)
 * Labs maintenance
 * Test infrastructure maintenance

Parking lot and todos

 * Details of git migration (extension mgmt, permissions, code review tool, Gerrit-Jenkins integration, etc.)
 * More work on product backlogs for features and mobile
 * Ops section
 * Fundraising flesh-out
 * cf Wikimedia Platform Engineering and merge as appropriate
 * Namespace hacks for development of simple language wikipedias in languages other than English without server, database, or major wiki installation provisioning
 * Most popular related articles


 * Replicated session handling
 * HipHop deployment (deferred because Facebook has a different shiny new thing)
 * Extension:Configure (merge with config management?)
 * Unicode normalization considerations
 * Schema handling improvements (Abstracted database schema description, schema updaters to make the multiple schema variants for MySQL 4.0 and 5/UTF-8 more maintainable)
 * Parallelizable, restartable dump runner (notes; Clean up the currently fragile externaldump process, make our internal backups more reliable
 * OAI cleanup (Clean up OAI exporter and importer, add time-delay features
 * audit users of OAIPMH and check how search indexing uses it
 * Deletion queue system (notes; Human-helpful process improvements
 * Integrated heuristic checks, improved patrolling (human-helpful process improvements)
 * On-wiki namespace manager (Special:Namespaces) (original wikidata branch specs and see notes)
 * Wikidata (WMDE)
 * BlameMaps (WMDE)
 * graphical UI on top of improved backend for configuration management
 * Various HTTPS support fixes