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
 * /2012/February

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
 * Test effectiveness of Flash Drive [Asher] [DONE]
 * prep Stat1 to replace Bayes [Ben/DZahn/EZachte]
 * initial setup [DONE]
 * Deploy Peering capability@eqiad [Leslie} [DONE]


 * Swift
 * Add more SWIFT nodes for thumbnails [DONE]
 * Investigate stability issues with new thumbs servers - blocker for originals migration
 * Initial investigation done, DC improvements done, firmware upgrade ongoing
 * Prep for SWIFT to replace 'Originals' - Setup h/w and install SWIFT [Ben, RobH]
 * Setup SWIFT in Wikimedia Labs [Ben] [DONE]


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

Editing tools

 * Visual editor
 * contentEditable planning/architecture with Wikia team [DONE]


 * Parsoid

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 + Giovanni have begun work]


 * Article Creation Workflow
 * Deployment on Labs for community feedback [DONE]
 * Invite community feedback and make changes [DONE]
 * Work with Steven/Maryana on user draft template [IN PROCESS]


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


 * Echo
 * Initial conversations for possible Wikia/WMF collab [DONE]

Multimedia tools

 * TimedMediaHandler
 * Complete labs setup on http://commons.wikimedia.beta.wmflabs.org/ [DONE]

Feature support

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


 * Fundraising
 * Deal with fraud issues [DONE]
 * Get recurring payments up

Internationalization/Localization

 * Internationalization and localization tools
 * Design discussions on Universal language selection UI (for desktop and mobile) [i18n team + UI/UX contractors] [DONE]
 * twn migration to git/gerrit [Niklas] [DONE]
 * Added keymaps for language support to Narayam [i18n team] [DONE]
 * Added Lohit font updates from upstream to WebFonts [i18n team] [DONE]

Product

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

Mobile design

 * Contact us [Heather] [DONE]
 * Footer [Heather] [DONE]
 * Reference reveal [Heather] [DONE]

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

 * Merge PlayBook Wikipedia Pull Request App [Brion] [DONE]
 * Wikipedia Android app
 * Release V1.1beta3 to testers [Yuvi & Jon] [DONE]
 * Release V1.1RC1 [Yuvi] [DONE]
 * Release V1.1 to market [Yuvi] [DONE]
 * Wikipedia iOS app
 * Release V3.1beta2 to testers [Yuvi] [DONE]
 * Release V3.1RC1 [Yuvi] [DONE]
 * Release V3.1 to market [Yuvi] [DONE]
 * Wiktionary app

Wikipedia Zero

 * Push WP:Zero extension to production [Preilly+Ops] [DONE]

J2ME App

 * Begin vendor selection [Tomasz] [DONE]

MediaWiki Core

 * 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] [ongoing]

Analytics

 * Report card
 * Prototype first release -- Focus on new UI layer [partial]
 * Aiming on first release in April http://lists.wikimedia.org/pipermail/analytics/2012-March/000003.html


 * Log collection pipeline
 * IP range filtering, geocoding at country, city and region level [DONE]

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]


 * GSoC developer relations management (ongoing)

QA

 * Improvements to beta (deployment prep) setup in Wikimedia Labs to support testing (ongoing)
 * Planning for community testing User talk:Cmcmahon (work going into April)

Operations

 * Data Centers
 * Deploy 2nd Transit (internet) network carrier @ EQIAD [Leslie]
 * Lucene Search deployment@EQIAD (parallel test)[Peter/Asher/Jeff]
 * Lucene Search @ EQIAD rollout [Peter/Asher/Jeff]
 * New Nagios server@EQIAD [Leslie][done but now upgrading to Icinga]
 * DB Schema changes - SHA1 requirements for post r1.19 [Asher - still wip]
 * 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]
 * Fundraising infrastructure buildup@ EQIAD
 * own firewall
 * own payment clusters
 * OTRS Upgrade
 * db9/db10 upgrade (db for etherpad, RT, Bugzilla, ..)
 * Phase 1 (prep infrastructure & limited rollout)
 * new UDP2log infrastructure @ EQIAD


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


 * Wikimedia Labs
 * New compute node for capacity [Ryan]
 * MySQL @ Labs on GlusterFS nodes
 * 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
 * EQIAD test/parallel runs
 * Test suites for XML Dumps
 * own MQ server

Editing tools

 * Visual editor
 * complete backlog on data model [Roan] [IN PROCESS]
 * [May] Finish contentEditable and UI integration
 * [May] Complete data model
 * [May] Complete API for inspector and toolbar
 * [May] Sandbox deployment
 * [June] Release candidate with round tripping.
 * [July] API for pluggable nodes?
 * [July] mediawiki.org deployment of VE
 * Roan is 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]
 * [May] Parsoid-VE integration

Participation and editor engagement

 * Article feedback
 * Abuse filter integration:
 * Testing of one filter on English Wikipedia [April 2]
 * Deployment of multiple filters on English Wikipedia [April 30]
 * Feature this Post, Mark as resolved [April 23]
 * Additional features for oversighters/monitors [April 23]
 * Edit this page - Option 4 ( CTA instead of feedback form)
 * [May] New feedback forms (Alternative versions of Option 1)
 * [May] CTA 4 (Sign up or login)
 * [May] CTA 5 (Get email notifications)
 * [May?] 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
 * Prototype deployment on English Wikipedia (in parallel with Special:NewPages) [w/o April 9 or 16]
 * Work on NO_INDEX (pending RFC)
 * Zoom View: begin development, scope TBD


 * Echo
 * Examine hooks into current MW infrastructure
 * Look into PHP default synchronous notifications
 * [June] Build PHP default synch notifications
 * [June] Look into queue based infrastructure extension
 * [July] Start replacing current MW notifications with common notifications infrastructure

Multimedia tools

 * TimedMediaHandler
 * Verify labs is ready for testing (issues with beta on labs) [IN PROCESS]
 * Begin testing on labs setup
 * [May] Final code review
 * [May?] Release


 * [UploadWizard]
 * No current work planned

MediaWiki infrastructure

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

Feature support

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


 * Fundraising
 * Get recurring payments up [IN PROCESS]

MediaWiki infrastructure

 * ResourceLoader
 * Gadgets 2.0 deployed after MW 1.19 (dependent on REL1_19 schedule) [in progress]
 * Set up a first working setup in WMF labs [Roan, Timo]

Internationalization/Localization

 * Internationalization and localization tools
 * Universal language selection UI (for desktop and mobile) [i18n team + UI/UX contractors];
 * Translate extension enhancements [i18n team]
 * Narayam feedback functionality [i18n team]

Editor Engagement Experimentation (E3)

 * This new team focused on engineering for experimentation around strategies to reverse stagnating/declining participation in Wikimedia’s projects will be effective as of April 16. This team will be a cross-functional team with resources from the Community and Engineering/Product departments tasked specifically with conducting small, rapid experiments designed to improve editor retention. We already know some of the fixes that will solve the editor retention problem, and we're working on those already. The purpose of *this* team will be to identify the fixes we don't yet know about. This engineering team will report to Alolita Sharma with two new software developer positions to be hired in the current fiscal year. See positions for Senior Software Developer (http://hire.jobvite.com/Jobvite/Job.aspx?j=oHDiWfwi&c=qSa9VfwQ)and Software Developer (Front-End).

Product

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

Design

 * Language Selection [Lindsey, consultation with Pau]
 * 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]
 * Prod
 * Footer [Jon]
 * Prod
 * Reference reveal
 * Prod
 * New collapsible sections [Jon]
 * Prod
 * Contact us [Jon+Arthur]
 * Remove dependence on the output buffer in prep for MF -> Core move
 * Demo lazy loading of article sections

Wikimedia Apps

 * Begin testing GPS API [Yuvi & Max]


 * Wikipedia Android app
 * Release V1.1.1 [DONE]
 * Release V1.2 beta ("the decoupling")


 * Wikipedia iOS app
 * Release V3.1.1 [DONE]
 * Release V3.2 beta ("the decoupling")

Wikipedia Zero

 * Digi Malaysia(Telenor) rollout [Preilly+Ops]


 * Community discussion about standardizing templates [Amgine]

Wikipedia over SMS/USSD

 * WMF Production Rollout for Vumi over Gtalk [Patrick]

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


 * MediaWiki 1.19/Roadmap
 * MediaWiki 1.19 tarball release [Sam]


 * MediaWiki 1.20/Roadmap
 * Bi-weekly deployment cycle begins
 * Complete 1.20wmf01 deployment
 * Start 1.20wmf02 deployment


 * 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
 * See MediaWiki 1.20/Roadmap section above.


 * SwiftMedia
 * Start deployment work on originals


 * Lua scripting


 * 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

 * Report card
 * Prototype first release -- Focus on new UI layer [partial]
 * Aiming on first release in April http://lists.wikimedia.org/pipermail/analytics/2012-March/000003.html


 * Log collection pipeline
 * 3 new filters: 2 Wikipedia Zero and one Teahouse filter

TL;DR

 * Wikimedia blog maintenance


 * 'Summer of Code 2012
 * Proposal evaluation and acceptance/rejection, starting community bonding period


 * Bug Squad formation and training

QA

 * Test environment

May 2012

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

Tech Ops

 * Convert Upload cache from using squid to varnish (phase 2)
 * upload.wikimedia.org @ Tampa
 * Swift
 * Swift infrastructure rollout for 'Originals' (Commons) deployment - [Ben/Aaron]
 * Deploy servers for Analytics Cluster
 * Deploy Memcached@EQIAD [Mark]

Features

 * TimedMediaHandler
 * code review of new changes and deployment

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

Tech Ops

 * Swift
 * Swift replicas @ EQIAD

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
 * Wikimedia server error page
 * Wikimedia operations history and architecture document


 * Disk-backed object cache
 * DB sharding


 * Interwiki transclusion
 * WMF cannot commit the time to merge this.