Throughout the weekend, follow all the progress on this and other featured Mifos problems on our Mifos-RHoK HackPad.
Keep in touch in our chatroom at #mifos on IRC.
SMS Communications: Currently Mifos and the client and portfolio data it contains is only accessed by the staff of the MFI. However, the majority of clients served by MFIs own mobile phones. A simple yet powerful way for them to interact with the data in Mifos is via SMS. MFIs have requested the ability for both inbound and outbound SMS communication to send notifications to their clients and to enable clients to retrieve information about their accounts. When living on less than $2/day, this simple yet timely interaction with their financial accounts is extremely important.
Background on Microfinance and Mifos:
Pioneered by Muhammad Yunus, microfinance and access to financial services, while not a cure for poverty, has proven itself to be a powerful and essential tool to allow the poor to create a more dignified life for themselves and their families. Currently several thousand microfinance institutions work tirelessly across the world to provide financial services and other livelihood enablement to the poor. They reach somewhere just under 200 million individuals - yet more than 3 billion people still lack access to financial services.
This is where The Community for Open Source Microfinance and Mifos comes in. Mifos is the software powering an MFI. It is a web-based management information system (MIS) used to manage clients, process transactions, organize groups, and track loans and savings accounts. Field staff enter client and loan data into Mifos while management reviews the information generated in reports to make operational decisions, measure social and financial performance, and report back to funders. MFIs often operate in remote environments with intermittent power, no connectivity, and little support so Mifos has been built to be flexible and adaptable to these environments.
The current Mifos software is in use by more than 40 institutions serving a million clients. However we've seen that it's not flexible and adaptable enough to these challenging conditions for microfinance - this past year, we have launched Mifos X, rewriting our software from scratch - making it a truly open platform that is API-driven and capable of sustaining the rapid evolution of financial services to the poor. Now we need to make it mobile - this is where you can help.
Two of our featured problems are centered around mobile processes on Mifos X - this one focuses on enabling SMS communications.
Mifos is a back-office system used primarily by an MFI's staff to serve its clients. Outbound SMS communications will allow staff to send reminders to clients about upcoming meetings, payments that are due, or other details from their account. Through this communication channel they can improve relationships with clients and manage loans in arrears.
Since Mifos is a back-office system that only staff uses, inbound SMS communications would provide a means for clients to interact with their account in Mifos. An MFI could set up an inbound number, clients could send in shortcodes to retrieve information about their account.
MFIs have requested the ability for both inbound and outbound SMS communication. This weekend, we'll be focusing on outbound SMS by integrating through the Cloud API of an SMS service like Nexmo or Twilio - https://mifosforge.jira.com/browse/MIFOSX-119
Outbound SMS
For outbound notifications, MFIs would like to be able to send out meeting notifications, payment reminders, or other messages. Sending SMS receipts is another important use case that would increase security for both the client and MFI. We will first focus on the simplest use case of sending out an SMS message from the View Client Screen.
Inbound SMS
For inbound SMS, this would take the form of very basic mobile banking - clients should have the ability to send shortcodes and retrieve data from their account (i.e. text BAL to receive their balance or text DUE to see amount due). Authentication would be based on verifying the number from the incoming SMS with that of a valid mobile phone number on the client account.
See: https://mifosforge.jira.com/browse/MIFOS-5526 or https://mifosforge.jira.com/browse/MIFOS-552
Staff Notifications
Alerts and notices regarding client meetings, changes to accounts, staff reminders, etc. could also be sent to field staff. Upper level staff could also receive notifications when certain processes are conducted or exceptions are noted- i.e. repayment data submitted a payment is overdue, a disbursal falls within a certain range, etc.
MFIs operating in both urban and rural regions, must deal with the challenges of poor infrastructure. At branch offices, power is sometimes limited and generators, UPS, car batteries, and more are a must. Data connectivity can be intermittent or non-existent but is quickly expanding with the growth of cellular networks. As a web-based software, these challenging conditions make accessibility via mobile devices all the more imperative.
MFIs are budget constrained. This should integrate with a SMS gateway or service that is as cost-effective as possible.We should give MFIs the flexibility to easily link up with the most affordable gateway or provider in their region.
For inbound SMS communications, in most of the countries our MFIs operate in, it is difficult to set up inbound SMS numbers that work with the cloud API services like Nexmo or Twilio. In these cases integration with an open source SMS platform like FrontlineSMS might be the best option.
FrontlineSMS is a leading open source SMS platform that is helping to promote social change across many NGOs. Integration with FrontlineSMS would offer up a wide array of possible use cases including SMS forms, better management of contacs and more. See http://www.frontlinesms.com/ to learn more.
Getting Started with Mifos X
- Where to Get Code/Set up Environment
- View README on bottom of page: https://github.com/keithwoodlock/mifosx
- Points to geting started page @: https://github.com/keithwoodlock/mifosx/wiki
- Remember there are two repositories: one for platform, one for client apps -
- API Documentation
- Technologies/Languages Involved
- see needed skillsets below
- Mifos X Project Issue Tracker: https://mifosforge.jira.com/browse/MIFOSX
- Relevant Issues: https://mifosforge.jira.com/browse/MIFOSX-22
- Mifos X Wiki: https://mifosforge.jira.com/wiki/display/MIFOSX/Mifos+X+Home
- Mifos X Demo Server: https://demo.openmf.org (mifos/password)
- Mifos: www.mifos.org | Community for Open Source Microfinance Website: www.openmf.org
- Notes on Mobile Requirements: https://mifosforge.jira.com/wiki/display/MIFOSX/Going+Mobile
- Mifos Video: http://www.youtube.com/watch?v=STQpP2GhK8k
Needed Skillsets
Two categories of developers are sought after to tackle solutions on mifosx platform:
API & platform development skills:
On mifosx we have implemented our API and platform in the following way:
- RESTful API through Jersey (http://jersey.java.net/)
- RESTful API accepts requests and returns response in JSON only using google-gson to help with this.
- Platform supports multi-tenant ability and secured through Spring Security
- Platform uses Spring Framework heavily for IOC
- Platform splits command and query side of requests in CQRS-like fashion
- Platform uses Spring Data JPA heavily for DAO/Repository access and OO model side. Hibernate is the JPA implementation used.
- Platform uses Spring-JDBC and SQL heavily for reading data from Relational database (MySQL)
Client application development skills:
On mifosx we have implemented a reference app built on top of the mifosx platform as follows
- Web based application
- Javascript + templating approach:
- jQuery ajax to call and consume platform API
- jsRender to bind returned data with templates for render on html page
- jQuery UI for using common UI widgets such as tabs/calendar etc
- CSS for styling
We are interested in:
- Developers with experience in these web app related technologies for given devices
- Developers with experience working cloud-based SMS services like Nexmo or Twilio
- User Interface & Usability Experts.
We are also interested in people who are experienced at managing/enabling ‘product development’
- Product Managers
The Community for Open Source Microfinance and its Mifos project are partnering with SocialCoding4Good and HP to ensure the sustainability of this project beyond the global RHoK event. Several teams of volunteers at HP will continue contributing and in its role as a RHoK Sustainability Partner, SocialCoding4Good will steward this engagement.
SMS integration will be a core part of the Mifos platform tha gets maintained by our core committers and extended by our global community. This SMS integration will be used, tested, and adopted by our MFIs in their day to day operations. We will circlate feedback and new requirements to our local Mifos Specialists (third party implementation and support providers) and volunteers who will be the primary individual responding to these needs.
