Timeline for LinguaLibre

Timeline Date
Beginning of the first test period in a small group 27 March 2018
Midpoint Report submission 20 April 2018
Beginning of the public beta test period 16 May 2018
LinguaLibre outreach at Wikimania 20 July 2018
Final Report submission 31 July 2018



last update: 2018-10-14

Description Estimated duration
(in day)
Develop a new recording Extension for MediaWiki (RecordWizard)
1 - Take back and adapt the existing Lingua Libre's recording studio 4
2 - Change the interface to use OOjs-ui 7
3 - Turn it into a MediaWiki extension 14
4 - Improve the recording studio with alternative recording methods 9
5 - I18n 2
6 - Develop a guided tour (using the GuidedTour extension) to help newcomers 5
Total 41 d
Migrate Lingua Libre on a wiki-based architecture
7 - Setup of a dedicated MediaWiki and Wikibase instance, with the newly-created recording extension 3
8 - Use OAuth for the authentication 5
9 - Define the RDF Schema 4
10 - Create a dedicated MediaWiki skin 12
11 - Develop specific on-wiki JS scripts to facilitate the navigation and the modification of items 18
12 - Initialize the wiki with all the necessary basic wikibase properties and items 2
13 - Import all our existing sound records in the new database 4
Total 48 d
Reuse on Wikimedia wikis
14 - Setting up OAuth to allow uploading sounds to Commons 10
15 - Develop bot-tools to add the uploaded sounds to articles on wikis that asked for (currently the French Wiktionary) 15
16 - Contact other communities to extend the reuse of these sounds 4
Total 29 d
Data exploration and visualization
17 - Setup a SPARQL endpoint 10
18 - Create turnkey SPARQL queries 7
Total 17 d
Total project 135 d

Monthly updates


Please prepare a brief project update each month, in a format of your choice, to share progress and learnings with the community along the way. Submit the link below as you complete each update.



The Grant period officially started the 15 January. During the first two weeks, I've mainly setup all the technical and organizational stuffs required to work efficiently:

In term of communication, I've also introduced a video meeting every two Tuesday with the complete Lingua Libre team (or at least all who are available), to involves them in the development process and important decisions.



In February, the technical work has really started at his full speed. I've first focused on developing two prerequisites for the RecordWizard:

  • Many enhancements (export options, old browsers support,...) and bug fixes on the LinguaRecorder, our audio recording JavaScript library;
  • The creation of an independant MW extension, Upload2Commons, which allow a user to upload a local file to a remote wiki through OAuth, via an API module.

Using this two components, I was then able to start to develop the core of the RecordWizard. I took inspiration from the technical structure of the UploadWizard to build the step manager of the recorder. 3 steps out of 5 are already at an advanced stage of completion, but this is still work in progress.

For more technical details, see weeks 5 to 9 on my weekly reports.



This month, I've finished a first stable release of the RecordWizard. This is fully functional, including speaker profile management, word list generators, the recorder itself, uploading files to Commons and the link with our local wikibase (to create and updates items for the speakers and the record files). Even if all major features are included in this release, there is still work to do on this extension, including design and UX enhancement for example.

A testing period has started with a small number of person to get some feedbacks and to guide the upcoming development on it. Meanwhile, I've started some work on the skin of LinguaLibre, switching from timeless to foreground, which correspond more to our needs, and starting to customize it.

For more technical details, see weeks 10 to 13 on my weekly reports.



In April, I've focus my work on the data exploration and visualization part. I had two goals in minds: made the data easily available for newcomer who had never seen code before, but also let SPARQL experts play around with our data and share their work with anybody.

So, I've set up a SPARQL endpoint (currently available at, but it will move shortly) with blazegraph's default GUI on top to let anybody write and run their own queries. Once done, I've written a new small MediaWiki extension (activated on LinguaLibre), QueryViz, allowing any (experimented) contributor to add a SPARQL query to a page on the wiki, which will be replaced by it's result for the visitor.

Three examples can be tested: explore all the records, all the locutors or more general stats.

As usual, more technical details can be found on my weekly reports (see weeks 14 to 17).

This month's schedule was centered around the Wikimedia Hackathon of Barcelona.

During the first half of the months, I've focused on code quality, feature stabilization and documentation. I've also started to setup a production environment for Lingua Libre. This allowed me to deploy the first public version of Lingua Libre on May 16!

During the Hackathon, I had the opportunity to show off the project to many people, including WMF / WMDe staff; we recorded there around 500 words in Catalan, French, Occitan and Fon-gbe languages. I had also interesting talks about the best way to integrate Lingua Libre with the incoming Lexeme on Wikidata and Structured Data on Commons. Last, this was the occasion to get some help from other Wikimedians about specific stuff, especially from Nikerabbit (he added the Record Wizard to translatewiki) and from Trizek (he helped me for the UI/UX-part), thanks to them.

All those interactions and demos I've made brought me many new ideas and ways of improvement. I've extended the Record Wizard for it to be able to support homograph words and way more languages (basically every language having a Wikidata item).

By the way, Lingua Libre has now it's own phabricator project!

More technical details are available on my weekly reports (see weeks 18 to 22).





Is your final report due but you need more time?