Report on Wikipedia Hackathon held in Hyderabad

Posted by Yuvi Panda at Nov 19, 2012 02:30 AM |
BITS Hyderabad had a tech fest from October 25 to 27, 2012, and wanted to conduct a technical wiki hackathon. We decided to do it on October 26 — all night.

We had a Google form that people filled up with a few simple questions — and picked out 12 from the 70 that signed up. This was important since I was the only one conducting it — and I wanted to keep it to a manageable number. It was an all night event that started at 7 p.m. in the evening and was supposed to go on till 6 a.m. next morning.

Hackathon

The hackathon started as scheduled around 7.00 p.m. As people trickled in I talked to them individually and mentally sorted them into two groups — 'people who are already programmatically competent enough to contribute code' and people who were not. A lot of people who were not selected but applied also showed up — since we had not sent rejection emails. I got them started on learning either Javascript or Python — and helped push them along. However, a good amount of time was spent with people who already had prior coding experience.

Most people worked on Gadgets, and a few on Python — exploring the API. We started off with basics of how to customize your Wikipedia experience with JS and CSS, building a very basic user script that changed colours / added new links. Some of the participants spent the entire night building this and others finished this in a few minutes and were on to the next project. Everyone worked at their own pace — and since there were smaller number of people I was able to (mostly) provide individual attention.

As people started working on stuff past hello world, I introduced them to IRC (#wikipedia-en and #mediawiki) and had them say 'hi' to editors. I also introduced them to a bunch of local hacker channels on IRC — and quite a few of them stayed on.

A fair amount of people left at around midnight — but a 'core' group seemed to have formed that stayed on. We hacked on to the wee hours of the morning, and even took small naps. We wound up at around 6 a.m., and staggered back to the hostels (and then proceeded to have long conversations about Linux, history of programming, and graphical raytracing).

Outcomes

We had some students who contributed substantially including Thomas Matthew, Vishwajit Kolathur, Aravind Peddapudi and Varun Chappidi. Most of them have been introduced to the local hacker community via IRC, and I see reports of continuing participation — after accounting for their ongoing exams. They all are technically very competent and have expressed interest in doing Google Summer of Code this year. Among the projects did at the hackathon are:

  1. 'Reading mode' gadget
  2. 'Reading mode' Chrome Extension that is wikipedia specific
  3. Major work on a '3 hours later' type extension (a tool to produce graphs like (http://xkcd.com/214)

The fact that these people went from having no experience with Wiki related programming to being able to build code for it in a few hours time makes me very happy.

Learnings

  1. Make sure people know that 'Hack'athon has nothing to do with cracking wifi passwords or breaking into Facebook accounts. We had a 'lot' of people apply thinking that was this despite a clear description. I was told that some of the people evangelizing the event also thought the same — so clearer messaging around this was needed.
  2. Send rejection emails. We missed this, and sent only acceptance emails. A lot of people who weren't accepted turned up and we had to figure a way to engage them.
  3. More organized followups. Currently all I can do is introduce them to the local hacker community and hope they 'stick'. GSoC is a good spot, but is too infrequent — and too high stakes.
  4. Find more things for them to do. We had to actually stretch a bit to find them things to do — they were all raring to go, but we found it hard to find 'easy' bugs for them to fix that were actually useful to editors. Clearly editors have a lot of things in their mind that would  make their lives better — but they are not listed anywhere public. Having a publicly available list of such things would be helpful. (There is a Gadget requests page (https://en.wikipedia.org/wiki/Wikipedia:WikiProject_User_scripts/Requests), but it hasn't been updated in ages).

Finally, I would like to thank the Centre for Internet & Society for supporting my travel for the event, Thomas from BITS for organizing most of the logistics and Ravi Chandra from the Tor community for helping provide technical mentorship.