If you are a Sri Lankan involved in the field of Information Technology, it is inevitable that you will someday hear about, and be inspired by, the Sahana project. It is renowned for being a community software project that was born in Sri Lanka and has now moved out in to the world, unifying developers from different nations in a common noble goal: to help alleviate disasters faced by mankind.
It was the weight of these facts that convinced me to apply for Google Summer of Code in 2011 under the Sahana Software Foundation. Having more experience in PHP development than anything else, I thought of applying for one of the Agasti projects for the summer. However, the first project I applied for, that of building an ‘app store’ of sorts on a CMS platform for Agasti, got scrapped because apparently there wasn’t enough planning done for that project to go properly forward. However, I persisted and applied for another project, that of re-integrating Pootle translations in to Sahana Agasti Vesuvius.
The evolution of Sahana has been very eventful is an interesting story, which I learnt by asking around in Sri Lanka, where there are still quite a few Sahana contributors remaining. I learnt of the 2 main branches of Sahana: Eden and Agasti. Of the two branches of Agasti itself, Vesuvius is managed by the National Library of Medicine in Bethesda.
Pootle, which is the software I would end up eventually building support for in Vesuvius, is a translation engine where you can organize a collaborated effort to translate a particular software application. In order for this to be possible, you need to have all the strings within the software isolated and put in to a separate functions that can be accessed by Pootle so that they can be translated like this:
The mentors assigned for the project were Greg Miernicki and Glenn Pearson, and from the outset (even before I was selected to participate as a student), they were extremely helpful and gave me a very clear idea of what should happen in this project. The requirements weren’t exactly as simple as I outlined above; there were different modules such as the Resource Pages module that needed restructuring and re-integration with translations and Greg and Glenn were also considering the inclusion of some usage of Google’s Translate API. I knew that I would have my work cut out for me.
Throughout the next few months, I was hard at work on the project, looking through code, finding out about new hacks and methodologies that we could use and generally having a good time innovating, as I like to think of it, for the good of Sahana. The weekly meetings with Greg and Glenn were always pretty intense technology-wise, while being fun at the same time. There were many instances where all three of us were grinning (I imagine Greg and Glenn were grinning as well) at some weird pun or joke that one of us brought up. During this period I worked intimately with the Google Translate API, the PHP gettext library, and the GNU xgettext terminal command as well as with Pootle.
There were quite a few occasions when I was up most of the night, working on fixing annoying bugs that cropped up and chatting with Greg about programming, gaming on Linux, and gadgets. He is a truly remarkable mentor with a flair for making his protégés feel relaxed and ready to tackle any problem. As a seasoned developer, he simply exudes the joy of programming, and I must say the feeling is infectious.
Finally, having successfully completed what I had to do (although there is quite a long way to go towards the 0.9.2 release of Vesuvius, at which point we hope to integrate the new translation code in to the package), it was time to end my GSoC work for the year. I was genuinely sad at the end of the summer as a I wrapped up the project, knowing that one of the defining experiences in my life had come to its end. However, I am, and always will be, determined to keep working with Sahana to do my best not only to develop and improve the code I added to it, but to answer the call to help develop the best Disaster Management System in the world.
I would like to thank the Sahana community as well for their unwavering support, and Darlene for handling the Google Summer of Code Program so masterfully over the course of those fateful 3 months.
The world is not always the best place for us humans, but together and through working towards something positive, we can strive to make it a better place for all.
P.S. Link to the wiki page for my project
Ramindu – Good to hear that this project experience was a good one for you. I recall that we had talked about some extensions. Are you interested in following up on those ideas? Even if you cannot implement it will be a good first step to develop the specs. Louiqa
Yes, I remember. Evaluation of machine translations through mTurk, right? Vesuvius has been changing rapidly and I’ve been changing translation code to coincide with that, not to mention trying to fix some bugs. So I think I’ll be pretty busy with that work, collaborating with Greg towards formally releasing a translatable version of Vesuvius, version 0.9.2.
After that’s done, we’ll definitely have to go for some evaluation of how effective Google Translate is.