Grants:Project/Rapid/Chlod/Contributor copyright investigation tool/Report
Goals
editDid you meet your goals? Are you happy with how the project went?
- The overall goal I wanted to have for this project was to make it easier to deal with copyright cases and problems on Wikipedia. With the release of the tool, I'm very proud to report that I've met this goal. Overall, I'm happy about how the project turned out, and I'm even happier that I'll get to ease the workload of Wikipedia's copyright cleanup editors. Although it was met with slight delays (particularly due to interference from my personal life that was not accounted for in the original proposal), I was still able to complete the script as originally conceptualized, and with additional features that I'd thought up during development.
Outcome
editPlease report on your original project targets. Please be sure to review and provide metrics required for Rapid Grants.
Target outcome | Achieved outcome | Explanation |
Have made long-lasting tool that aids editors in dealing with copyright violations on-wiki | Done | This is perhaps the target with the most weight on the project. After a few months of development, I'm proud to have developed a working (and maintainable) tool for dealing with copyright cleanup in general. It's been named Deputy, from the rank "deputy inspector/investigator".
Returning to the original target outcomes broken down per task, the following have been achieved, partially achieved, or not done:
This tallies up to 12 goals completed — 4 for implementation/further action — and 3 not done or deferred to a late date pending certain prerequisites. I find these as acceptable given that this script is the first of its kind, and that a lot of the functionality and features have been developed and conceptualized from scratch. As originally promised, this script will see continuous development much further than the grant period, so none of these tasks are truly 'cancelled', merely shelved for a later time. |
Have made a modular tool which can allow users to only load specific parts of the tool if they so wish (to optimize loading times) | Done | This is more of an optimization goal rather than an actual project goal, as is customary of most of my works (which I aim to be efficient and optimized). Two modules of Deputy can be executed without the need to load the Deputy script as a whole: the module for modifying or adding content attribution notices and the module for tagging and reporting pages to a copyright noticeboard. |
Have invited more editors to contribute in the copyright cleanup field | To be determined | This can't be determined immediately since this is more of a lasting effect of the tool. However, I can assure that the tool contributes to this by decreasing the learning curve required to process cases, apply templates, etc. I'm hoping that the cleaner interface provided by Deputy on CCI pages will be more inviting for users who wish to partake in cleanup efforts. |
Have helped in decreasing the amount of open cases and bringing the backlog to a continuous net negative in case count | To be determined | Like above, this can't be determined immediately, but was considered in development and will hopefully be attained in the future, given enough time. |
Learning
editProjects do not always go according to plan. Sharing what you learned can help you and others plan similar projects in the future. Help the movement learn from your experience by answering the following questions:
- What worked well?
- Prior to actual work on the script, I put a lot of time in conceptualizing designs and interfaces, seeing which one would "feel" most comfortable to a user. This includes drafting using Figma mock-ups, notebook pages, and numerous sticky notes (of which have already been sacrificed to the garbage can). All this planning ended up to be extremely useful: I had a set look and goal that I wanted to work towards, and thus the path for development was rather straightforward.
- Despite some gaps in the development period, I was able to get back on track with development with minimal relearning thanks to these drafts and with code comments. So in this case my advice for future Wikimedians wishing to embark on similar projects: plan ahead and plan well, as this will streamline things much better. Whenever in doubt, consult others (be it other Wikimedians, friends, perhaps family) on strategies and steps. There's also no shame in leaving things undefined so that they can be determined later — that's the joy of software development.
- What did not work so well?
- My strictness in following the plan ended up not working well, as personal circumstances caused a roadblock in the project. Midway through the grant period, my school required students to attend face-to-face classes (which, in the Philippines on May 2022, was still very limited) in order to attend graduation rites, causing me to lose access to my usual workspace (and subsequently, internet speeds) and be preoccupied on school-related matters. In addition, I had to deal with moving from a rural area to Metro Manila in preparation for my first year of college (early August 2022) and mental stress from all of these happening at once and personal relationships. These two delays ended up increasing my workload on times that I spent on development work.
- My advice for developers following this path: there are times when the timetable can get tilted a bit. There are also times when an extinction meteor comes straight for it. In either event, it's best to remain calm, assess the damage, and realign your plans. In this case, redoing the timetable I had around early June showed that the time I had left was too small for the remaining window. Because of this, I requested (and was graciously granted) an extension, in which I was able to do the remaining work.
- What would you do differently next time?
- For this grant which entailed the development of a tool with an original concept, I'd definitely decrease the amount of work I initially expected to take on. I had assumed that I would be able to complete all the tasks I initially listed in the grant proposal within just two months which, retrospectively, was a bad miscalculation on my part that ended up exhausting me out a bit. Even for MediaWiki features implemented by Wikimedia Foundation employees, software development takes time to perfect, and I should have considered that when deciding on the duration of the grant. Nevertheless, this didn't end up causing too much trouble, as the tool was still developed and completed within three months.
- Perhaps another idea for the future: do projects like these in pairs or groups, with the other person acting as a consultant or additional developer. Second opinions are important, especially when creating software that is expected to see frequent use from a specific demographic.
Finances
editGrant funds spent
editPlease describe how much grant money you spent for approved expenses, and tell us what you spent it on.
- US$2,000 for three months of software development work.
Remaining funds
editDo you have any remaining grant funds?
- There are no remaining grant funds.
Anything else
editAnything else you want to share about your project?
- Deputy is a modern take on userscripts, and therefore deviates from traditional userscript development. It is developed primarily with TypeScript, which makes debugging and compile-time error checking much easier, and uses Puppeteer+Jest for unit and integration testing. In a sense, this is less of a "pet project" and more of a serious technical project big on maintainability — a must-have for projects that take on big tasks, such as carrying much of the copyright cleanup workflow.
- Deputy is not a gadget as of now and instead runs as a userscript since it is compiled to ES6, which MediaWiki does not yet support. Nevertheless, I'm very proud in what I've made and proud of the work and effort I've put into making it. I'll be continuing development of Deputy far past this grant's execution period in my capacity as a volunteer software developer, ensuring the longevity of the script.