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.
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.
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.