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
 * Software deployments schedule

Previous months:
 * /September 2011

Item syntax: Examples:
 * Item
 * [Needs consensus] Deploy unicorns [Brion/Tim]
 * Deploy unicorns [Brion/Tim] [DONE]

Platform/Dev-Ops

 * MW1.18 deployment (~9/19-10/5) [DONE]
 * Continuous integration improvements (by ~10/31)
 * Stable Jenkins setup for PHPUnit tests
 * TestSwarm integration
 * Git conversion - prelim test conversions early in month [Chad/Brion]
 * [to finalize] "git boot camp" @ WMF tech days and/or NOLA hackathon [ http://etherpad.wikimedia.org/GitBootcamp ]
 * Translate extension deployment on meta [Sam]
 * [needs discussion] Enable on MediaWiki.org?
 * MediaWiki 1.18 tarball release [Sam]
 * Make decision regarding project parameters for inline template scripting [discuss in NOLA]
 * Lua or Javascript V8 or something else?
 * Push code review on trunk toward zero
 * Git workflow architecture review [Chad/Brion]
 * CI tests get run when a developer chooses to push to the stage between their branch and the mainline branch
 * this stage is roughly equivalent to merge requests on github & gitorious -- show test results to reviewers on a more or less completed chunk of code (may be one or several commits, and can be updated & resubmitted)
 * Agree on implementation strategies regarding remaining development process questions, e.g. how to handle multi-repo commits
 * [Needs review] Database-backed session handling
 * [Needs review] SwiftMedia deployment (and FileRepo refactoring to prepare) [Aaron]
 * AOSA chapter draft done and submitted to the editors [Guillaume]

Ops

 * Lucid upgrade [Peter] - 32 apache servers more to go
 * RT1612 - Emergency security patches [DanielZ] - 2/3 of squids done - WIP
 * Infrastructure/Network Penetration Audit [in progress now]
 * Puppet/git migration [DONE]
 * test labs deployment [Ryan]
 * bits deployment in eqiad with varnish3 [Asher/Mark]
 * external storage replication to eqiad, snapshot backups [Ben]
 * finalization of Tampa router migration [Mark/Leslie]
 * knams router move [Mark/Leslie]
 * /home move to NetApp [Mark]
 * finish upgrade/install of application servers (Lucid) [Peter]
 * Swift integration for media storage [Ben/Aaron] (see above)
 * fundraiser preparations (separate section) [Jeff]

Data Analytics

 * Hiring
 * Monitoring cleanup (monitor packet loss stats)
 * Monthly Report Card

Fundraising

 * GlobalCollect integration
 * security audit
 * move to new LVS server (with BGP) for payments [DONE]

Mobile/Offline

 * Release first beta of Android port of Wikipedia App [Tomasz] [internal release done, public release 10/6(ish)]
 * Bug fixes to iOS app due to memory leaks [First pass done]
 * Release of Android app to market [Nitobi] [on schedule]
 * Determine product requirements for release 2 of Android app and begin development [Tomasz, Phil, + others]
 * Decommission hawhaw and ruby gateways [Ops + Tomasz + Patrick] [on schedule]
 * Develop interlanguage and language switching for mobile web; tackle other first prioritized feature requirements [Tomasz & Patrick]
 * Build out better testing setup for mobile [Mobile team]
 * Build out batch collections cluster [pending hardware - http://rt.wikimedia.org/Ticket/Display.html?id=1593] [Tomasz + Ops]
 * Kiwix beta release [Emmanuel]
 * First UI review of MobileFrontend extension [RFP]

Features

 * Finalize UploadWizard multi-file selection
 * Finalize UploadWizard chunked uploads (to ensure reliable large file uploads)
 * Make decision regarding follow-up MoodBar/feedback dashboard development based on capacity availability
 * Begin development on article creation workflow and NPP projects
 * Small WikiLove fixes (no more than a week)
 * Finalize TimedMediaHandler review and complete first round of fixes
 * Kick-off AFT vendor development project with initial focus on free-text comments + moderation
 * Small scale WebFonts deployment

Platform/Dev-Ops

 * Finish code review on trunk
 * Cut 1.19 release branch
 * Git conversion begins \o/
 * Finish up specific Git management scripts
 * to support WMF workflow
 * i18n updates
 * new developers
 * SVN import, post-release/deployment make r/o switch
 * Deployment scripts
 * Make Gerrit behave like we want it to
 * Will Gerrit work as repo browser, or only patch manager?
 * 1.19 deploy (from SVN)
 * ResourceLoader 2
 * Move towards git-based development and release process
 * real-time visualiztion of all mediawiki profiler data [asher]
 * include visualization timepoints of all code deploys
 * VipsScaler

Ops

 * text/upload deployment in eqiad (squid/varnish) [Asher/Mark]
 * https support for mobile
 * security work with audit results
 * start work on deployment of application servers in eqiad
 * mediawiki deployment changes (ops support)
 * labs
 * git support
 * external storage recompression [Ben/Tim]

Mobile/Offline

 * Mobile/Offline/i18n - Hackathon
 * MobileFrontend feature iteration
 * possibly including first "Save this for later" or other offline functionality
 * Kiwix beta release

Features

 * Prototype deployment of new page patrolling tool, article creation flow iteration 1
 * TimedMediaHandler limited test deployment
 * [needs review] RL2/Gadgets improvements deployed with MW 1.19

Platform/Dev-Ops

 * First release from git mainline development branch
 * Move towards continuous integration via git, goalpost: weekly deployment
 * Jenkins (Testswarm/PHPUnit tests) on git branches

Mobile/Offline

 * MobileFrontend feature iteration
 * Kiwix final release

Features

 * Test deployment of visual editor for limited use case, possibly only experienced editors
 * First limited production deployment of AFT improvement iteration
 * Full scale WebFonts deployment

Platform/Dev-Ops

 * HipHop deployment preparation
 * Create HipHop instance that includes a full production image
 * run CI tests on HipHop as well as Zend
 * push further necessary fixes into the detail plan
 * Begin developing framework for integration testing
 * possibly Selenium

Features

 * Production deployment of new page patrolling + article creation flow improvements
 * Personal Image Filter development presumed to begin, may be done via vendor development. Support third party block lists instead of categories?
 * Deploy AFT improvement iteration

Platform/Dev-Ops

 * HipHop decision point and development schedule

Features

 * GlobalProfile development to kick off in January, provided development capacity is available
 * Finalize development of iteration 2 on NPP / aticle creation flow
 * Deploy AFT improvement iteration

Mobile/Offline

 * First MobileFrontend feature related to mobile editing (e.g. section editing or annotation)

Features

 * Prototype deployment of GlobalProfile
 * Deploy iteration 2 on NPP / article creation flow
 * Deploy AFT improvement iteration

Features

 * Small scale production/default deployment of visual editor

Mobile/Offline

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

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)
 * Photo/media moderation tools; additional patrolling and moderation tooling
 * Help features
 * Mentoring features
 * Other real-time features, chat

Continuous Responsibilities

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

Parking lot and todos

 * Details of git migration (extension mgmt, permissions, code review tool etc.)
 * More work on product backlogs for features and mobile
 * Ops section
 * Fundraising flesh-out
 * cf http://www.mediawiki.org/wiki/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