Mifos X – The Next Generation
Fresh off the recent Margaret H release, we’ve published the product roadmap for 2012. SolDevelo will be leading the community as it develops new functionality and extends the reporting and accounting capabilities for the upcoming year. With current development plans squared away, I wanted to share with you what’s in store for the future. Our vision for Mifos is to be the operational platform to deliver financial services to the poor – whatever your methodology, however you reach your clients, we want to be the lightweight technology powering your outreach.
I sat down with the leads for our community architecture team, Keith and John Woodlock, to discuss with them the Mifos X project, the long-term development initiative that will provide the community a revamped platform for scale and extensibility.
Ed: Tell us a bit more about yourselves and what you’ve done in the community thus far:
Keith & John: We’ve been active members of the Mifos developer community since July 2009. During that time, we’ve contributed to most aspects of Mifos: scalability / performance, collection sheet correctness / robustness, evolution of services, spring security, reporting and data warehousing.
Ed: What are you currently working on?
K & J: We’re working on laying the foundation for the next evolution of the Mifos platform. We want Mifos to be faster, lighter and cheaper to change so that it is more responsive to the needs of MFI’s and Integrators. This is quite a long-term aim, maybe 18 to 36 months, so the strategy is to have some concrete and usable deliverables along the way.
The approach is to deliver incrementally based on the ‘Microfinance Model’. We call the first delivery ‘Mifos Individual Lending’. This has a fairly narrow functional scope where we get to pay attention to the details of knowing your client and monitoring their loans. In a nutshell, it will have richer client functionality and more flexible loan functionality than the current Mifos platform. Technically, it’s much ‘lighter’ than the current Mifos platform. Part of that lightness relates to installation as well as the ease of getting data into and out of the application. Another aspect of lightness is the ability to change and customize for individual MFIs quite quickly. This aspect is important to us as, most of all, we want a useful product. If useful means changing work flow or adding customized reports and data for an MFI, we expect to support that effectively.
Ed: When will Mifos X be available?
K & J: Quite soon. We are currently working through deployment with our first MFI (Creocore). We are just about to put up a Beta Demo so we can reach out to the community to round out Individual Lending functionality.
Ed: Is there a plan to merge the current Mifos platform into this new one?
K & J: Yes. As said before, it’ll probably take in the region of 18 to 36 months to fully complete the new platform work. However, the approach is incremental and allows MFIs currently using Mifos to get onto the new platform as and when the functionality they use is available. For example, once we’ve established that Mifos Individual Lending hits the mark we’ll officially release it and provide a migration capability for existing Mifos users.
The next steps are to add support for the other Microfinance models. We anticipate including lending models such as Grameen-style joint-liability groups, self-help groups and federations, cooperatives and SACCOs, village banking, etc.
Of course, whilst this new platform work is happening the current Mifos platform will continue to be developed. Indeed, even with the transition away from Grameen Foundation, there’s been a lot of good development on Mifos in recent months and there are forward looking plans to continue that good work.
Ed: Yes I was quite pleased with the community’s efforts in shipping Margaret H. I have been working closely with Chetan and Lukasz to bring together all the community’s feedback into our current product roadmap.
Also, in the short term, we are hoping that some of the reporting work done for Mifos Individual Lending can be re-used on the current Mifos platform.
Ed: Reporting, that’s been one of the biggest pain points for our users –we have some robust business intelligence in place through Pentaho but users have been clamoring for us to make this easier to use. Integrating these same capabilities in a lightweight fashion directly in the Mifos user interface will be well received.
Ed: Can you say a bit more about the technical architecture behind Mifos X?
K & J: The broad strokes of the technical architecture are:
i) User Interface/Backend Split.
There’s a ‘backend application’ (Java/MySQL) whose capabilities are exposed through a HTTP API. It’s the workhorse that provides data, saves data and applies rules. There’s also a browser based user interface (UI) which uses the capabilities (services) of the backend application. This UI is largely JQuery driven. The HTTP API is secured using OAuth.
The user interface / backend split is very important for integration with other applications (mobile apps for example) and where there’s a need to extend because a particular MFI has very specific workflow or data display needs.
Under the covers, this reworking has allowed us to simplify the code and database structure significantly.
ii) Multi-Tenant Hosting
The product allows for multi-tenant hosting (i.e. host more than one MFI on one machine) or can be downloaded and installed for one MFI.
Ed: Who is working on it at the moment?
K & J: Right now, the developers are Keith and John Woodlock. Henrik Esbensen from Creocore had helped enormously with initial functional requirements. There has also been analysis and requirement contributions from a number of the Mifos community members – we’ll continue to work closely with Chetan to examine these as we round out functionality for Mifos X. Support from a funder has allowed Keith and John to work full-time for a three month period on this initiative.
Once we feel the Mifos Individual Lending platform is solid we’ll officially make the code base available to the Mifos developer community which will allow more people to work on it.
Ed: Where can we go to learn more? Where can we test this out?
K & J: We will be putting up a Beta Demo very soon. This is important as the proof of the pudding is in the eating. We’ll be mailing the Mifos lists to ask the Mifos MFI community for their help in rounding out Individual Lending functionality. The demo link will be in that email.