</n>

Introducing Toolhunt

An Introduction to Toolhunt

January 10, 2023

Happy New Year’s, everyone, and welcome to the third installment of my Outreachy internship blog post series.  I keep mentioning this internship, and it’s about time that I explained what I’m actually doing here.

Outreachy is an organization that provides internships with open source and open science organizations. I’m not interning with them, as such.  Rather, I’ve been placed into an internship with the Wikimedia Foundation.

Everyone’s heard of Wikipedia, of course, but it’s just one of many free knowledge projects hosted by the Foundation (albeit the most well-known one).  Needless to say, it's a big place, in which I occupy a very tiny corner within a sub-project called Toolhub.

Toolhub is a catalog of software applications which interact with Wikimedia projects.  We’re talking things like scripts, bots, and web and mobile applications.  Essentially, a “tool” is a software application that can be used to improve a user’s experience when interacting with a Wikimedia project.

Each tool has its own Wikimedia page, where users can find information, such as the tool’s description, software license, and the languages its interface has been translated into, as well as additional links, for instance to a GitHub repository or to developer documentation.

In many cases, however, these pages aren’t very well fleshed out, and the tools lack documentation and other information that could make them easier to understand and use.

Once a tool has been registered on Toolhub and its record created in the database, there are some pieces of information about it — such as its name and its author — that can’t be changed.  But there are other pieces that can be added or edited.

These make up what’s called the “annotation layer” in the database record and include such things as an associated icon, the type of tool (e.g., a bot or a web app), and links to documentation.

Essentially, my task, along with fellow intern Hannah and our mentors Slavina and Damilare, is to design and deploy a web app (Toolhunt) that searches Toolhub’s database, locates tools that are missing information in the annotation layer (which is just about all of them), and presents these gaps in the data as challenges for the user to tackle, e.g.  “We’re missing a link to this tool’s repository.  Can you find it?”

Ultimately, we’re trying to convince people to help us fill information holes, and in order to do that we need to make it as easy and rewarding as possible.

The project was inspired by another tool, Citation Hunt, which does a similar thing with Wikipedia articles.

Have you ever been browsing Wikipedia and come across the tag “[citation needed]”?   Citation Hunt displays the snippets of articles marked with this tag and invites the user to search for a reliable source and add it to Wikipedia.  In order to encourage a little friendly competition, Citation Hunt tracks user contributions and presents this information in a leaderboard.

We’re doing the same with Toolhunt.  In addition to the record editing interface, the application will include a leaderboard and a dashboard where users can keep track of their personal contributions, the latest global contributions, and the overall state of the project.

But maybe it’s easier to show than to tell.

As part of the application process, candidates were asked to design a mock front-end for the project. Although the final design isn’t going to be quite the same (Hannah’s design for the homepage was much less busy than mine), you can get a pretty good idea of what the application is intended to do from my preliminary work .  (And if you'd like to see the code behind it, here's the repository.)

Toolhunt itself is still very much a work in progress, but feel free to check out our front-end repository.

Next time I’ll be going into more detail about our tech stack and some of the challenges we’ve faced during the first half of the internship period.