As we look towards bringing on a full class of Google Summer of Code interns, let’s reflect on our recent group of interns who completed our Winter 2015 Outreachy program with Mifos for the first time. Outreachy was a journey for both our interns and our mentors as it brought home many lessons in communications and collaboration across an open source community as our three interns collectively worked on our Android field operations app. After their contributions we now have a refactored and redesigned app, a wide range of new functionalities for field officers, and a mobile UI for capturing surveys. Join us in giving a big thank you to Olya, Nelly, and Nasim, and their mentors, Ishan, Gaurav, and Markus. Read on to learn more about what they built and what their most lasting experiences from their internship were.
Here’s a brief recap on the valuable additions our interns made to the community during Outreachy:
- Olya and Redesign & Refactoring of Community App – Olya brings a sense of professionalism, pride, and expertise in her coding that goes well beyond her years. Given Olya demonstrated so much promise in her application, we entasked her with major enhancements to the Android app. Not only did she deliver on this but she went well beyond. Olya’s first line of work was to implement Material Design throughout our application – she implemented this rapidly, providing a refreshed, modern, and compliant design for our app as well as the foundation for the new screens our other interns would be building on. Next she tackled adding offline support throughout the app – while undergoing these major architectural changes, she refactored the entire app, streamlining the code for better performance and ease of development. This refactoring was completely self-driven by Olya – she was so passionate about it that she’s also implemented coding guidelines and is eager to help be a maintainer of the app and ensure that other contributors follow these standards. Lastly, Olya implemented several of the GIS features that were required in our mobile app – we’re now waiting for them to be implemented on the platform side and they’ll be ready for production allowing the tracking of field staff, the pinpointing of client locations, and more.
- Nelly and Android Field Operations App V2 – we entasked Nelly with a long list of v2 functionalities that were needed to support the additional use cases and processes that needed to be supported via a mobile device. She proceeded up the learning curve of the Mifos X APIs and Android app and began to add these new features in. In the app, there is now the ability to create new groups and centers, to open, approve and disburse new loans and savings accounts, attache fees to client, loan, savings accounts, and attach documents to loan and savings accounts. Apart from the depth of knowledge Nelly gained in building out these new workflows and functionalities in the Android app, she showed how strong of a mentor and open source leaders she is. She demonstrated a strong sense of empathy, a knack for listening, and the ability to bring contributors together and smoothly mend conflicts. Even after Outreachy’s completion, Nelly has been very active in helping to guide others and mentor aspiring Google Summer of Code interns. She’s always ready to help via the mailing lists or Gitter.
- Nasim and Mobile UI for Surveys – Nasim was given a project that required her to learn quickly and get familiar with the entire Mifos technology stack. Her first task focused on taking the brand new surveys and social performance management framework that Markus had built in the Mifos X platform and building a mobile UI for that. Nasim did a good job learning the platform and its APIs as she took the raw surveys framework and built a polished mobile UI for it. After she had completed this mobile UI, Nasim took on a series of minor enhancements to the Community App, getting her first exposure to AngularJS as she built new interfaces for the groups page and implemented breadcrumb navigation. Not only did Nasim learn new technologies as she worked with the platform, Community App, and Android client, she also learned many valuable lessons in open source collaboration and communication in working with her mentors and fellow interns. Since Outreachy, Nasim has been eager to pass on this knowledge to new contributors that have come to our community for GSOC.
What was your most rewarding experience contributing to Mifos this summer?
Olya: During the Outreachy round I received very important skills in working among international teams on an open-source project as well as communication and presentation skills. I learned new skills in Android development and tried to contribute onto the project in best way I can.
Nelly: Being able to resolve issues that I was assigned and that I came across, and being able to contribute to the large community and helping out new and existing contributors .
Nasim: When you make something and lt will be used by many for good cause that’s definitely rewarding. I changed something which was in raw text format to beautiful human usable format that gave me immense pleasure and motivates me to do some more.
Actually the time, 3 months, was very short, I wish instead of 3 months it was for 3 years.
What was your biggest challenge you overcame this summer?
Olya: For me the most challenging part was to calmly do project refactoring to adopt it to offline mode – it required a lot of time, and of course knowledge.
Nelly:Initially when I started working on the project, I had not yet worked on such a huge project and issues, everything was new and the app was new to me, at the end of the summer I was able to resolve most of the issues and became an expert on the android application, the skills I gained and the problems I was able to resolve were much more than I would have ever imagined.
Nasim: Git’s squashing commit, pull,push,sync and fetch all were challenging for me. I didn’t use git before. There were few coding challenges but I could solve it by myself.
What advice would give to other students/GSoC interns on working with Mifos?
Olya: Carefully investigate all project guidelines and do your work in best way you can. Because one day you leave project, but your code will be visible for a long time, so do it carefully and professionally. If you have doubts, don’t hesitate to ask community – this is the right way. And good luck with your application!
Nasim: Definitely best platform to learn. Sometime you will get stuck while coding, but don’t be worried. You just need more time to solve it. Ask for help but definitely try stackoverflow and Google before asking. When you work in a team be cooperative and helpful to each other.
- When faced with challenges regarding the project talk about them, with your mentors, send a mail to the online group, stack overflow.
- Ask questions all the time and constantly keep in touch with your mentors.
- Learning is a process and you should be willing to learn.
- Respect the work of others and learn to acknowledge the work of others, especially in an open source environment.
- Constantly push your changes to the live environment.
- External factors, might come in that may make you unable to accomplish your task –talk to mentors in time and be open, they always do help
- Do not compare yourself with others, everyone is different, so don’t be shy to show ask questions and make a small contribution.
- Never give up, there is always a way.
One thing that I learned is that everythings is possible and don’t be intimidated by the huge project,and the the amount of contribution you can make, any contribution you make adds a big value to this project.
This project will change someone’s life ,always have that in mind.
If you could visit the country of one of our Mifos users, where would it be and why?
Olya: I think it would be Kenya. I want to have a chance to introduce and promote our app there. And also this country has amazing nature, I would like to visit it one day.
Nelly: I already do come from one, Kenya, I have seen the benefits it provides to us as a country and it how it works to elevate the lives of Kenyans.
Nasim: I would like to visit Amsterdam,Netherlands. Because I have never been to there.
If you have time, how do you hope to contribute to Mifos in the future?
Olya: I want to follow our coding guidelines create during Outreachy round, do code review and keep our code clean and relevant. I am not sure, that I will have a lot of time for it, but we can try.
Nelly: I will always suggest for improvements, and work on the issues raised, help new contributors and I hope to be a mentor in the next, GSOC or Outreachy program
Nasim: By this time I have experience of developing for web and mobile. I have developed for android, windows & iOS too. Now I am interested for this hybrid app. Meteor the name itself is exciting for me. I want to see how writing once and works for all. I hope to contribute to Self service android app development & hybrid web app development
What will you be doing now that Summer of Code is complete?
Olya: I will back to the my study in university, and also do some cool apps in Android 🙂
Nelly: I was fortunate enough to get a job as a software Engineer with American Express in UK , i was scouted online after someone saw the contributions i was making online and my passion , through contributing to open source, which built my skills, both life skills and development skills, I also hope to graduate with my master’s degree in Information Technology from United States International University-Africa in August this year.
Nasim: Looking for some bigger challenge to tackle. Do not know yet. I will see what comes on my way. I have my own few educational apps on store. Hope to improve that. I learned iOS swift development in the meantime. Hope to make iOS apps too.