Assisting strategically important tools for content partnerships

Wikimedia Sverige
Sebastian Berlin (WMSE), CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons

Wikimedia Sverige is investigating, experimenting and preparing for the opportunity of supporting and coordinating content partnerships in the global Wikimedia movement, by developing a Thematic hub for content partnerships. One area of experimentation is how we can support software development of strategically important tools used in content partnerships. We decided to focus on two tools that were both frequently used and facing serious issues.

ISA

Sandra Fauconnier, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons

ISA is a tool that allows users to add structured data to images on Wikimedia Commons. The tool makes it easy to contribute with information, even if you’re not experienced with Wikimedia Commons.

At the time of writing more than 395,000 contributions have been made by over 600 users. These contributions are either captions, which can be in any language, or the property depicts. The latter is used to describe what can be seen in an image and is language independent.

Patching holes and tuning up

We were contacted by the ISA team in August 2021 with a request for development support. At this point the initial project to develop the tool had ended. While some maintenance work was still being done a number of issues had cropped up. Some of these were serious enough that the tool may have to be taken down if they were not solved.

We started with a brief overview of the code and talking to the developers. This resulted in a list of prioritised tasks. Then we started to work with the most critical issues that included a couple of security issues, slow loading of pages and translating the interface through Translatewiki.net.

We also implemented a few new features and did some work behind the scenes. The latter doesn’t change the user experience directly, but should reduce the risk of things going awry in the future and ensure long term-stability and reduced maintenance work.

Pattypan

Marta Malina Moraczewska, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons

Pattypan is a tool for uploading batches of files to Wikimedia Commons. It has been used by Wikimedian and GLAM institutions to upload more than 1 million media files.

After a change to the MediaWiki APIs, that is used by Pattypan among other tools, it stopped working. This happened to coincide with the code using an outdated version of Java (which Pattypan is written in) meaning that even if it was fixed, it was difficult to get it running. As a result many who were relying on Pattypan for their work were stuck. This wish from the technical wishlist gives an idea of how this affected people.

Packaging for ease of use

One of the developers working on Pattypan put out a request for help with packaging the tool. This would make it easier for users to run the tool with the newer version of Java. It would also speed up development since it would make testing easier.

After reading up on the available documentation and a bit of experimenting we figured out how to package Pattypan. It now runs on Linux, Mac and Windows and only requires the user to have Java runtime installed.

With some other changes that fixed the issue with the API and our work, the volunteer developer made a new release of the tool. This has allowed the people who depend on Pattypan to continue their work.

The need to maintain tools

These two tools have a few things in common: they make it easier for wikimedians to contribute, they are widely used and they are fragile. That is, there is no system in place to ensure that they are maintained. They depend on one or few developers who may not be willing or able to continue their work.

While these tools are open source, and in theory anyone can pick them up to fix bugs and add features, it’s often not that easy. Especially if the original developers are no longer available and the code isn’t well documented, which may be the case if something started out as a hobby project.

Wikimedia Sverige wants to help improve this situation, to make sure that essential tools for partnerships in the Wikimedia movement are better supported, allowing Wikimedians around the world to reliably work on content partnerships. After the experience we have now gained by supporting the ISA Tool and Pattypan, we are exploring how this can best be organised together with Wikimedians, Wikimedia affiliates, volunteer developers and other stakeholders. You can read more about this exploration on the hub portal on meta.wikimedia.org.

Please reach out to us if you have any suggestions, ideas or questions. You can email Sebastian or Sandra.