2014 Google Summer of Code Wrapup – Bigger and Better than Ever
It’s been just over a month since the 2014 Google Summer of Code program has officially concluded so now that things have settled down it’s due time to recognize our fantastic students, their dedicated mentors, and their long-lasting contributions they have made to the community. Each of our students excelled in their projects and have cemented themselves as anchors in the community, eager to contribute more code and continuing as they’ve done this summer. A huge thank you to Google for allowing us to be a part of GSOC – Carol, Cat, and company have done a remarkable job with the program in its tenth year.
Apart from the students, the biggest round of applause goes to our mentors who each in their own personal style, motivated and invigorated their intern, kept them on schedule and most importantly broadened their minds about coding, collaborating across cultures, contributing to an open source community, and collectively creating a world of 3 Billion Maries. This program was truly a team effort as many of our mentors paired to up to give their students full attention every step of the way and our students, themselves were so incredibly helpful to each other. I lose track of how many times each student would resolve another’s issues on the call or mailing list, and how students were forking each others’ code and building off it midway through the program.
Thank you to Markus Geiss for taking Rishabh Shuklah under his wing on the Batch APIs project. to James Dailey and Pramod for shining the light on PayGoSol for Antonio Carella, Vishwas and Nayan for harnessing the passion and talents of Ishan Khanna, to Kojo and Vishwas for channeling all of Gaurav’s energy into user-driven improvements to the Community App, to Nayan for rigorously coaching Diunuge throughout his project, Sander for shepherding Channa on the Client Impact Portal, to Anuruddha, Nick and Nayan for guiding Oleg on his business intelligence journey. An extra special thank you to Nayan who was co-admin and seemed to be co-mentoring with nearly every student. To Markus as well who was on nearly every weekly check-in call ready to congratulate each student. I already miss our weekly check-ins and Ishan teasing about all my note-taking 😉
Here’s a brief run-down on what each of 2014 interns completed during the summer – much of it has already been shipped and you’re probably already benefiting firsthand from their contributions
- Ishan and the Android Client – With a sense of determination like not other, Ishan dove headfirst into building out the native Android field operations app for Mifos X users. Singlehandedly with guidance from Satya and Vishwas, over the course of the summer Ishan took the community from no mobile app to having a fully functioning alpha version of the Android client covering all the basic use cases. The Mifos X Android app allows field staff to view clients and all their account details including data tables, conduct all savings and loan transactions. on and off-line access to the collection sheet, and the ability to upload photos and other client documents. We need users to test the app and provide use cases on where it goes next. Grab the source code, download and install the APK and browse the user manual.
- Gaurav and Optimizations to the Community App – Gaurav was one of our most agile interns this Summer of Code as his project completely changed from his original assignment. Gaurav was initially tasked with converting the Community App into a cross-platform native mobile app; because Gaurav had such strong AngularJS skills and we had a queue of high-priority UI optimizations, Gaurav became our lead UI developer for the summer and quickly started ticking off the many much-needed improvements to the Community App User Experience. Rishabh responded directly to user feedback and shipped throughout the summer a number of features – just to name a few: complete redesign of the clients, groups, centers pages, a revamped homepage/dashboard design, and long-awaited bread crumbs and support for the thousands separator!
- Rishabh and the Batch API – Rishabh too was met with a shift in project goals at the onset but was quickly able to take on a high-priority tasks that underscored others’ projets like Ishan’s collection sheet for the Android Client. Originally Rishabh applied to work on system-wide notifications and alerts but we quickly recognized his strong skillset and immediately placed him on the Batch API project that would deliver immediate value to all our developers and users across the community. Following a regimented schedule laid out by his mentor, Markus, Rishabh quickly delivered on this valuable technical improvement that allows Mifos X to pass instructions for several operations in a single HTTP request. Ishan took Rishabh’s code midway through the summer and used it for the Android Collection Sheet. Rishabh also delivered on one of the top customer-facing use cases for this feature – bulk Joint Liability Group loan applications.
- Diunuge and Data Import Tool: Diunuge was entasked with taking the robust excel-based data import tool that Avik had built last year and fully integrating it into the Mifos X platform (previously it was stand-alone) and extending it to support new use cases. Faced with a busy courseload, Diunuge had to kick into high gear at the end of the summer but fully delivered on his proejct goals and then some. The community can now access this powerful data import tool directly from the Community App with new functionalities supporting the import of groups, savings accounts, savings transactions, loan repayments, and more.
- Channa and the Client Impact Portal: Working under the close mentorship of Sander, Channa was able to deliver a revamped Client Impact Portal that lays the foundation for providing a transparent view for external stakeholders and management into the summarized and individual financial and social performance of each and every client. Channa built out the back-end as well as the front-end with charts and visualizations to allow MFIs to communicate their social impact rooted in data and social performance metrics.
- Antonio and PayGoSol – Antonio had a lofty project in front of him and delivered on all accounts – with James as his visionary and product champion and Pramod as his technical mentor, Antonio built a completely new app, PayGoSol – the back and front-end as well as a native Android app that give microfinance institutions an end to end solution for providing Pay as You Go solar systems to their clients. This application has great potential to help usher in a new wave of digital finance innovation as the many PAYG products seeks to scale their business models to bring electricity and clean energy to the more than one billion lacking it. Antonio has built out the alpha version of the application so there’s a lot of work left to make it complete – we’re actively seeking volunteers!
- Oleg & Ad-Hoc Query Builder – Oleg, under the mentorship of Nayan and his colleague, Nick, tackled the project of building out an ad-hoc query builder to provide management and end users drag-and-drop style reporting. Oleg worked on both integrating Saiku as well as building custom code to deliver this important business intelligence feature. We’re currently facing some gaps in the Saiku roadmap before we can ship the full-fledged integration with Mifos X but applaud Oleg’s persistence and diligence throughout the summer.
What was your most rewarding experience contributing to Mifos this summer?
Ishan: I learned about new libraries that we can use in Android and Java to make our code efficient, readable and easy to modify. Finally I wrote some unit tests that I was willing to take up from a very longtime.
Antonio: Knowing that my project, although not yet finished, may someday help people around the world.
Rishabh: For me it was my mentor, Markus. With his great sense of humor he made the the whole GSOC a lot more fun than what I could have ever expected. Being an experienced developer Markus helped me in learning some really cool things in this short span of time.
Gaurav: Most Rewarding contribution is Improving the Client/Group/Center UI in Community-app. These changes were needed for some while so got very much appreciation after completing this.
Diunuge: It’s hard to point out one best experience. Contributing to a great open source project with awesome mentoring program while working with different kind of people all over the world, the whole time was an extraordinary experience.
Channa: Whole period with the Mifos community is a rewarding experience for me as I got the chance to work with a open source community for the first time in my career and worked with people from different part of the world. Having chance to talk with people, getting help from others, making demos all these things made me enjoy summer of code at its best.
What was your biggest challenge you overcame this summer?
Antonio: This was the first large-scale software project I’ve ever worked on. One of the largest challenges was just to stay focused and not get overwhelmed by the scope of what I was attempting to tackle.
Ishan: Implementation of Data table entries was one of the toughest things, as they required some heavy logic in place. Vishwas and Satya helped me get it working.
Channa: Having a chance to learn new technologies such as Angular Js, Git, Javascript, Gradle etc. I was new to some of these technologies and I got a great support from the Mifos community. Thank to them, I’m very much familiar with those now.
Rishabh: I can finally follow a “Schedule” 😉 . GSOC was probably the first time when I could actually stick to my schedule (more or less), which I was trying to do for the better part of my school and college life.
Gaurav: Biggest challenge was the thousand separator issue, I have spend hours in IRC channels and in mailing list for fixing this issue. Other than this task, Initially starting the project was a challenge for me as my initial project’s scope was completely changed.
Diunuge: Balancing time for the university work and the GSoC work while learning various technologies and completing the GSoC task successfully.
What advice would give to other students/GSoC interns on working with Mifos?
Ishan: Jump into anything you like. Ask for help. Don’t be afraid of the large code base. Believe in yourself. Don’t give up. If not Mifos, some other organisation. But contribute to open source. It is a “Life Changing Experience”.
Antonio: Make sure you learn as much as you can as soon as you can. At the outset, it may seem like you have a lot of time, but before you know it, it will be over.
Channa: If anyone is interested in working with Mifos, it’ll be a great opportunity for you. You can learn, enjoy and experience more with the support of awesome community. Choose what you love to work with and definitely you’ll enjoy summer with Mifos. Each and every time you get block someone will be there to unblock you. All you have to do is ask for help, then it will be there.
Rishabh: Never ever hesitate to ask for any help/advice or suggestions from Mifos community. Anyone interning with Mifos during GSOC will understand that you don’t have a single mentor whom you can look forward to. Everyone in Mifos community, is equally enthusiastic about all the work going on, and are always willing to help you out in every way possible. Other then that, follow good contribution practices, people here are really hoping for a clean and good code structure, not something like you do on your college projects.
Diunuge: If you like to work with Mifos at GSoC, you’ll never regret the choice that you will make. It’s remarkable opportunity for you. As my experience at GSoC comparing to my friends, Mifos has one of the great mentoring program which will not fail you, that will provide all the help you need at any time. Also in the mean time you’ll be able to touch great knowledge in variety of technologies. It’s an awesome community.
Gaurav: If you like to work with Mifos at GSoC, you’ll never regret the choice that you will make. It’s remarkable opportunity for you. As my experience at GSoC comparing to my friends, Mifos has one of the great mentoring program which will not fail you, that will provide all the help you need at any time. Also in the mean time you’ll be able to touch great knowledge in variety of technologies. It’s an awesome community.
If you could visit the country of one of our Mifos users, where would it be and why?
Ishan: I would like to visit Bangalore, to Conflux Technologies to see Mifos X being used by the real clients. Would want a feedback on the app and improve it.
Channa: Philippines, Can give a helping hand for Mifos users while enjoying a nice vacation.
Antonio: Quipu Technology. I’m interested in development issues in Latin America.
Rishabh: I didn’t have a chance to see people in India using Mifos in Grameen Foundation. First of all I would like to see how it is used in my own country.
Gaurav: I would like to visit Kenya and just because that place interests me a lot.
Diunuge: Philippines. I like biodiversity of the country.
If you have time, how do you hope to contribute to Mifos in the future?
Ishan: I will be enhancing the Android App, taking care of the JIRA issues and requests from the developers and user community on weekends mostly. We will have a new set of tasks once the first release reviews start coming in.
Channa: I would like to continue working own Client Impact Portal, because I’m very much familiar with the code, logic etc. And I would like to involve in other major improvements/issues in Mifos x as well.
Antonio: I plan to continue to contribute to the PayGoSol project, as a developer and volunteer lead.
Gaurav: I will continue to work on the community-app and also will start working on MifosX backend. In community-app basically I will go with solving the load time issues in community-app.
Diunuge: Keep working on the Data Import Tool to make it better and contribute for other part of Mifos projects when time permits.
Rishabh: As a contributor to mifos platform I’ll always try to do my bit as a developer. I am also trying to spread the word about Mifos and how it is providing financial solutions to poverty stricken areas using open source. I have already talked to some of my colleagues to start contributing to Mifos.
What will you be doing now that Summer of Code is complete?
Both Ishan and Gaurav will be traveling to MountainView for the GSOC reunion. All of our interns from South Asia – Ishan, Gaurav, Rishabh, Channa, and Diunuge, are all planning to be at the Mifos Summit in Dubai.
Diunuge: Continuing my academics at University of Moratuwa. Completing the final year at the Computer Science and Engineering Department.
Ishan: I have been Hired as a Product Specialist by a startup called “SeekSherpa.” Learning Angular JS these days. And yeah not forget, attending boring College.
Channa: I’m working on my final year project in the university and continue my academic work as I hope to graduate in near future.
Antonio: Finishing my remaining Master’s courses, building my portfolio of development projects, and searching for a full-time dev job.
Rishabh: I am planning to go on a road trip with my friends. Then there is this huge “To Do” list like diving into Machine Learning, preparing for my GRE exam, visiting Bhutan, etc. along with some obvious boring college classes.
Gaurav: I will continue to work on mifos with Conflux Technologies and also will also work and study about data structure and algorithms.