GSoC wrapup report

Hey all. The following is a (admittedly rather thorough) “wrapup” report on my Google Summer of Code project entitled: “TranslateSvg: bringing the translation revolution to Wikimedia Commons”. TL;DR: I’m happy.


On 9 July 2011, South Sudan declared independence, and during that buzz, an Italian Wikimedian found his map showing the borders of the new nation had been translated into a dozen other languages, among them English, Greek, Catalan, and Macedonian. These copies were then uploaded onto Wikimedia Commons as separate files. Of course, one would expect the map to change significantly over the next decade. More often than not, these kinds of change are picked up first by editors of the larger projects, who rapidly update their own versions of the map. To do so takes, say, 20 minutes; but to replicate that same change across Catalan, Greek, Macedonian? Hours of work – and dozens of separate uploads.

My project, named “TranslateSvg”, aimed to change this workflow – for SVG format files at least – firstly by making it easier to translate those files (thus reducing the all-too-common sight of English-language diagrams in use on non-English wikis), and secondly by embedding the new translations within the same SVG file. When boundaries change, a single update will propagate to all language versions instantly. That was the intent, anyhow.

Overall, a lot has been achieved: a test wiki was set up, and, if I load the bleeding edge code onto it, the software is both feature complete and has been updated in line with user comments. The video at [1] gives a good idea of the current interface and how it works; I’ll send another message to this list when the test wiki reliably uses feature complete code.

The most pleasing (and indeed satisfying) thing, however, is that nothing I wanted to achieve was “left behind”. Admittedly, a few things aren’t quite as polished as I’d like them to be, and there are still a few weeks’ worth of code review left to do. But fundamentally, it is (or will be) what I want it to be. Mostly, I attribute this to some prototyping work I did before I pitched for GSoC, which allowed me to come up with a plan I knew to be doable (or more accurately, doable by me), which avoided the costs of running into deadends late in the process.

Once code review is complete, there’ll be at least one more testing phase, this time with specific questions, followed by a pitch by me to Wikimedia Commons. Only after that will I even utter the “d” word in the context of TranslateSvg.

I ended up with quite an unusual mentoring setup. In the end, the work of mentoring me ended up being split between my official mentor for the project, Max Semenik (MaxSem) and the original author of the Translate extension (which, early on in the project, I decided to use as a foundation for my work) Niklas Laxström. Both have been very helpful, especially with code review and generally “keeping an eye on me”, with Niklas (I think it’s fair to say) taking the lead in places due to his specialised knowledge. Actually, this worked out well, but my advice to potential applicants would be to think about mentor choice carefully, considering what support they’d need *from their mentor* and what they might instead be able to source *from the community in general* in order to avoid overloading their mentor. We have a great community, and thankfully I knew quite a few people already, so I could tap that more easily.

Of course, I am greatly indebted to both Max and Niklas, as well as the literally dozens of people who at some point contributed via IRC (there’s another protip—get on IRC early! *Such* a useful resource). Just off the top of my head, that list includes Andrew and Ryan for the Labs stuff (which turned out to be the most challenging aspect of the summer, mostly because I hadn’t considered it at all before [1]), Mark and Timo’s help with JavaScript stuff, Sam for his general omnipresence, especially when a quick review was needed, Federico, Amir and all the other potential users of the extension who tried it out, plus of course Sumana and Greg for keeping the whole thing going. There are plenty of other people I’ve forgotten, I’m sure: there are simply far too many to properly remember.


Once again, thanks everyone and I hope to keep you posted over the coming months about further progress.

[1] I think this is particularly worth flagging up because I can’t be the only student whose experience lay with PHP (etc.) programming rather than system administration. Thus, it was probably worth thinking about this earlier and thus coming up with a considered plan of attack.

One thought on “GSoC wrapup report”

Leave a Reply

Your email address will not be published. Required fields are marked *