Wikimedia Engineering/2012-13 Goals

'''This page is the beginning of a template for the 2012-13 engineering goals of the Wikimedia Foundation's tech department. It's still in the early developmental stages.'''

Each section should include the following:


 * Goal statement (what are we trying to achieve)
 * Rationale (how does this project relate to our overall strategy)
 * Resources (broad outline of current and additional resources assigned to this project, including % allocation for partially allocated or part-time staff)
 * Activities (what concrete work will be undertaken through this project)
 * Outputs and outcomes (what will the delta be to current state as a result of this project, in terms of metrics, new functionality, new process, and ultimately towards our strategic goals)
 * Timeline (when will major milestones of this project be hit, with focus on the 2012-13 fiscal year)
 * Interdependencies (do we need help from other departments/individuals to successfully reach this goal)

Big Goals

 * Keeping the lights on
 * Improving the engineering process
 * Reversing the editor decline
 * Increasing mobile access and mobile contribution
 * Strengthening Community-Engineering communication

Site operations
Goals/Budget team: CT Woo (budget owner), project owners (for CapEx), Mark Bergsma (architect, CapEx plan), ops team


 * Shell requests/extension deployment and review
 * Capacity Growth
 * storage growth expected to be 100 - 200%
 * site traffic (page views) growth expected to be 30 %
 * network traffic growth expected to be 50%
 * existing projects (e.g., Analytics & Labs)


 * Site Availability
 * server refresh
 * deployment process improvement
 * disaster recovery and backups


 * Site Security
 * infrastructure security vulnerabilites e.g patches
 * applications maintenance


 * New Projects & non-core (non-mediawiki) services support
 * mobile projects
 * Community projects (.e.g. CRM )
 * Engineering tools (e.g. Mingle, Bugzilla, Git, TestSwarm)
 * WikiData
 * Analytics
 * FundRaising

Site architecture
Goals/Budget team: CT, RobLa, Security engineer, Tim, MarkB, Terry, Roan


 * Failover Site / Site Move
 * network
 * applications
 * platform
 * Caching Centers around the world
 * Asia
 * S. America
 * Disaster Recovery and Archives
 * backups for archives and offiste
 * Archives for Community (e.g. XML Dumps)


 * Search?


 * Intersection with features (e.g., messaging, notifications)?


 * infrastructure security architecture
 * access (sudo, ssh open ports, more access control segregation & EOL process etc)


 * standardization

Rationale

 * There is certainly a relationship between site performance and response and overall editor engagement and activities

Interdependencies

 * Site Architecture
 * Site Operations

Editor engagement features
Goals/Budget team: Howie, Fabrice, Ian, Terry, team

This team is focused on medium-sized infrastructure improvements which help us engage new and retain existing contributors.

Goal
Reverse the editor decline by making foundational improvements on Wikpedia.

Rationale

 * |The Edtior Trends Study
 * Board feels that editor retention is the most important focus for the Foundation.

Activities

 * Page Triage
 * Article Feedback
 * Article Creation
 * Notifications
 * Profile
 * Messaging
 * LiquidThreads?

Editor engagement experiments
This team is focused on smaller, daily or weekly experiments which demonstrate measurable impact on editor numbers and can be productized

Goals/Budget team: Karyn, Howie, Alolita, Zack, community team ..

Goal
Reverse the editor decline by experimenting with smaller features. The output of these experiments has to be measurable and needs supporting metrics gathering.

Rationale

 * The rational for Editor engagement in general applies here also.
 * There is the opportunity to grab a bunch of "low hanging fruit" to move the needle on editor engagement with small changes.

Activities

 * Lots of small fun stuff. Some examples…
 * User warning templates
 * Size, wording, location, color of buttons
 * Microtasks as new engagement strategy

Output and Outcomes
There was currently no project last fiscal year.

Interdependencies

 * Analytics to be able to "close the loop" on testing

Multimedia participation
Goals/Budget team: Erik, Howie, Terry, Alolita

Goal: Enable multimedia contributions in a more user-friendly and seamless manner
 * currently almost "orphaned" (very little development going on)

Rationale

 * For editor engagment (above), Wikimedia Commons is an area of actual editor growth
 * With 1.19 and Swift, there is finally infrastructure to act aggressively on this space

Activities

 * WP/Commons integration
 * WP displays of MM content
 * support for diff file types (?)

Interpendencies

 * Mobile drives a lot of need
 * Will drive a lot of storage load on Site Operations

Visual Editor
Goals/Budget team: Howie, Terry, Trevor, Gabriel, (team)


 * In-between deployment steps (e.g. new page creation, sentence editing, mobile editing, ...?)
 * Original target from 2011-12 goals: December 31, 2012 = Target for default deployment of visual editor on all Wikimedia projects
 * Begin work on realtime?

Mobile Contribs
This team is under the Mobile team below.

Site performance
Goals/Budget team: RobLa?, CT, Tim Starling, Asher, Preilly, MarkB, Terry


 * Lua
 * HipHop(VM)
 * bring data/information closer to users
 * new technologies (e.g. Flash Drives, varnish)
 * Profiling, Analysing and Targeting
 * Mediawiki improvements

Mobile
Goals/Budget Team: Tomasz (budget owner), Phil Chang (product manager), Patrick Reilly (sr engineer), Jon Robson (front end dev), mobile team


 * working version
 * 2.0: mobile support
 * 2.0: real-time collab support

Contributions
Goal: Facilitate contributions on mobile devices Rationale: Our mobile page growth continues to be 5-15% every month but these users can't contribute. In order to reverse the trend of editor declien we need to capture new users coming online primarily (and sometimes only) on mobile devices. Resources: Activities: Outputs Timeline Interdependencies
 * Jon
 * + open front end role
 * + 1 (new request)
 * Arthur
 * Yuvi (currently contractor)
 * Phil
 * Lindsey (currently contractor)
 * Better tablet support
 * Media (Upload Wizard)
 * AFT
 * Mood bar
 * Simple Editing
 * Content curation
 * More contributors! Reversed decline!
 * Features

Alternate Access Methods
Goals/Budget Team: Tomasz (budget owner), Phil Chang (product manager), Patrick Reilly (sr engineer), Kul Wadhwa, mobile team

Goal: Lower the global barrier for access to our projects Rationale: Data charges and technological barriers should not impede access to our projects Resources:
 * Partner Support Engineer
 * +1 (new request)

Activities
 * Zero
 * Vumi (SMS/USSD)
 * J2ME
 * Performance Improvements / Resource loader

Outputs Timeline Interdependencies
 * More page traffic from alternate access methods
 * Tech Support Manager (Global Dev)

Outreach
Goal: Rationale: Resources: Activities
 * App developer outreach
 * Brazil Hackathon
 * Conferences
 * Open Mobile Web

Infrastrucure
Goal: Rationale: Resources: Activites:
 * Max (currently contractor)
 * Andre (currently contractor)
 * API
 * WikiData/GPS
 * Open Street Maps
 * More mobile analytics (convert position to full time)
 * QA (convert position to full time)

Internationalization
Goals/Budget team: Alolita (budget owner), Siebrand (product manager), team, +consultation with engineering/product leads


 * Input methods / Onscreen keymaps
 * Fonts
 * Language settings/selection
 * Translation
 * Search?
 * Dictionaries for translation tools, Wikisource
 * Mobile I18n support
 * Visual Editor I18n support/integration
 * Metrics/measurement stats
 * Language support tool APIs (for 3rd party use)
 * (data on impact?)
 * Improve QA / testing
 * Incorporate community feedback loop for I18n tools
 * Improve RTL support

Analytics
Goals/Budget team: Diederik, Howie, RobLa, team, PMs, Terry

Goal: ?
 * Report card
 * Operational analytics (support for E2/E3 experimentation teams)
 * Click-tracking
 * Edit/account creation tagging
 * Fix stuff deep in the stack
 * Other Projects TBD
 * MediaWiki community statistics

Fundraising engineering
Goals/Budget team: Terry, Katie, PeterG, Zack?, team


 * Data integrity/pipeline improvements
 * CiviCRM improvements?
 * Integration of new payment methods?
 * Other innovations for 2012 campaign?

Wikimedia Labs
Goals/Budget team: CT, RyanL, Sumana, RobLa?, team


 * Add zone in eqiad
 * Move cluster to Cisco hardware
 * Upgrade to Nova essex release
 * Change OpenStackManager to use Nova API, rather than EC2
 * Add Puppet support to Nova
 * Add Gluster support to Nova
 * Add MediaWiki support to Nova
 * Create a proxy service, that acts like an OpenStack service, to limit public IP usage
 * Wishlist
 * Development support function ("cross functional support") vs. community experiments
 * DB replication for real-time analysis, tools
 * Turnkey dev environment for newbies
 * Enable automated testing for infrastructure, using Jenkins
 * Establish timeline for the above?

MediaWiki platform
Goals/Budget team: RobLa, TimS, Sumana, Chad, Brion, Roan, team


 * API improvements?
 * Continued code maintenance and review of new changes
 * Database-backed session handling
 * Configuration management
 * Gadgets/ResourceLoader improvements?
 * Wikidata support? Interwiki transclusion?

MediaWiki development process
Goals/Budget team: RobLa, Erik, Tim, Chad, Antoine, Terry


 * Git/Gerrit/Gitorious/.... tools & process improvements
 * Releases / dev process
 * 20% time and other ways to keep code review in check
 * CI improvements

QA
Goals/Budget team: RobLa, Chris, Tomasz, Alolita, Antoine, MarkH ...


 * Test automation
 * Test plan standards etc.
 * Community testing
 * Mobile testing <-- biggest pain point for mobile devs now
 * I18n testing <-- the dev team is the QA team right now - so need to address this
 * Bug triages, etc.

Wikimedia technical community
Goals/Budget team: Sumana, RobLa, Tomasz, Alolita, Guillaume


 * Docs docs docs
 * Hackathons
 * Large mega-hackathons
 * Smaller regional/topic-focused events
 * Internship/mentorship programs
 * Ongoing volunteer teaching & maintenance
 * Volunteer recruitment / interfacing with other communities