Wikimedia Engineering/2015-16 Q1 Goals

Q4 Wikimedia Engineering Goals, FY2015-16, Q1 (July–September) Q2

Purpose of this document: Goals for the Wikimedia Engineering and Product Development department, for the first quarter of fiscal year 2015–16 (1 July 2015 – 30 September 2015). The goal setting process owner in each section is the person responsible for coordinating completion of the section, in partnership with the team and relevant stakeholders.

Status fields can use the following templates: In progress In progress, To do To do, N Postponed, Yes Done or Incomplete Partially done

Product

edit

Community Tech

edit
Objective Key result Dependency ETA Status
Publicly document the scope, roadmap, and processes for the team on-wiki and officially announce the team to the world
  • Documentation is publicly posted
  • Community is aware of the team and its processes
  • Reach consensus on processes
Aug 2015   In progress

Goal setting process owner: Dan Garry

We build the anonymous path of discovery to a trusted and relevant source of knowledge.

Our focus will be on building on-top of our anonymous and trusted search stack to improve relevancy, expose additional content and leverage locally relevant knowledge.

Objective Key result Dependency ETA Status
Enhance the experience for our users that search by reducing the number of search queries that return zero results.
  • Zero results rate cut in half, from approximately 25% to approximately 12.5%.
  • No decrease in user clickthrough rate from search results.
  • Discovery Analysis Team
  • Operations: Wikimedia Labs (maintaining Labs)
Aug 2015  N Not done
Objective Key result Dependency ETA Status
Allow users on our cluster to run arbitrary queries on the data contained in Wikidata by deploying the Wikidata Query Service.
  • Wikidata Query Service is deployed and usable from within our cluster.
  • Wikidata Query Service keeps with Wikidata update stream.
  • Define metrics and KPIs for the service.
  • Display metrics and KPIs on the Discovery Department dashboards.
  • Discovery Analysis Team
  • Security (security review of service before deployment)
  • Operations (supporting test deployment on production hardware)
  • Operations: Wikimedia Labs (maintaining Labs)
Aug 2015   Done
Objective Key result Dependency ETA Status
Allow users on our cluster to build features using maps by deploying a Wikimedia Maps Tile Service.
  • Discovery Analysis Team
  • Security (security review of service before deployment)
  • Operations (supporting test deployment on production hardware)
  • Operations: Wikimedia Labs (maintaining Labs)
Aug 2015   Done

Analysis

edit
Objective Key result Dependency ETA Status
Further our understanding of whether our search is giving our users relevant results by finding, implementing and deploying a quantitative metric to measure user satisfaction with search.
  • Define and communicate search satisfaction metric.
  • Implement data collection to measure metric in production.
  • Visualise metric on Discovery Department dashboards.
  • Iterate until metric can be used as KPI for Discovery Department in Q2 2015-16.
  • Operations: Wikimedia Labs (maintaining Labs)
Aug 2015   Done

Editing

edit

Goal setting process owner: User:Trevor Parscal (WMF)

The Editing Department build collaborative, inclusive tools for creating and editing free knowledge. In Q1, the Department will focus on rationalizing technologies and strengthening engineering practices whilst delivering on the key user workflows for editors across the product range.

VisualEditor Team

edit

Involve more people than ever before in the collaborative effort of building free knowledge through improving the usability, stability and performance of VisualEditor, integrated with the developing reading experience.

Objective Key result Dependency ETA Status
Successfully complete deployment of VisualEditor on the English Wikipedia VisualEditor is enabled for new accounts on the English Wikipedia
  • Parsing team
  • Community department
  • Research department
  • Communications department
EOQ   Done
Secure and build upon the foundational work for comprehensive mobile support VisualEditor on a mobile phone secures positive feedback in pre-deployment user testing EOQ   In progress
Improve stability and maintain or increase test coverage Code coverage is maintained at or increased from current levels – 75% overall, 87% in dm and 66% in ce. EOQ   Done
Stretch: Hiring a mobile-expert engineer VisualEditor team has a mobile-expert engineer join, to bring the team up to 5.0 FTE Recruiting department EOQ   Done

Collaboration Team

edit

Increase communities’ capacity for collaboration, participation and curation across our wikis.

Objective Key result Dependency ETA Status
Align with UI standards Convert common UI elements in Flow to use OOjs UI OOjs UI engineers on other teams EOQ   In progress
Remove urgent blocker to Ops Switch Flow to work with the “External Storage” cluster’s compression needs Operations and DBAs Now   In progress/  Done
Reduce the department’s technical debt Convert all existing uses of LiquidThreads to Flow, where the community is willing Community Liaisons EOQ   In progress
Reduce ongoing deployment support burden Add support for users to be able to enable/disable Flow on their user talk page through beta features EOQ   In progress

Multimedia Team

edit

Enrich the content of our projects with more use of multimedia assets, by streamlining media contribution with UploadWizard, and evolving the rich editing experience to better suggest media.

Objective Key result Dependency ETA Status
Reduce performance drag of multiple technologies UploadWizard is completely converted to OOUI with no loading of jQuery UI code, technical debt OOUI engineers on other teams EOQ   In progress
Stretch: Uploading within VisualEditor Users can upload files from within VisualEditor without abandoning their edit Previous objective EOQ   In progress
Stretch: Graph integration with VisualEditor Users can view, create and modify charts from the Graph extension inside VisualEditor Fellow GSoC mentors in other teams End 2015-08   Done

Language Team

edit

Growing and accelerating projects with smaller content bases by providing and promoting enhanced Content Translation tools for translating content from projects with larger content bases.

Objective Key result Dependency ETA Status
Move Content Translation out of beta feature for a subset of wikis. In Wikipedia in at least one language Content Translation is enabled by default.

A conversion process from beta status to default status is defined.

End of September   In progress
Engage with the translators to keep them translating with the help of notifications, appreciations, campaigns and article suggestions. At least 33% of the users who published anything with CX, made at least 5 translations.

At least 20,000 articles are published using CX.

End of September   In progress
Translation tool enhancements for better links, reference, dictionary support and provide the parallel corpora to enhance MT engines. Parallel corpora implemented, task 95886 resolved, so that third party machine translation developers can use the output of users of Content Translation. Access to at least 3 more dictionaries implemented. End of September   In progress
Have an initial exploration for mobile support An initial exploration plan written and reviewed task T105191. End of August   In progress

Parsing Team

edit

Increasing the integrity, accessibility and stability of content by providing Parsoid as both a bridge for editing wikitext documents, but also a rendering system for viewing and querying them.

Objective Key result Dependency ETA Status
Fix all blocker bugs affecting VE’s deployment to English Wikipedia. Zero Parsoid-related VE deployment blocker bugs in Phabricator Services, VisualEditor EOQ   In progress
Improve performance of parsing (wikitext -> HTML) Speed up PEG tokenizer by 25% EOQ   In progress
Reduce rendering differences between Parsoid HTML & PHP Parser HTML At least 10% test pages render with pixel perfect accuracy.

At least 75% render with "< 1% diffs".

EOQ   To do

Fundraising Tech

edit

Goal setting process owner: User:AGomez_(WMF), User:Khorn_(WMF)

Objective Key result Dependency ETA Status
Amazon upgrade - task T87625
  • Can process payments
  • Payments appear in CiviCRM
  • Can run a banner test
Amazon, fundraising online EOQ   In progress
PCI gap analysis and Improvements - task T77912
  • 3rd party scans are scheduled
  • All policy docs except device hardening are completed
  • Orphan slayer is moved
  • Security Team
  • Operations Team
Unlikely to complete in Q1   In progress
Continue to maintain and improve fundraising infrastructure, with a special focus on critical components for the Big English fundraiser
  • List of components identified as critical for Big EN and documented
  • Soft code freeze on those critical components at EOQ
None Ongoing in Q1   In progress

Infrastructure

edit

Analytics

edit

Goal setting process owner: Kevin Leduc

Objective Key result Dependency ETA Status
Complete an audit of EventLogging Data All EL Schemas have been reviewed, documentation has been updated and data retention/purging/sanitation automated. Reading Editing Research Feb 2016   In progress
Deploy in production an API for Pageviews Analytics metrics will provide data on usage of the API by the community (for example daily queries & visitors) October   Done
Publish daily pageview counts per project in Vital Signs https://vital-signs.wmflabs.org is live and an announcement is made on wikitech-l. July   Done
Migrate EventLogging to use Kafka EventLogging’s capacity increases beyond 1000 messages / second Ops EOQ   Done

Release Engineering

edit

Goal setting process owner: Greg Grossmeier

All tracked in: #releng-201516-q1 - More details at Wikimedia Release Engineering Team/Goals/201516Q1

Objective Key result Dependency ETA Status
STRENGTHEN

Isolate our Continuous Integration instances

  • boot instances from OpenStack API - task T109913 -   Done
  • subset of jobs run in disposable instances - task T109914 -   Done
Operations / WMF Labs EOQ   Done
FOCUS

Improve deployment tooling

  • Implement the needed features in scap for RESTBase deploys - task T113119 -   Done

Services / Operations

EOQ   Partially done
FOCUS

Migrate Gerrit to Differential

  • Allow repository cloning from Phabricator - task T128 -   Partially done
  • Prototype integration with our Continuous Integration infrastructure - task T103127 -   Partially done
(small) Operations EOQ   Partially done


Services

edit

Goal setting process owner: Gabriel Wicke

Tracked in: T102306

Objective Key result Dependency ETA Status
Mobile app service deployment and API

Reduce app load times and duplicated development effort with an app API, providing app-specific content and metadata, backed by a service built by the app team.

  • Mobile app service deployed in production
  • Public API end points & documentation
  • Reading team
EOQ   Done
Scale RESTBase, and set up cross-datacenter replication

Add the storage and throughput we'll need to store more types of content, as well as historical revisions. Establish redundancy at the DC level for site availability and disaster recovery.

  • Expand the existing cluster with new nodes.
  • Set up a second RESTBase cluster in the Dallas datacenter.
  • Establish asynchronous replication between the clusters.
  • Procurement
  • Operations
EOQ   Done
Figure out a plan for change / event propagation

Changes to structured data and other events need to be propagated through storage and cache layers. Our current systems are not up to the task, which holds back development and causes bugs. We aim to make change propagation reliable, efficient, and manageable for developers.

  • Document requirements
  • Research solutions (both existing and possible development)
  • Develop a clear plan of action
  • Most teams during requirement collection
  • Analytics and ops expertise (Kafka)
EOQ   Done

Technical Operations

edit

Core Ops team

edit

Goal setting process owner: User:Mark Bergsma (WMF)

Objective Key result Dependency ETA Status
Reduce missing cluster dependencies in codfw data center
  • Deploy HTTPS caches in codfw, complete successful failover of eqiad caching traffic
  • Deploy ElasticSearch cluster with replicated search indexes
  • Deploy RESTbase with Cassandra replication
  • Discovery team (for ElasticSearch)
  • Services team (for RESTbase/Cassandra)
  • Procurement of network services
EOQ   Done
Update Wikimedia mail systems
  • Upgrade Mailman version to a new version (2.1.18) on a supported distribution and new hardware
  • Investigate OTRS upgrade (from 3.2.14 to 4.0.9) and provide trial system for OTRS users
  • Enable TLS encryption for inbound and outbound e-mail
  • fr-tech team (OTRS involvement)
EOQ   Done
Reduce our security attack vectors
  • Implement organized package upgrades (debdeploy)
  • >80% of hosts protected by firewalls, or explicitly assessed as unwanted and not needed
EOQ   Done

Labs team

edit

Goal setting process owner: User:Mark Bergsma (WMF)

Objective Key result Dependency ETA Status
Strengthen: Improve reliability of Wikimedia Labs
  • Meet or exceed 99.5% uptime for each Labs infrastructure service
  • Remove all Labs support host SPOFs, using redundancy or hot spares
  • Finish NFS migration to RAID10 storage, and implement NFS sharding
  • Audit Labs projects on NFS dependencies and support migration to alternatives where appropriate
EOQ   Done
Experiment: Evaluate and test a new  distributed cluster environment for Tool Labs
  • Establish evaluation criteria for cluster solutions
  • Evaluate cluster solutions
  • Set up a cluster solution inside the Tool Labs project
  • Allow Tool Labs users to experiment with their web services on the new cluster environment
EOQ   Done

Reading

edit

For full set of internal goals, see: Reading/Strategy and Roadmap

Team Objective Key Result Dependency ETA Status
Infrastructure Creation of a metrics dashboard to track improvements to system. None EOQ   Done
Mobile Apps
  • Increase engagement via improved link preview (Android)
10% increase in Android app user engagement as defined:

(Full Pageviews + TextExtracts retrievals with link preview feature) >= 1.1 * (Pageviews prior to link preview)

  • Executive Management
EOQ   Done
Web
  • Improve engagement via page load time decrease (mobile)
Time to first render on mobile does not take more time than desktop (as measured by graphite), given equal network speed
  • Release Engineering
  • Performance
  • Community Engagement
EOQ   Done


UI Standardization team

edit
Objective Key Result Dependency ETA Status
Establishing process of community involvement
  • Evaluating ideas and setting up testing framework for UI beyond User Research team
  • Record testing results on MediaWiki
  • Involving community members by
    • making our work more visible through Phabricator umbrella tasks,
    • finding and establishing relationship to tasks-interested community members on IRC
    • and creating MediaWiki pages with plans.
    • clarifying our workflow where they can be collaborate
Community Liaison EOQ   Done
Simplifying interface of current in-use items and widgets
  • Iterating on interface and having more consistency not only on mockup, but also on implementation
Editing EOQ   Partially done
Enhance accessibility of
OOjs UI library/LSG (Blueprint)
  • Change current colors to usefully meet content accessible guidelines (WCAG 2.0), at minimum level AA, but preferably AAA, alongside early process involvement of community.
  • Implement WAI-ARIA best practices on design & code, starting with roles.
None EOQ   Partially done
User Research on our users' current workflow
  • Clarification on our users' current workflow and how we can improve our work to fit into their workflow
partially Design Research EOQ  N Postponed

Technology

edit

Architecture

edit

  In progress

Performance

edit

Goal-setting process owner: Ori Livneh

Speed is Wikipedia's killer feature. ("Wiki" means "quick" in Hawaiian.) As the Wikimedia Foundation’s Performance team, we want to create value for readers and editors by making it possible to retrieve and render content at the speed of thought, from anywhere in the world, on the broadest range of devices and connection profiles.

The following is a summary of the Performance Team Goals.

(T102306)

Objective Key result Dependency ETA Status
~30% improvement in site performance in 3 months.
  • Sub-second median page save time.
  • Sub-900ms first paint time. T105391
Sept 2015   Done

Research

edit

In Wikimedia Research we use qualitative and quantitative methods to provide strategic insights and technological solutions to the movement and the Foundation, to foster innovation and to inform the development of new products.

Research & Data

edit

Our focus in Q1 will be on scaling up and evaluating data-intensive services the team has been designing: an edit and article quality classification API and recommender systems for article creation. Time permitting, we will kick off a project to measure who adds value to Wikipedia and iterate on article creation recommendations, as stretch goals.

Goal setting process owner: Dario Taraborelli [ Wikimedia Research goals overview ]

Objective Key result Dependency ETA Status
Productize revscoring and wiki labels
  • The stable version of production-ready ORES service up and running on Labs
  • Labs
End of Q1   Done
Run controlled tests of article translation recommendations
  • Run a pilot with WMF staff
  • Run and analyze the results of live tests in Spanish, French and Polish Wikipedia
  • Community Liaison
  • Language Engineering
End of Q1   Done
Measuring value added (stretch)
  • Perform historical analysis on who adds value to Wikipedia

none

End of Q1   In progress (moved to next Q)
Re-train and productize article translation recommendations (stretch)
  • Improving the algorithm based on user feedback
  • Integrate the algorithm in Content Translation
  • Community Liaison
  • Language Engineering
End of Q1   In progress (moved to next Q)

Design Research

edit

Our focus in Q1 will be to coordinate and implement both evaluative and generative design research for the prioritized product track projects as well as iterating our pragmatic personas toward being fully researched Personas. Time permitting, we will mentor and collaborate with designers and prototypers toward doing usability testing for thier track teams, and we will grow our participant database.

Goal setting process owner: Abbey Ripstra [ Wikimedia Research goals overview ]

Objective Key result Dependency ETA Status
Support prioritized user facing product projects with track teams by doing generative research (exploring and better understanding user needs, context and pain points) and evaluative research (evaluating concepts and functionality with specific users for usability and how they support needs.)
  • Research reports with recommendations and information useful for concept development and product iteration considering specific users.
  • Collaboration on timing, expectations, priorities and the research with product track teams.
end of Q1   Done
Iterate the set of pragmatic personas developed in Q4 FY15 toward fully researched personas.
  • 12 persona interviews moving our pragmatic personas to more closely reflect the humans we are building for.
  • Community liaisons and others to connect us with the right people to interview
  • Participants being able to get on technology so we can interview them, as there is no budget to travel and meet them.
end of Q1   Partially done
Teach and mentor more designers and protoypers to do evaluative research (usability testing) to support user friendly, intuitive product development within the track teams. (Stretch)
  • Two designers or prototypers having done 2 or more usability tests for their teams with support from the design research team.
Collaboration and willingness from designers and prototypers on track teams.   Done
Grow our participant database. (Stretch)
  • Gain 1000 more volunteer participants (in our participant "database") to collaborate with in design research projects.
  • Fundraising and other teams to coordinate banners, and other outreach efforts (mass message, etc) with.
  Done

Security

edit

Goal setting process owner: User:CSteipp (WMF)

We make life hard for the people who want to harm our sites or the people that use them. During Q1, the Security Team will focus on making security measurable, in addition to maintaining the safety of our sites and users. The following is a summary of the Security Team Goals.

Objective Key result Dependency ETA Status
Automated dynamic scanning of MediaWiki in beta
  • Tool choice documented
  • Weekly automated scanning of beta
  • Baseline scan results for core and one extension
  • RelEng - Make security testing instance perminant
Sept 2015   To do
Document and report initial metrics for security bug handling Sept 2015   To do
Support security and privacy initiatives from other teams:
  • Legal (Email encryption)
  • Analytics (Uniques/DNT)
  • Reader Infrastructure (AuthManager)
  • Fundraising Tech (PCI)
  • Learnings documented
Sept 2015   In progress