Summer of Code 2010 - A Journey Well-Traveled

In this post, we want to take the opportunity to thank our 2010 Google Summer of Code interns for dedicating their summers to helping end poverty.

Google Summer of Code 2010

When summer comes around, the Mifos team looks forward to an energetic group of Google Summer of Code interns who are ready to dive into our project and help us push towards our vision of 3 Billion Maries.

This summer was no different as we had five interns hard at work, helping us transition the Mifos platform to its next generation architecture. From the back-end to the front-end, the contributions of our interns will bring forth a more robust product to our customers and a platform that is much quicker, lightweight, and easier for our contributors to build on.

The journey is just beginning; after a summer of blazing a path of social entrepreneurship and boosting their professional skills contributing to our software, they’re now back to advancing their academic pursuits. While finishing up their exams and wrapping up their theses, we look forward to their continued participation in our community – as volunteers or in the case of Kojo, a part-time developer on the team. 

Although the summer in Seattle was quite short, the efforts of our interns around the world will be long-lived. We caught up with our interns to hear how their summers went: from the inspirational guidance of our mentors to the prowess of Octopus Paul to Vishnu’s knack for confusing commit messages, here’s what they contributed and what they had to say:

Contributions to the Team:



Shahid's task was to increase Mifos modularity by refactoring business objects out of the UI layer. Its a huge area that other Mifos developers are engaged on as well. Shahid mostly worked in service layer refactoring, with some additional work in the UI later on. 


Kojo Gambrah

Originally, we were going to have Kojo focus on increasing the number of automated acceptance tests and improving the acceptance test framework. However, the team had an urgent need when we transitioned from Subversion to the Git distributed version control system. Kojo played a major role in this transition by developing a non-sequential database upgrade mechanism that fit the distributed development model of Git. Kojo's work has performed well and been a great boost to our team. 



Hatim helped pave the way for better use of transactions in Mifos.  He spent his time refactoring lots of code while making the already established unit tests pass. 


Vishnu created the User Interface and Controllers for Mifos in the "Admin" area using Spring MVC for Controllers and Freemarker for the UI. 


Haripriya was assigned the work of implementing the Mifos User Interface using Groovy, Grails and GSP pages and HTML based on CSS and the Blueprint CSS framework. Midway through the project, we shifted towards the implementation of the Spring framework using FTL pages and Controllers. Haripriya's work in converting the front end to using Spring MVC architecture will dramatically improve the speed in which our team can build out new features in Mifos. 

What was the most rewarding part of contributing to Mifos?


First, knowing that this code will help reduce poverty. There are a lot of open source organizations, all for the good of the human society and world, but few have direct impact in helping poverty reduction. Second, meeting with great minded developers and mentors is also a huge plus.

Kojo Having spent a lot of time on pet programming projects, working on Mifos gave me the opportunity to work with a full-fledged software development team and learn a lot of software engineering best practices
Hatim The most rewarding part of contributing to Mifos was the chance to work and learn from always helpful mentors and other people in the team.
Vishnu I cannot name just one; working with the Mifos team, especially my mentor Van, itself is the most rewarding part. Moreover, and the part which excited us more, is our work will be used for official release of Mifos.
Haripriya The best part was getting an excellent mentor for my work. His contribution was amazing and he boosted up my confidence levels which lead to a fruitful success. I owe a lot to the whole Mifos community who has helped greatly in completing my goal. As Mifos is well known as the trustworthy foundation who helps people around the globe, I am extremely happy that we had the chance to work with the Grameen Foundation.

What advice would give to other students/GSoC interns on working with Mifos?


Working for Mifos is fun, but there are some challenges to face as it is not a very old open source organization. Fortunately developers and mentors of Mifos are very helpful. So keep contributing and make Mifos and the world beautiful.

Kojo Commit work often and communicate as much as possible. It is also important to make sure you are not engaged in other activities that would be a distraction.
Hatim Make sure you understand the complexity of your project, if you don't have experience with Mifos code base then think carefully before you opt for a project which is termed advanced.
Vishnu GSoC, this is the best way of learning new things and improving our skills. When coming to work with Mifos, one should be lucky to get such a great opportunity. One should not worry about how he does the project he is assigned to, but he just has to give it his best shot. The Mifos team helps you so much that, even though, geographically, they are far away from you, it looks as if they are right beside you in every step and every big problem seems simple.
Haripriya This is the best way to sharpen your skills. The only procedure is to learn how to implement things in a better and simpler manner. The internship teaches a lot about handling unusual things which must be carried out through a simple logic. The Mifos team taught us how to manage this so one should be lucky enough to work with Mifos. 

What will you be doing now that Summer of Code is complete?


Within a month I will be finishing off my Masters degree. After this I hope to resume contributing in Mifos and do some other consulting work for living. Other than service refactoring, I am really interested to work with the Mifos build process. I think if we have a faster build process, we can attract even more contributors.

Kojo I will be finishing hard on my final year at Ghana Telecom University College. I will be working on Mifos part-time as well.
Hatim I hope to defend my thesis soon which I worked on before I started GSoC. I also hope to contribute to Mifos and follow its architectural evolution.
Vishnu Right now, my academic exams are nearing. So, I am preparing for them. 
Haripriya Well, I am happy that I was able to complete my work successfully. Now I have got my semester exams to appear for. So, I thought of concentrating on the exam schedule till they're done.

Do you follow the World Cup? Who’d you cheer for?


Well I always support Latin American teams, they didn't pass through the quarterfinals. But I was happy to see Spain become champion by playing with style.

Kojo Working from home meant the TV was never too far way. With an exciting world cup on African soil, I initially tipped Brazil but the Ghanaian team won my cheers the hard way - by playing great football. 
Hatim I followed Paul (the octopus) more than the world cup. I think I might pay him a visit next time I am in Germany.
Vishnu I cheered for Germany but Octopus Paul trashed my favorite team's dreams. ;-)
Haripriya Yes I followed the FIFA world cup,it was very much adorable. Everyone of them gave their best to their corresponding teams so I've given cheers to all those who tried their best. They were a group of remarkable matches.

What’s one interesting fact you’d like to share with the Mifos community?


My start of GSoC with Mifos was crossed by two of my personal affairs. One was about success - with my team we got a $10K prize from the local Govt. The other one is about avoiding trouble – I resolved some administrative problems in my Masters candidature. The support of my mentor and Mifos in that time to continue with my project was really great.

Kojo Remote pair development and the really fluid interaction on IRC was a new and really cool experience for me.
Hatim I am interested in helping adoption of Mifos with my native Pakistan and helping setup MFIs for local NGOs. There is a lot of work which could be done, especially in the flood/war-devastated northwestern part. The idea is more along the lines of a pilot project, stemming from my university alumni organization. I hope to have something solid to report on it in the next few months.

When I started the project, I was asked to commit my work and push it to repository. Since I was working on "git" for the first time, I didn't know that the commit messages would be displayed to everyone, so I started to give them some random names, like "my first commit", "second", "fifth", etc. which didn’t make any sense of what I did. :-D. At last I learned its importance from my mentor, Van.

Once more, in the initial stages of my work, there was an error in the project due to commits done by someone. The Mifos team started discussing in IRC about this error, and they were sure that it was me without question and they were even ready to bet too. :-) Sure enough… I never let them down, that error commit was done by me!

Haripriya The treasure hunt starts with The Summer of Code and the treasure ends up with Mifos.