Wikimedia Discovery

The Discovery Department of Wikimedia Engineering has the mission to make the wealth of knowledge and content in the Wikimedia projects easily discoverable. We have a number of projects detailed below that focus us on creating and supporting new forms of discovery.

= Projects =

Search
Discovery is responsible for maintaining and enhancing the various Search features and APIs for MediaWiki. This includes the CirrusSearch extension which relies on Elasticsearch, the search backend used at the Wikimedia Foundation to support Wikimedia projects.

Learn more about Search and the current work of the team. Current work by this team is tracked on this Phabricator workboard and on the public Search Analytics Dashboard that monitors and analyze the impact of our efforts, as well as the External Search Traffic dashboard that very broadly looks at where our requests are coming from.

Backend
Current Goals (FY 2017-18 Q1)
 * Implement advanced methodologies such as “learning to rank” machine learning techniques and signals to improve search result relevance across language Wikipedias.
 * Perform load tests and A/B tests on new models to make sure they can be safely deployed to production
 * When ready, deploy newly automated models which match (at a minimum) current performance of manually-configured search result relevance


 * Improve support for multiple languages by researching and deploying new language analyzers as they make sense to individual language wikis.
 * Perform research spikes to find new analyzers for different languages
 * Test new analyzers to see if they are improvements (Japanese and Vietnamese)
 * Deploy new / updated analyzers
 * Deploy analyzers in progress from last quarter (Hebrew)

Frontend
Current Goals (FY 2017-18 Q1)
 * Finish up testing of the Explore Similar feature on search results page
 * Analyze data and gather community feedback
 * Request internationalization strings
 * Deploy feature

Wikipedia.org portal
Many people discover Wikipedia via https://www.wikipedia.org/ (roughly 1.5-2% of our total page views) and the Discovery team has been improving the user experience for these visitors. Here is a report from 2015, detailing the from the Discovery team about what we can do to make the portal better.

Learn more about the work around the Wikipedia.org portal project. Current work by this team is tracked on a Phabricator workboard and a listing of upcoming A/B tests can be found here. We also track usage on a public Portal Analytics Dashboard to monitor and analyze the impact of our efforts.

Current Goals (FY 2017-18 Q1)
 * Wikipedia.org Portal team will not have any dedicated goals this quarter other than continuing to maintain the page by fixing critical bugs and performing regular statistics and translations updates.

Maps
Discovery is about finding and navigating to content, and one way for users to do that is via maps. To provide better maps the team is working to make OpenStreetMap tiles available on all Wikimedia projects. The technical challenge is doing so at a scale sufficient for their widespread usage.

Learn more about the Maps project in general—work is tracked on a Phabricator workboard and on a Maps Analytics dashboard.

Current Goals (FY 2017-18 Q1)
 * The Maps goal for this quarter is to finalize and deploy the new map style, as well as monitoring the service for critical bugs and increasing the frequency of OSM replication.

Wikidata Query Service (WDQS)
Searching structured data on Wikidata is an integral part of Discovery in building the Wikidata query service. It provides a SPARQL API through which tools can access Wikidata. Learn more about the Wikidata query service. Our current work is tracked on this Phabricator workboard and weekly deployments of WDQS are documented on Deployments; while a public WDQS Analytics Dashboard is used to monitor and analyze the impact of our efforts.

Current Goals (FY 2017-18 Q1)
 * Wikidata Query Service goal for this quarter will be working on expanding category search in the query service, while also collecting SPARQL statistics; it will be maintained by Stas and Guillaume to support the continued growth and use of the service; the Analysis team will help with statistics.

Analysis
The analysis group within Discovery manages the Discovery Dashboard, as well as analyzing A/B tests and other data. Learn more about the Discovery analysis team and even more information on how they do their analysis and the impact (on Meta). Current work by the analysis team is tracked on this Phabricator workboard

Current Goals (FY 2017-18 Q1)
 * The team will continue to work closely with the Search teams to analyze A/B tests and other assorted data; they will also prototype automated A/B test reports and investigate addition of Continuous Integration to their R codebases.

APIs
Application Programming Interfaces (APIs) provide developers ways to interact with the MediaWiki software.

API:Search and discovery lists the search APIs available and in development. View our public API Analytics Dashboard to monitor and analyze the impact of our efforts.

Other
For general questions about the work of the Discovery department, please see the FAQ. For any questions about the term "Knowledge Engine" please refer to this FAQ. You can find all of our data and key performance indicators on our data dashboard.


 * An overview of Discovery's narrative and roadmap for FY 2017-18 (July 2017 - June 2018)
 * An overview of Discovery's narrative and roadmap for FY 2016/17 (July 2016 - June 2017)

The team
Below is a list of sub-teams in the Discovery Department. This list was last updated on June 8th, 2017.

Each sub-team lists the names and team roles (not job titles; those are listed in the staff and contractors page, and may or may not be the same as the person's team role) of anyone who spends a not insignificant amount of time on a project; this therefore means that some names are duplicated across teams.

These lists are only intended to roughly convey who is working on what; no guarantees are made that the list is accurate to any particular level of detail. If you have questions, please contact Deb Tankersley.

Search: Backend

 * Erik Bernhardson, Tech Lead, Software Engineer
 * David Causse, Software Engineer
 * Trey Jones, Software Engineer
 * Stas Malyshev, Software Engineer
 * Guillaume Lederrey, Operations Engineer
 * Mikhail Popov, Data Analyst
 * Chelsy Xie, Data Analyst

Search: Frontend

 * Jan Drewniak, Software Engineer

Wikipedia Portal

 * Jan Drewniak, Software Engineer
 * Mikhail Popov, Data Analyst

Maps

 * Paul Norman, Software Engineer Contractor
 * Guillaume Lederrey, Operations Engineer

Wikidata Query Service

 * Stas Malyshev, Software Engineer
 * Guillaume Lederrey, Operations Engineer

Analysis

 * Mikhail Popov, Data Analyst
 * Chelsy Xie, Data Analyst

Cross-team support

 * Erika Bjune, Engineering Manager
 * Deb Tankersley, Product Owner
 * Chris Koerner, Community Liaison

Communications
"See Updates below for Discovery weekly status updates"

Mailing lists
Discovery - A public mailing list about Wikimedia Discovery projects. Examples of topics would include:
 * Announcements, including major upcoming initiatives, completed major releases, quarterly or annual plans, requests for feedback or input
 * Technical discussions and brainstorming regarding our work:
 * Search, Elastic, Cirrus, the Relevance Forge, and other relevant subjects
 * The portal and associated work
 * Our dashboards or related analysis
 * Note that there is a separate list for maps (below)
 * Departmental news, such as changes to team structure, significant changes to team process, changes in how we use phabricator or other tools like gerrit

Maps - Discussion and development coordinating the integration of OpenStreetMap and other free map sources into Wikimedia projects.

IRC channels
- for talking all Interactive Wikimedia projects - maps, graphs, etc.

Twitter
https://twitter.com/WMF_Discovery

Meetup groups

 * San Francisco
 * Directly relevant
 * Bay Area NLP (natural language processing, not neuro-linguistic programming)
 * San Francisco text
 * Elasticsearch San Francisco
 * Indirectly related (these sorts of meetup groups attract smart/enthusiastic people who like to spend their free time learning and solving problems)
 * Silicon Valley Java user group
 * San Francisco PHP
 * Bay Area Haskell users group
 * Scala study group
 * SF JavaScript
 * Oakland advanced Scala study group

Process
Discovery uses a "scrumban" process, which is a hybrid of Scrum and Kanban. It is described here: Discovery/Process.

Upcoming events

 * Wikimania 2017 - Aug 11 - 13, 2017
 * State of the Map US, October 19 - 22, 2017, Boulder Colorado (USA)

Past events

 * Wikimedia Discovery/Past events
 * Hackathon - May 19 - 20, 2017
 * Discovery offsite - May 15-17, 2017
 * csv,conf,v3 - A community conference for data makers everywhere - May 2-3 2017, Portland, OR
 * Developers Summit - Jan. 9-11, 2017
 * All Hands - Jan. 12-13, 2017
 * DBpedia Community Meeting in California 2016 - October 27th 2016
 * WikiConference NA 2016 - Oct 7-10 2016, talked about Wikidata and WDQS.
 * State of the Map 2016 - Sept 23 - 25, 2016, Brussels (Belgium)
 * Wikimania 2016
 * Esino Lario, June 22 - 28
 * State of the Map US 2016 - July 23 - 25, 2016, Seattle (USA)

Weekly Discovery status updates

 * See Discovery/Status updates for the archive of past Discovery updates (Subscribe)

Meeting minutes
Wikimedia Discovery/Meetings

Quarterly reviews

 * Q4 2014-15 (2015-07-07)
 * Q1 2015-16 (2015-10-05)
 * Q2 2015-16 (2016-01-21)
 * Q3 2015-16 (2016-04-11)
 * Q2-Q3 2016-2017
 * Q4 2016/17 (2017-07) (starting on page 66)

Data Analysis
The data access and analysis guidelines used by the Discovery team around data sources, or by other teams around Discovery data sources, are documented on Meta.
 * Search Analytics Dashboard
 * Portal Analytics Dashboard
 * Maps Analytics Dashboard
 * Wikidata Query Service Analytics Dashboard
 * API Analytics Dashboard
 * External Traffic Analytics Dashboard

Deployers
Useful reference for who can deploy code. It's nice to know whom to bug if you need something:

Code
Discovery team supports the following code: