It seems like only yesterday when I was selected for Google Summer of Code in 2022. Even though the internship spanned almost 4 months, to me, it felt like it was over in a flash. I had made a substantial number of contributions, and I was happy with the work I had done. Even apart from the technical stuff, the virtual meetings, the banter with my mentors, and talking with the other interns about anything under the roof was stuff that I was going to miss.
So when I realized the Dashboard was participating in GSoC again, I knew I had to apply
I won’t bore you all with the details of my last GSoC experience. There’s not a lot I can say that I haven’t already said in the half-a-dozen posts I wrote last year.
But suffice it to say, it was an invigorating experience. I learned a lot, made a lot of friends, had a great deal of fun, and hopefully made a difference to the project. But something I knew even back then was that my project - regardless of how massive and complex it was - was limited to the developer side of the Dashboard.
Most users would notice nothing different with the Dashboard - apart from perhaps faster loading times due to the bundle size improvements I had worked upon. But that was it. This isn’t to undermine the work I did - I’m proud of it and I’m glad I did it. But I wanted to do something that would be more visible to the users.
And so I was rather happy to see the official GSoC idea for the Dashboard this year - it was about improving the user interface surrounding scoping methods - and would involve me designing(and then implementing) a new UI from scratch.
This was exactly what I was looking for.
My proposal can be found here, but don’t worry, I’ll summarize it here. Firstly, for those not familiar with the Dashboard, this is for you.
WikiEduDashboard(which I generally shorten to simply “Dashboard”) is a tool that helps instructors manage their courses on Wikipedia. Its primary use case is for instructors who want to use Wikipedia as a teaching tool in their classrooms - say for tracking the articles their students contribute to, or for grading them based on the quality of their contributions.
Now, let’s come to my proposal. Currently, the Dashboard allows majorly 4 ways to track individual articles. They are
The last two are a bit more advanced for this post, so I’ll instead focus on the first two since both of them are fairly self-explanatory.
For one, the instructor can specify a category and the Dashboard will track all articles in that category. “By Template” is similar - the instructor can specify a template and the Dashboard will track all articles that use that template. This means that instructors need not manually add articles to their courses - they can simply specify a category or a template and the Dashboard will do the rest. Unfortunately, while this is a pretty useful feature, the current UI surrounding it is far from ideal - it’s buried deep within the settings and is not very intuitive to use.
My proposal then was simple - create a UI that is front and center when an instructor creates a new course. This way, the instructor need not dig into the settings to configure scoping methods(if they even knew that they existed) and can instead do it right from the course creation page.
Of course, that wouldn’t work for existing courses. This is why I also proposed adding a banner of some sort to indicate that the instructor can configure scoping methods for the course if they haven’t already. Clicking on it would take them to the same UI as the one I proposed for the course creation page.
I published my proposal fairly early on and was glad to see that Sage liked it. Then of course was the month-long wait for the results. I was fairly confident but I was also aware that the competition was a lot tougher than the last time - the competing proposals were all excellent and the results could go either way.
As always, the GSoC website crashed on the day of the results and I had to wait for an email for hours before I knew that I was selected. I felt rather bad for Kunal and Vaidehi who couldn’t make it but it was always going to be a coin toss with just 2 slots. Amine and I were selected as GSoC interns and I’m really excited for his project.
The Outreachy results were also announced on the same day, and Sulagna was the one selected for the Dashboard. Amine, Sulagna and I had a quick video call to discuss our projects(and everything else!) and I’m really looking forward to working with them.
The coding period starts today and I can’t wait to get started. I’ll be posting regular updates on my progress here so stay tuned for that.
Here’s to another great summer of code!