Thought this would be interesting to wikitech-l.
---------- Forwarded message ---------- From: Yuvi Panda yuvipanda@gmail.com Date: Tue, Mar 27, 2012 at 1:47 PM Subject: Chennai Unofficial Wikimedia Hackathon Report To: "Discussion list on Indian language projects of Wikimedia." wikimediaindia-l@lists.wikimedia.org
The Chennai Unofficial Wikimedia Hackathon Report
TL;DR: 13 completed hacks, including 2 core mediawiki patches, 3 tawiki userscript updates and 2 new deployed tools. It was super awesome and super productive!
The 'Unofficial' Chennai Wikimedia Hackathon(http://www.mediawiki.org/wiki/Chennai_Hackathon_March_2012) happened on Saturday, March 17 2012 at the Thoughtworks office in Chennai. It was a one day, 8 hour event focusing on getting people together to hack on stuff related to all Wikimedia projects - not just Mediawiki patches.
The event started with us sailing past security reasonably easily, and getting setup with internet without a glitch. People trickled in and soon enough we had 21 people in there. Since this was a pure hackathon, there were no explicit tutorials or presentations. As people came in, we asked them what technologies/fields they are familiar with, and picked out an idea for them to work on from the Ideas List (http://www.mediawiki.org/wiki/Chennai_Hackathon_March_2012/Ideas). This took care of the biggest problem with hackathons with new people - half the day spent on figuring out what to work on, and when found, it is completely outside the domain of expertise of the people hacking on the idea. Talking together with them fast to pick an idea within 5 minutes that they can complete in the day fixed this problem and made sure people can concentrate on coding for the rest of the day.
People started hacking, and just before lunch we made people come up and tell us what they were working on. We then broke for lunch and usual socialization happened over McDonalds burgers and Saravana Bhavan dosas. Hacking started soon after, and people were concentrating on getting their hacks done before the demo time. And we did have quite a few demos!
Demos =====
Here's a short description of each of the demos, written purely in the order in which they were presented:
1. Wikiquotes via SMS By: @MadhuVishy and @YesKarthik
What it does: Send a person name to a particular number, and you'll keep getting back quotes from that person. Works in similar semi-automated fashion as the DYKBot. Built on AppEngine + Python.
Status: Deployed live! Send SMS '@wikiquote Gandhi' to 9243342000 to test it out! Has limited data right now, however.
---
2. API to Rotate Images (Mediawiki Core Patch) By: Vivek
What it does: Adds an API method that can arbitrarily rotate images. Think of this as first step towards being able to rotate any image in commons with a single button instantly, without having to wait for a bot. Patch was attached to https://bugzilla.wikimedia.org/33186.
Status: It was reviewed on that day itself (Thanks Reedy!). Vivek is now figuring out how to modify his patch so that it would be accepted into Mediawiki core. Vivek is also applying to work with Mediawiki for GSoC, so we will hopefully get a long term contributor :)
---
3. Find list of unique Tamil words in tawiki By: Shrinivasan T
What it does: It took the entire tamil wikipedia dump and extracted all unique words out of it. About 1.3 million unique tamil words were extracted. Has multiple applications, including a tamil spell checker.
Status: Code and the dataset live on github: https://github.com/tshrinivasan/tamil-wikipedia-word-list
---
4. Program to help record pronunciations for words in tawikt
What it does: Simple python program that gives you a word, asks you to pronounce it and then uploads it to commons for being used in Wiktionary. Makes the process much more streamlined and faster.
Status: Code available at: https://github.com/tshrinivasan/voice-recorder-for-tawictionary. Preliminary testing with his friends shows that easy to record 500 words in half an hour. Is currently blocked on figuring out a way to properly upload to commons
---
5. Translation of Gadgets/UserScripts to tawiki By: SuryaPrakash [[:ta:பயனர்:Surya_Prakash.S.A.]]
What he did: Surya spent the day translating two gadgets into Tamil, so they can be used on tawiki. First is the 'Prove It' Reference addition tool (http://ta.wikipedia.org/wiki/Mediawiki:Gadget-ProveIt.js). The second one was the 'Speed Reader' extension that formats content into multiple columns for faster scanning (http://ta.wikipedia.org/wiki/Mediawiki:Gadget-TwoColumn.js). Last I checked, these are available for anyone with only tamil knowledge to use, so yay!
(He also tried to localize Twinkle for Tamil, couldn't because of issues with the laptop he was using.
---
6. Structured database search over Wikipedia By: Ashwanth
What it does: Built a tool that combined DBPedia and Wikipedia to allow you to search in a semantic way. We almost descended into madness with people searching for movies with Kamal and movies with Rajni (both provided accurate results, btw). Amazing search tool that made it super easy to query information in a natural way.
Status: The code is available at https://github.com/ashwanthkumar/structured-wiki-search. Definitely would be awesome to see this deployed somewhere, so would be great if the community could come up with specific ideas on how to make this a specific cool tool.
---
7. Photo upload to commons by Email By: Ganesh
What it does: Started with building a tool that will let you email a particular address with pictures + metadata in the body of the page, and it will be uploaded to commons. This was for the benefit of people with older outdated phones *cough*Logic*cough* who would like to use their phone's camera to contribute to commons, but can not due to technical limitations.
Status: He wasn't able to get that to work during the hackathon - too many technical issues cropped up. However, he's *very* definitely interested in setting it up, and has made progress towards it. I hope someone from the community (perhaps people doing WLM?) should be able to get in touch with him to see if this tool could be developed further with a specific goal in mind.
---
8. Lightweight offline Wiki reader By: Feroze
What it does: There is a project called qvido (http://projects.qi-hardware.com/index.php/p/qvido/) which was a 'lightweight' offline Wiki reader (compared to Kiwix, which is heavier). It has been abandoned for a while, however. Feroze took the time to revive the project, figure out how to build it (and wrote build instructions!) and also fixed a bug so that it can be used to demo showing offline Wiki navigation. He was able to demo it showing the Odiya Wikipedia dump offline, with working link navigation.
Status: There exists a git repo (https://github.com/feroze/qvido) with the code + the build instructions. I hope that people interested in offline projects check this out and see if it can be made useful, and take this forward.
---
9. Patches to AssessmentBar By: gsathya
What it does: AssessmentBar is a small widget/tool I'm building to make WP India assessments easier (at the request of User:AshLin. Stay tuned for an announcement in the next few days). Sathya spent time making the backend for it more scalable, so the same server can support multiple projects and concurrent users in a better way. Before that he was contemplating setting up a hidden Tor node for Wikipedia (he's a Tor core contributor) and then playing with data visualizations with WP data.
Status: There is a pull request (https://github.com/yuvipanda/MadamHut/pull/2) that I need to merge :)
---
10. Parsing Movie data into a database By: Arunmozhi (Tecoholic) and Lavanya
What it does: It scrapes the infoboxes of all movies from whatever category you give it and stores this into a database. This is harder than it sounds because parsing wikitext is similar to beating yourself up repeatedly in the head with a large trout. They managed to figure out a nice way to extract information from all Indian movie pages, and put it in a database for programmatic easy access later.
Status: I've asked them to put the code up publicly somewhere, and since I believe Tecoholic is in this mailing list, he'll reply with the link :) These kinds of data scraping can be used to build very nice tools that show off how much information Wikipedia has, and perhaps also help people contribute back by editing information for their favorite movies. I hope the community comes up with a nice idea to utilize this, and takes this project forward to its ultimate destiny: A super sexy IMDB type site for Indian Movies with data sourced from Wikipedia (I can dream :D)
---
11. Random Good WP India article tool By: Shakti and Sharath
What it does: It is a simple tool that shows you one B, A, GA or FA article every time you go there. The idea is to provide a usable service for people who want to accumulate lots of knowledge by randomly reading stuff, but only want good stuff (so stubs, etc are filtered out (unlike Special:Random)). I'll also note that neither of them had worked with any web service before the hackathon, nor with JSON, nor with the mediawiki API, yet were able to build and deploy this tool within the day. /me gives a virtual imaginary barnstar to either of them
Status: It is currently deployed at http://srik.me/WPIndia. Everytime you hit that link, you'll get an article about India that the community has deemed 'good'. The source code is available (https://github.com/saki92/category-based-search). They are eager to do more hacks such as these, and I'm hoping that the community will find enough technical cool things for these enthusiastic volunteers to work on
---
12. Fix bugs on tawiki ShortURL gadget By: Bharath
What it does: The short url service used in tawiki (tawp.in) is shown in the wiki via a gadget. It is not the most user friendly gadget - you need to right click and select copy. Bharath looked for a solution by which you could click it and it would copy to the clipboard, but did not find any that would work without flash. Hence he abandoned that and started figuring out easier ways of making that happen. He also fixed several bugs in the implementation of the gadget, and I expect it to get deployed soonish. Thanks to SrikanthLogic for helping him through the process.
Status: Code is available at http://ta.wikipedia.org/wiki/%E0%AE%AA%E0%AE%AF%E0%AE%A9%E0%AE%B0%E0%AF%8D:B.... He's still fixing things on the script. If the community needs people to come fix up their user scripts/gadgets, Bharath would be a willing (and awesome!) candidate!
---
13. Add 'My Uploads' to top bar along with My Contributions, etc (Mediawiki Core Patch) By: SrikanthLogic
What it does: Not satisfied with being the organizer of the hackathon, Srikanth wanted to flex his programming muscles and spent time fixing a bug in core mediawiki (https://bugzilla.wikimedia.org/show_bug.cgi?id=30915). He spent a while digging around the proper way to do this, and managed to make a proper patch!
Status: It has been committed in gerrit (currently unable to find a link). Should be merged in soon. Yay!
Honorable Mentions =================== 1. WikiPronouncer By: Russel Nickson
What it was supposed to do: Exactly like Shrini's tool to record word pronunciations and upload to commons, but written for Android so people could add prononciations on the go.
Status: Code is available at https://github.com/russelnickson/pronouncer. He ran into technical issues with Android setup (it stops working completely if you look at it the wrong way), and was unable to complete this. I think this would still be a very useful tool, and hope someone from the community steps up to work with Russel and get this finished.
---
2. Wiktionary cross lingual statistics By: PranavRC
What it was supposed to do: It was a statistical tool that generated statistics about how many words overlap between all indic languages in Wiktionary (as measured by interwiki links).
Status: The code has been written (I've requested the author to put it up publicly, will update list when it is). It, however, requires a lot of time to be run. So validation by the community that such stats would be useful would, IMO, definitely give Pranav the impetus to finish it up and show us the pretty graphs :)
So, in all, 13 demos were produced (+ 2 near misses). I think we can call this one a success, no? :)
Next Steps ========== Where do we go from here? Random thoughts:
1. Geek retention - this is reasonably easy. If we keep feeding hackers interesting problems that affect a lot of people, they'll keep helping us out. Is it possible to have some sort of a 'tools required' or 'hacks required' or 'gadgets required' page/queue someplace where we can always direct hackers looking for interesting problems to? IMO Wikipedia is full of interesting technical problems, so this *should* be feasible. 2. Follow ups - this time, I am able to do this personally (small enough group). Clearly this will not scale. Do we have ideas/methods for following up with these people so that they stay with us? 3. More of these? This was pretty much a 'zero cost' event - stickers were the only 'cost'. A lot of places around the country would love to have their space used for a hackathon of sorts. Should we do more of these kind of 'Unofficial' hackathons?
Thanks due (in random order) ============================
1. Thoughtworks/BalajiDamodaran: He graciously hosted us at Thoughtworks. The biggest challenge for any hackathon is to find a nice place which understands what hackathons are, and provides what is considered the lifeblood of a hackathon - working WiFi. Balaji (@openbala) was incredibly awesome, and this entire thing would've not been possible at all without him and ThoughtWorks. 2. Dorai Thodla: He helped popularize the hackathon among the Chennai Geeks crowd, and acted as a sounding board at various important times. He also connected us with @openbala and enabled us to get the venue. Thanks! 3. Srikanth Lakshmanan: The hackathon was his idea, and he made sure it was executed in a nice way. He was the official 'organizer', and made sure that all logistics were taken care of. Once the event started, he was very helpful in helping people technically and in picking up ideas, while also hacking on his own patch. This event was, in essence, organized and run by him. He took an overnight trip from Hyderabad straight out of office just for this. Thanks for making this possible! 4. Shrini (aka the relentless forwarder): This event wouldn't have been as much a success without him either. Evangelism across multiple lists, adding a lot of ideas that could be done, helping the people there out technically at all times and writing two really good hacks - Thank you! I'm glad we get to keep you :) 5. Subhashish Panighrahi: For sending us stickers :D (And who all is involved in that logistical process too!)
Most of all, this event was a success because of the quality and dedication of the people who turned up, giving up their Saturdays. Hope everyone who turned up had a nice time :) I am personally in touch with most of them, and I also have their email address, phone number *and* permission to contact them again. If anyone here thinks that they liked one of the hacks and want to take it further, please contact me (User:Yuvipanda on Mediawiki.org or yuvipanda@gmail.com) and I'll get you people in touch. If there is a more accepted, standard way of handling this type of private information, please let me know as well!
Thanks!
- Yuvi Panda T http://yuvi.in
Yuvi, much thanks to you, to Srikanthlogic, and to the others who made this event possible. It sounds like a great success. Sorry for the late reply.
It was a one day, 8 hour event focusing on getting people together to hack on stuff related to all Wikimedia projects - not just Mediawiki patches.
Fantastic idea. And one-day events are a totally reasonable length, and easier for first-time event-runners to run.
As people came in, we asked them what technologies/fields they are familiar with, and picked out an idea for them to work on from the Ideas List (http://www.mediawiki.org/wiki/Chennai_Hackathon_March_2012/Ideas). This took care of the biggest problem with hackathons with new people
- half the day spent on figuring out what to work on, and when found,
it is completely outside the domain of expertise of the people hacking on the idea. Talking together with them fast to pick an idea within 5 minutes that they can complete in the day fixed this problem and made sure people can concentrate on coding for the rest of the day.
That's a really great tactic and one that I hope to copy for future outreach events. Can you add it (and any other tricks up your sleeve) to https://www.mediawiki.org/wiki/Volunteer_coordination_and_outreach/Event_pla... ?
Demos
I strongly appreciate your consolidated list of names and links -- thanks.
Vivek is also applying to work with Mediawiki for GSoC, so we will hopefully get a long term contributor :)
And of course anyone is welcome to work with us outside of GSoC as well. (obligatory reminder)
I forwarded the "all unique words in Tamil Wikipedia" project link to the researchers on wiki-research-l.
- Program to help record pronunciations for words in tawikt
Is currently blocked on figuring out a way to properly upload to commons
You should consider consulting Maarten Dammers and Ryan Kaldari on that as they are seasoned experts on the social and technical intricacies of Commons mass upload.
- Structured database search over Wikipedia
You could tell Ashwanth to get in touch with those "Swipe" folks from http://www.newscientist.com/article/dn21625-new-search-tool-to-unlock-wikipe... .
- Photo upload to commons by Email
I hope someone from the community (perhaps people doing WLM?) should be able to get in touch with him to see if this tool could be developed further with a specific goal in mind.
Yes, talk to Maarten and to the Wiki Loves Monuments people.
- Lightweight offline Wiki reader
I presume you've already told offline-l? :-)
He's still fixing things on the script. If the community needs people to come fix up their user scripts/gadgets, Bharath would be a willing (and awesome!) candidate!
That sounds terrific! Please do ask him to contact me.
- WikiPronouncer
By: Russel Nickson
I think this would still be a very useful tool, and hope someone from the community steps up to work with Russel and get this finished.
Talking with Yuvi to ask him about getting developers who know Android involved. (mobile-l.)
- Wiktionary cross lingual statistics
By: PranavRC
What it was supposed to do: It was a statistical tool that generated statistics about how many words overlap between all indic languages in Wiktionary (as measured by interwiki links).
Status: The code has been written (I've requested the author to put it up publicly, will update list when it is). It, however, requires a lot of time to be run. So validation by the community that such stats would be useful would, IMO, definitely give Pranav the impetus to finish it up and show us the pretty graphs :)
Ask wiki-research-l and point them to Pranav's code? If you aren't on that list, give me an email to forward and I will. Or ask Dario to do so.
Next Steps
Where do we go from here? Random thoughts:
- Geek retention - this is reasonably easy. If we keep feeding
hackers interesting problems that affect a lot of people, they'll keep helping us out. Is it possible to have some sort of a 'tools required' or 'hacks required' or 'gadgets required' page/queue someplace where we can always direct hackers looking for interesting problems to? IMO Wikipedia is full of interesting technical problems, so this *should* be feasible.
We have https://www.mediawiki.org/wiki/Annoying_large_bugs as a start but it's not quite right, as it's pretty MediaWiki-centric. And every community has its own wishlist and isn't likely to come off-wiki to add to yet another one, so probably the best thing to do is to simply compile links to more those wishlists at the bottom of https://www.mediawiki.org/wiki/Annoying_large_bugs#See_also .
- Follow ups - this time, I am able to do this personally (small
enough group). Clearly this will not scale. Do we have ideas/methods for following up with these people so that they stay with us?
If you could answer this question definitively, you could instantly achieve a stable career as a religious or political leader. :-) Over and over we see that there is simply no substitute for personal followup and delegating right-sized tasks. Our best investment is in that personal followup and in building infrastructure for ourselves (contact lists, databases, boilerplate emails).
- More of these? This was pretty much a 'zero cost' event - stickers
were the only 'cost'. A lot of places around the country would love to have their space used for a hackathon of sorts. Should we do more of these kind of 'Unofficial' hackathons?
Yes, but only if we can prepare for them as well as you did.
Thanks again.
Le 28/03/12 22:10, Yuvi Panda wrote: <snip>
The Chennai Unofficial Wikimedia Hackathon Report
TL;DR: 13 completed hacks, including 2 core mediawiki patches, 3 tawiki userscript updates and 2 new deployed tools. It was super awesome and super productive!
<snip>
Hello Yuvi Panda,
I have finally finished reading this report. Thanks a lot to have taken the time to write this, it somehow motivates me to organize an unofficial hack-a-ton in my local city :-]
wikitech-l@lists.wikimedia.org