Outreachy/Round 15/Ideas for projects

Ideas we showcased for the Outreachy Round 15 are below. Out of these seven projects; we accepted proposals for six projects.

Translation outreach for user guides on MediaWiki.org
The Wikimedia movement has a lot of technical user guides and other technical documentation in English, relevant for users of all languages, hosted on MediaWiki.org. This is usually translatable and rarely translated, at least not into more than a few languages, leaving many Wikimedians without documentation of their software in languages they can comfortably read. The road to becoming a translator are difficult to find, and it's difficult to get engaged in the movement as a translator rather than as a an editor who sooner or later ends up helping out with translation. Some of the tasks as part of this project would be to: Identify places and communities where it'd make sense to reach out to potential translators, identify ways to do it, test them and make sure someone else can continue the work.

Skills required Localization of technical documentation

More details https://phabricator.wikimedia.org/T158296

Mentors Johan Jönsson, Benoît Evellin

Develop a tool for displaying a user contribution summary
In the open source movement, showing contributions to users as a proof of their skill and dedication is a powerful method of increasing motivation and participation. In Wikipedia, due to its highly collaborative nature, the value of one's participation is tough to measure for an outsider, which makes it hard for contributors to take credit for the value they added to Wikipedia. It is a hard problem that needs to be tackled gradually over time. A first good step would be the creation of a contribution summarizing tool that highlights contributions in an easy-to-understand manner, that helps drawing new editors to the project and existing ones to spend more time on Wikipedia.

Skills required Sitebuilding (HTML, CSS, JS), familiarity with atleast one backend language

More details https://phabricator.wikimedia.org/T174528

Mentor Gergő Tisza, Stephen LaPorte

Automatically detect spambot registration using machine learning like invisible reCAPTCHA
Please note: We've received a lot of applications for this project and we will no longer be accepting more

Wikimedia's captchas are fundamentally broken: while they can filter out the most stupid spambots, they are easily breakable with off-the-shelf tools. At the same time, they take multiple tries for a human to solve it, and are particularly bad for people with visual impairments and those who don't speak English or don't even use Latin script. Our captcha stats show a failure rate of around 30%, and we don't know what percentage of this is due to crawlers/spambots. Artificial intelligence could be used to build something like reCAPTCHA, essentially a two-tier system where we give users a small test to complete, the system then collects as much information as possible (timing, mouse movements, browser details, etc.) and makes a judgment based on the information. Suspicious users could be given a harder test (e.g., a regular captcha, using image recognition, etc.) The first test could be considered to be invisible like Google does with invisible reCAPTCHA.

Skills required Basic PHP/Javascript, Python, Machine Learning

More details https://phabricator.wikimedia.org/T158909

Mentors Gergő Tisza, Adam Wight

Improvements to Grants Review and Wikimania Scholarships web applications
Wikimedia-IEG-grant-review and Wikimedia-Wikimania-Scholarships apps are in need of some love. Wikimedia-IEG-grant-review is an app for admins of a grant program to review and evaluate scholarship applications (test version). Wikimedia-Wikimania-Scholarships is pretty similar. The app is meant to accept scholarship applications from users and at the backend, for admins to review and score these applications (demo version).

Skills required Basic web application development with PHP, Familiarity with Wikimedia universe

More details https://phabricator.wikimedia.org/T174759

Mentors Bryan Davis, Niharika Kohli

Improve Programs & Events Dashboard support for Art+Feminism 2018
Programs & Events Dashboard is a Ruby on Rails app with a React.js frontend. Its main purpose is to help organize and track group editing projects on Wikipedia and other wikis. It was initially designed to support the Wikipedia Education Program on English Wikipedia, in which university students write Wikipedia articles in the classes, but is gradually being extended to support other use cases such as edit-a-thons, and to work better for other languages and projects. One of the major use cases is the Art+Feminism project, a world-wide program of edit-a-thons that take place each March. Art+Feminism used the Dashboard to organize its 2017 events for the first time, and identified a range of problems and desired features afterwards. In coordination with Art+Feminism organizers, this project will focus on improving the Dashboard to better support Art+Feminism 2018, which takes place in March 2018 and is largely planned in February 2018. The dashboard report linked above will be a useful starting point for figuring out which specific improvements to prioritize.

Skills required Ruby on Rails, JavaScript, CSS, React.js and Redux, Web design

More details https://phabricator.wikimedia.org/T174715

Mentors Sage Ross, Jonathan Morgan

Improvements for the Toolforge 'webservice' command
is a Python application used by Toolforge members to start and stop web services for their tools. This project is about fixing a lot of outstanding bugs and addressing feature requests to make this widely used command nicer.

Skills required Familiarity with Python, Toolforge and Wikimedia movement

More details https://phabricator.wikimedia.org/T147618

Mentors Andrew Bogott, Bryan Davis, Madhumitha Viswanathan

MassMessage technical debt cleanup/refactoring
MassMessage extension allows a user to send a message to a list of pages or multiple users at the same time via special page Special:MassMessage. Over the years (4+), technical debt or code debt has accumulated which needs reworking / refactoring as most large wikis are using this extension already like; Commons, MediaWiki, Meta-Wiki, Wikipedia, Wikidata etc. The various areas that needs rework to make the extension match recent MediaWiki standards are; There are probably more bugs to be address but the above is good enough for the scope of Outreachy.
 * Putting the extension into the MediaWiki PHP name space (MediaWiki\MassMessage).
 * Should have "targets" use value Objects instead of using arrays.
 * Convert MassMessage::getTargets into an abstract (for example; SpamlistLookup or something), and enable other classes to extend it.
 * Allow the use of Wikidata item as spam lists, (see here: T171617).
 * Should be able to warn when tag is present but no tag is present, (see here: T156167).

Skills required HTML & CSS, PHP, JavaScript, Familiarity with MediaWiki.

More details https://phabricator.wikimedia.org/T178431.

Mentors Legoktm, Alangi Derick