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
 * /2011/November
 * /2011/December

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

Platform / Dev-Ops

 * MediaWiki 1.19/Roadmap
 * Finish code review
 * Cut 1.19 release branch


 * Make decision regarding project parameters for inline template scripting [discuss in SF Hackathon and at 1/25 meeting]
 * Lua or Javascript V8 or something else?


 * Git conversion
 * Finish up specific Git management scripts
 * Deployment scripts
 * CI tests get run when a developer chooses to push to the stage between their branch and the mainline branch
 * Jenkins (Testswarm/PHPUnit tests) on git branches


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


 * Log collection (udp2log) improvement [Tim]
 * Deployment to locke in January

MISSING: ANALYTICS
 * Mobile Page Views: resolve discrepancy between Erik and Nimish page view stats [1/25]
 * Filter notification: Notification when filter fails [DONE]
 * Report Card Prototype: Begin work


 * MediaWiki 1.18.1 [Sam] [DONE]
 * Actual MediaWiki TestSwarm integration


 * MediaWiki architecture document
 * Address second (and last) round of feedback and submit final version to the book editors [Guillaume] [DONE]

Mobile / Offline

 * Wikipedia Zero in testing [DONE]
 * Android app Market release [Brion, Yuvi] [DONE]
 * Refactor PhoneGap code base in prep for next platform work [DONE]
 * WikipediaMobile iOS update [DONE]
 * Continue implementation of GPS Storage/Retrieval [Max]
 * Improved page view stats of mobile apps [Andre]
 * RSS feeds for article snippets like "Featured Articles" to production [Max]
 * Deploy prototype of Wikipedia on SMS/USSD for India or Africa audience [Praekelt Foundation (Jeremey) / Patrick]

Features

 * Editor Engagement features
 * AFT:
 * Continue testing of feedback form: prominent link [1/11]
 * Click-tracking of edit links on test pages for cannibalization analysis: [DONE]
 * Decide on "winner": Preliminary discussion with community [1/20]
 * Design and development of first version of Feedback Page, using data from test versions of Feedback Form [1/25]
 * Reader (commenter) survey [Targeting 1/25]
 * Moodbar/Feedback Dashboard
 * Email tracking (in aggregate) [DONE]
 * Feedback log (enables Moodbar comments to show in Special:RecentChanges) [DONE]
 * Other features (top responders, show unanswered) [DONE]
 * Concurrency notification: [1/19]
 * Feature Evaluation
 * New Page Triage:
 * Sprint planning begins [1/18]
 * Limited test deployment targeted for February 1, 2012


 * Multimedia:
 * TMH
 * Complete labs setup of TMH (Ian/Ryan) [1/31]
 * After Tim's review of chunked uploading code, chunked upload usage from Upload Wizard will be enabled; [1/25]
 * Testing in January to be merged into Rel 1.19 [IP]


 * I18n/L10n:
 * WebFonts update - Preview functionality for WebFonts (via URL parameter or otherwise) [DONE]
 * Evaluation of additional fonts for WebFonts, Narayam
 * Unit test development for WebFonts, Narayam, Translate [1/31]
 * Documentation updates for WebFonts, Narayam, Translate [1/31]
 * NEEDS COMPLETION
 * Work on universal language selection UI? [2/2012]
 * Additional translate extension improvements? [2/2012]


 * Visual Editor - next development sprint starts; basic implementation of round trip functionality to be completed; further improvements to front-end -- no deployment planned for January

Operations

 * Double Mobile Varnish infrastructure@EQIAD and upgrade to latest version of Varnish ( V3.0.2 & from 2 to 4 servers) [DONE]
 * add 2 more Mobile Varnish servers for SOPA [DONE]
 * Deploy Ganglia@EQIAD [DONE]
 * Squid deployment @ Eqiad
 * Target at least 50% of non-EU traffic
 * MySQL upgrade - EQIAD db clusters [DONE]
 * db refresh (s1 to s7) [in progress]
 * EQIAD datacenter new row of racks [ordered, in progress]
 * Sign contract with new network provider for TPA and additional provider for EQIAD
 * Security updates (key management)
 * Thumbnail server replacement - Front-end (ms5)
 * Lily [Mailman] server replacement [PY/DZahn/Mark] [DONE]
 * /home move to NetApp [Mark] [in progress]
 * Deploy Labs Gluster File storage cluster
 * Test effectiveness of Flash Drive
 * Labs features rollout
 * Double the current storage capacity of Labs and make 30 new instances available for new projects [DONE]
 * Create squid instance in Labs
 * Add resilience to Lab Controller service by building redundant Controller services in EQIAD which includes DNS, LDAP, MySQL

Platform / Dev-Ops

 * Swift
 * 100% deployment for thumbnails [Aaron/Ben/Mark B]


 * Wikipedia operations history+architecture document [Guillaume]
 * New error page [Guillaume]
 * Git conversion
 * (move this to later) First release from git mainline development branch
 * MediaWiki roadmap/1.19
 * 1.19 deploy (from SVN)
 * Postmortem 1.19 after the 1.19 deployment
 * ResourceLoader 2
 * SVN import, post-release/deployment make r/o switch


 * (probably using membase for this) Database-backed session handling [New Security Eng]


 * Begin developing framework for integration testing [Antoine, new QA Lead]
 * possibly Selenium


 * Superprotection feature (notes to be copied to wiki somewhere by RobLa or Tim)
 * Inline scripting

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
 * RL2/Gadgets improvements deployed with MW 1.19 (dependent on Rel 1.19 schedule)
 * [in progress; to be deployed with Rel 1.19]
 * TMH deployment (after Rel 1.19 is released)
 * Personal Image Filter development presumed to begin, may be done via vendor development. Support third party block lists instead of categories?

Mobile

 * Full screen search to production [holding]
 * Deploy mobile web photo uploading to mobile beta [Patrick/Yuvi] [ON HOLD]
 * Wikipedia Mobile iOS (PhoneGap) release [Yuvi & Brion]
 * DE-Wikimedify Mobile frontend [Arhutr]

Offline

 * Assess feedback regarding SelectionSifter, Yuvi Panda's GSOC Project [Yuvi]

Operations

 * External storage recompression [Ben/Tim]
 * Thumbnail server replacement - Back-end (ms5)
 * db refresh (s1 to s7)
 * ESAM router replacement (from Foundary to Juniper)
 * /home move to NetApp [Mark] [in progress]

Platform

 * Interwiki transclusion
 * 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
 * possibly break out parsing from rest of MediaWiki

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

 * Visual Editor: 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

Platform / Dev-Ops

 * Config management overhaul
 * Extension management?

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 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


 * Database-backed session handling
 * HipHop deployment
 * Extension:Configure
 * 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
 * Deletion queue system (notes; Human-helpful process improvements
 * Integrated heuristic checks, improved patrolling (human-helpful process improvements)
 * UDP based logging (Add RFC 3164 (BSD syslog protocol) support. See Brion's post : Wikipedia downtime 2x today
 * On-wiki namespace manager (Special:Namespaces) (original wikidata branch specs and see notes)