Grants:IEG/Enhance the ProveIt gadget

Enhance the ProveIt gadget
summaryEnhance the ProveIt gadget
strategic priorityimproving quality
amountplease add the amount you are requesting (USD)
created on14:02, 8 April 2016 (UTC)
round 2 2015

Project idea edit

What is the problem you're trying to solve? edit

Wikipedia is always in need of more and better references. However, referencing is a difficult task because the citation templates are complex and because it takes a long time to gather and write all the information needed to do a complete reference (year of publication, isbn, full name of the author, etc).

What is your solution? edit

The ProveIt gadget is a reference manager that scans the wikitext of any page you're editing and creates a visual interface for easily adding and editing references. My proposal to ease the referencing process is to optimise the gadget and to connect it with Wikidata or a custom database at Tool Labs so that references are autocompleted with data taken from there. Furthermore, new references created with the gadget and new data added to existing references will be saved into Wikidata/Tool Labs, so the next time someone wants to reference the same work, the gadget will autocomplete the fields. This way the data for each reference will only need to be entered once, and future users will only reuse, correct and extend existing data.

Project goals edit

  • Enhance the gadget by integrating it with the TemplateData extension, connecting it with Wikidata or Tool Labs, localising it to more languages, fixing reported bugs and adding requested enhancements.
  • Spread the gadget to the top Wikipedias.
  • Increase the amount of references created with the gadget.
  • Improve the quality of references created with the gadget.

Project plan edit

Activities edit

  1. Migrate the gadget from GitHub to Gerrit. The repo has already been created, I will move the code there, create a project for it at Phabricator, migrate the GitHub issues to Phabricator, create documentation at Commons, and copy the latest code to the MediaWiki namespace at Commons. This will allow all Wikipedias to load the latest code directly from Commons (like HotCat does), thus keeping them in sync with the latest code and with each other, and driving developers from all Wikipedias to contribute to the same source code rather than their local versions. ProveIt will then become the first gadget to have this setup, becoming an example for others to follow, a first step towards centralising the gadget landscape, a difficult task that has been long been hoped for.
  2. Finish the integration with the TemplateData extension that I started during the Wikimedia Hackathon 2016. This will allow the list of templates and parameters in the gadget to be populated and updated automatically, as users add template data to the documentation of the citation templates. I will also ensure that this data is added to all the citation templates in the Spanish and English Wikipedias (the languages I know). This will also be useful for every other tool that uses TemplateData, like the VisualEditor. Finally, I will leave translated messages in the top Wikipedias, asking their communities to fill the template data for their citation templates.
  3. Localise the gadget to more languages and spread it to the top Wikipedias. Once the integration with TemplateData is complete, localising to more languages will become a much easier task.
  4. Connect the gadget with Wikidata or Tool Labs, so that references are autocompleted when enough information has been inputed to uniquely identify them. For example, if someone enters "Darwin" as the surname and "On the Origin of Species" as the title, the gadget will query Wikidata/Tool Labs, find that there is only one item matching these two criteria, and autocomplete the rest of the reference with the data from the matched item. This will also work the other way round. If a user enters a reference and no item is found on Wikidata/Tool Labs for it, the data inputed by the user will be inserted, so that the next time it can be autocompleted.
  5. Fix as many reported bugs as possible and add as many requested enhancements as possible, from the list of issues submitted by users at

Budget edit

Development time of one developer for six months. The grantee is from Argentina, where a regular salary for a part-time job in 2016 is of about 500 dollars per month (7000 ARS).

Period Activities Budget
July 2016 Migrate the gadget to Gerrit, the GitHub issues to Phabricator, the live code and documentation to Commons. USD 500
August 2016 Finish the integration with TemplateData, start spreading the word. USD 500
September 2016 Localise the gadget to the top Wikipedia languages, continue the spread campaign. USD 500
October and November 2016 Integrate the gadget with Wikidata or a custom database at Tool Labs, continue the spread campaign. USD 1000
December 2016 Fix reported bugs, add requested enhancements, continue the spread campaign. USD 500

Community engagement edit

  • After migrating the gadget to Gerrit, I will create a project for it at Phabricator for the community to be able to request enhancements and report bugs.
  • I will create centralised documentation for the gadget at Commons, so the associated discussion page will also become a channel for the community to provide feedback.
  • Every time the gadget is localised to a new language, I will spread the word to the corresponding Wikipedia, so that they adopt the gadget, update the template data of their citation templates, and join the development if they want to.

Sustainability edit

The gadget predates this project and will outlive it. After this project is completed, the gadget will be at its best and integrating it to new Wikipedias will be easier than ever. The code will comply with the JavaScript code-conventions, it will be well documented (both in the source and in Commons) and development will take place in few places (the Gerrit repo, Phabricator, and Commons) so it should be much easier for new developers to join in.

I also hope to set the example for other gadgets to follow, regarding how to set up the development environment, so that after this project is completed, other top gadgets such as HotCat may adopt the same setup.

Measures of success edit

The project has four main goals: enhancing the gadget, spreading the gadget, increasing the amount of references, and improving the quality of references. Below are my measures of success for each of these goals:

  • The enhancement of the gadget can be measured by wether or not I manage to add all the features I promise.
  • The spread of the gadget can be measured by two metrics. First, by looking at how many new wikipedias adopt the gadget. Currently, of the top 10 wikipedias, the gadget is available only in the English and Spanish editions. I will spread it to the remaining 8 (German, French, Portuguese, Polish, Japanese, Russian and Italian). If any of the communities for whatever reason doesn't adopt the gadget, I will spread it to the next wikipedia, so that in the end it will be spread to at least 8 wikipedias. The second metric for measuring the spread of the gadget is to look at the amount of users that enable the gadget from Wikipedia:Special:GadgetUsage. The current total is of 13000 users in the English Wikipedia and 420 in the Spanish Wikipedia. I'll aim for a total of 1000 new users with the gadget enabled, distributed among the top Wikipedias.
  • The increase in the amount of references added with ProveIt can be measured by counting the edits marked with the #proveit revtag. I aim to double the amount of monthly edits done with the ProveIt gadget. I'll request stats for April to compare and post them here when I have them.
  • The improvement in the quality of references is a bit trickier, but I propose the following measure of success. As explained above, one of the features I want to add to the gadget is that when a user adds a reference that isn't found in Wikidata/Tool Labs, ProveIt will insert it, so that in the future this same reference doesn't need to be written in full again (next time it will be autocompleted by ProveIt). Also, when a user adds some data to an existing reference, or modifies some data, this new data will be saved to Wikidata/Tool Labs. If I do the integration with Wikidata, all these edits done by the gadget can be marked with the #proveit revtag in Wikidata. The amount of edits done to Wikidata by the gadget is a good measure of the increase in the quality of the references. If instead I use a custom database at Tool Labs, counting the amount of contributions will be even easier. However, I expect this functionality to be one of the last ones to be implemented, so I set a modest goal of 100 edits done to Wikidata by the gadget, or 100 rows in the custom database at Tool Labs.

Get involved edit

Participants edit

Felipe is a seasoned wikimedian and one of the main developers of the ProveIt gadget. He has internationalised the gadget, localised it to Spanish, redesigned the interface, fixed several bugs and done many enhancements. He developed Wikidebate project, the WikiWidgets project, two wikiwidgets (Formicarium and Vivarium), several extensions, skins, and some core code. He's a freelance web developer specialised in MediaWiki (Upwork profile), attended two Wikimedia Hackathons (Amsterdam 2013 and Jerusalem 2016), the Wikimania 2009, and has been contributing to Wikipedia continually since 2008.

Community Notification edit

  • The gadget was originally developed by a team of Wikipedians at Georgia Tech, including Matthew Flaschen, Kurt Luther, Terris Johnson, Amy Bruckman, Andrea Forte, and Christopher Jordan. I have notified the ones I could contact.
  • My involvement with the gadget started because of what happened in a design workshop in the Hackathon 2013 with Oren Bochman. I have notified him too in his talk page.
  • I created an issue at the GitHub repo where the gadget development takes place
  • I added a notification at the talk page of the main documentation page for the gadget in the English Wikipedia.
  • I added a notification at the news section of the Spanish Wikipedia community.
  • I added a notification at the news section of the English Wikipedia community.
  • I notified Anna Torres, the executive director of my local Wikimedia chapter.

Endorsements edit

Do you think this project should be selected for an Individual Engagement Grant? Please add your name and rationale for endorsing this project in the list below. (Other constructive feedback is welcome on the talk page of this proposal).

  • I'm one of the developers of the ProveIt gadget. Felipe has shown himself to be a strong software engineer, committed to improving ProveIt. I'm excited about the ideas he has described, including integration with TemplateData and Wikidata. I had an opportunity to collaborate with him earlier on ProveIt, and he proved efficient and easy to work with. See other feedback on the talk page. Mattflaschen - Talk 21:22, 10 April 2016 (UTC)
  • References, i.e. secondary sources, are the raison d'être for the various Wikimedia projects. Anything that can improve and ease the process of supplying references and the added bonus of possible future cross-wiki use, make this project worthwile. Asav (talk) 07:13, 11 April 2016 (UTC)
  • ProveIt is a huge convenience when working on well-sourced articles but it has lacked maintenance and updates for a couple years. In my daily practice I have come up with several ideas to improve the gadget, and I welcome an initiative to get things done. JFG (talk) 18:11, 18 April 2016 (UTC)
  • I'm taken some time to review this proposal. Any significant improvement in the ProveIt will positively improve the quality of Wikipedia articles while reducing workloads on editors. Felipe is a long time community developer and is working on a number of related projects. OrenBochman (talk) 09:15, 27 April 2016 (UTC)
  • This proposal makes sense to me. I use ProveIt on virtually every article I edit and find it invaluable as is. However, making it more universal and increasing its features will encourage even better sourcing of articles. This financial request seems like it would provide great value to the community. Arg342 (talk) 03:47, 30 April 2016 (UTC)
  • I like the idea behind ProveIt, had tried it a few times but did not find it convenient for my reference-related workflows. The simple existence of this project and the details described herein now triggered me to enable it again in my preferences, and I am looking forward to providing feedback in case I am stumbling across any issues. -- Daniel Mietchen (talk) 23:04, 18 August 2016 (UTC)
  • Repetitive actions reduced, very much needed for the behind the scenes article maintenance. GenQuest (talk) 13:30, 22 November 2020 (UTC)
  • Would be a good idea to improve any gadgets. DXLB Muzikant (talk) 12:39, 26 August 2021 (UTC)