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:
 * /2011/September
 * /2011/October

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

Platform / Dev-Ops

 * Continuous integration improvements
 * TestSwarm integration [Antoine, Timo, Chad]


 * MediaWiki 1.18 tarball
 * Beta release [Sam] [DONE]
 * RC release [Sam] - mid November [DONE]
 * 1.18.0 release [Sam] - by end of month


 * Git conversion
 * prelim test conversions early in month [Chad/Brion] in progress
 * 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
 * Agree on implementation strategies regarding remaining development process questions, e.g. how to handle multi-repo commits
 * Finish up specific Git management scripts
 * SVN import, post-release/deployment make r/o switch
 * Deployment scripts


 * VipsScaler
 * Initial deployment in November


 * Engineering project documentation
 * Integrate project index, project pages, roadmap, team hubs [Guillaume] [Partial]
 * Publish November report [Guillaume]


 * Volunteer coordination and outreach
 * Consolidate and integrate the content from the training materials [Sumana, Guillaume] [Partial]


 * Log collection (udp2log) improvement [Tim]
 * Deployment to emery in November [DONE]


 * Wikimedia blog maintenance
 * Implement Wikimedia blog skin & features tweaks [Guillaume] [Partial]


 * MediaWiki architecture document
 * Submit second revision of the document to the editors [Sumana, Guillaume] [DONE]

Ops

 * replace ES servers (external storage boxes) [BenH] [DONE]
 * replace MS {1-3} boxes [BenH] [DONE]
 * Lily [Mailman] server replacement [PY/DZahn]
 * RT1612 - Emergency security patches [DanielZ] - WIP [only miscellaneous servers left - need to schedule with application owners for reboot]
 * Infrastructure/Network Penetration Audit [DONE]
 * bits deployment in eqiad with varnish3 [Asher/Mark] - staged at EQIAD now, ready for deployment. Waiting for the fix to Nagios. [DONE]
 * knams router move [Mark/Leslie] - [DONE]
 * Swift integration for media storage [Ben/Aaron] (see above)
 * Puppetization of front-end [DONE]
 * Deploy Gluster file system in Dev/Test/Labs environment (proof of concept) [DONE]
 * text/upload deployment in eqiad (squid/varnish) [Asher/Mark]
 * start work on deployment setup of application servers in eqiad [Leslie]
 * MediaWiki release download changes (ops support) [Ariel]

Analytics

 * Hiring - in progress
 * Monthly Report Card - [DONE]

Mobile / Offline

 * First UI review of MobileFrontend extension [Brandon] [DONE]
 * Mobile/Offline/i18n - Hackathon
 * Starting as many fixes and features as possible, including participatory features
 * MobileFrontend feature iteration[DONE]
 * Push IW links to production [DONE]
 * Push Search suggestions to production [DONE]
 * Push full screen search to beta [On Nomad]
 * Build out better testing setup for mobile [Reaching out to vendors]
 * Begin work on login [DRAFTING]
 * Define requirements of photo uploads [DRAFTING]
 * Get SSL Certs for mobile [Pending OPS+Vendor]
 * Publish documentation of Mobile research [Parul, Guillaume]
 * Release of Android app to market [Nitobi] [Mid NOV]
 * Bug fixes to iOS app due to memory leaks [Pending app store approval]
 * Product reqs for V1.1 of Android app [Tomasz, Phil, + others]
 * Tracking bug https://bugzilla.wikimedia.org/show_bug.cgi?id=31805
 * Kiwix beta release [DONE]
 * Build out batch collections cluster [Pending Hardware] http://rt.wikimedia.org/Ticket/Display.html?id=1593] [Tomasz + Ops]

Fundraising

 * GlobalCollect integration [DONE]
 * Security Audit [DONE]

Features

 * Article Creation Flow - first sprint: Interstitial
 * New Page Patrol: Continue research, continue developing design (wireframes, workflow)
 * Feedback Dashboard:
 * Basic interactive version (replying for experienced editors)
 * Customized email notification for talk page messages
 * Small (mostly UI) changes to Feedback Dashboard interface
 * Bug fixes
 * Moodbar
 * Increase visibility (bubble on first activation)
 * AFT
 * Weekly push of Feedback Forms to Prototype
 * Continued design of Feedback Pages
 * Small WikiLove fixes (no more than a week)
 * Upload Wizard multi-file selection feature and other bug fixes
 * TimedMediaHandler code review in progress (round 1 and 2 are completed; awaiting fixes and clarification based on review comments so far )
 * Visual Editor: Parser integration continues; Completing editing functionality this month for alpha push in early December.
 * I18n/L10n features: Development sprint in progress. Adding language support to Narayam, WebFonts, Translate.
 * Narayam: Deploy to meta; bug fixes and language support for tamil, bamini, amharic, bengali, assamese; time format updates for hsb and dsb, extented input method selector for Narayam; CSS fix for headers [DONE]
 * Translate: Deploy to meta [DONE]
 * WebFonts: Language support addition (in progress)

Platform / Dev-Ops

 * Move towards continuous integration via git, goalpost: weekly deployment
 * Jenkins (Testswarm/PHPUnit tests) on git branches


 * Code review management
 * Finish code review on trunk


 * Real-time visualization of all MediaWiki profiler data [asher]
 * include visualization timepoints of all code deploys


 * Engineering project documentation
 * Publish December report [Guillaume]


 * Wikimedia blog maintenance
 * Implement Wikimedia blog theme & features tweaks [Guillaume]


 * Volunteer coordination and outreach
 * Consolidate and integrate the content from the training materials [Sumana, Guillaume]

Mobile / Offline

 * Feature iteration
 * User login
 * Full screen search to production
 * Photo upload
 * Articles near me without photos - API
 * Other features started at India Hackathon
 * Publish high-level mobile roadmap
 * Kiwix release
 * Default .m for all sibling projects
 * Publish the mobile research documentation sent by Parul [Guillaume]

Features

 * New Page Patrolling: Limited test release (stretch goal: release to production)
 * AFT
 * Test versions of Feedback Form in production
 * Design and development of Feedback Page, using data from test versions of Feedback Form
 * Moodbar/Feedback Dashboard: continued development and bug fixes
 * Test deployment of visual editor for limited use case, possibly only experienced editors; collect feedback from community and evaluate for adding to product backlog for visual editor features
 * RL2/Gadgets improvements deployed with MW 1.19 (dependent on Rel 1.19 schedule)
 * Multimedia
 * Upload Wizard in maintenance mode
 * TMH deployment (contingent on getting fixes completed based on code review comments)
 * Full scale WebFonts deployment

Operations

 * Squid deployment @ Eqiad
 * DB servers refresh
 * /home move to NetApp [Mark] [in progress]
 * Swift integration for media storage [Ben/Aaron] (see above)
 * https support for mobile (https:// *.m.wikipedia.org)
 * External storage recompression [Ben/Tim]

Platform / Dev-Ops

 * MediaWiki roadmap/1.19
 * Cut 1.19 release branch
 * 1.19 deploy (from SVN)
 * Postmortem 1.19 after the 1.19 deployment
 * ResourceLoader 2


 * 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


 * Make decision regarding project parameters for inline template scripting [discuss in SF Hackathon]
 * Lua or Javascript V8 or something else?


 * [Needs review] Database-backed session handling


 * First release from git mainline development branch
 * Log collection (udp2log) improvement [Tim]
 * Deployment to locke in January

Features

 * Global Profile: continue design work, begin development
 * Addition moderation tools: TBD; moderation tools in support of contribution features that are not captured elsewhere
 * 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
 * Wikipedia operations history+architecture document [Guillaume]
 * New error page [Guillaume]

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