Mobile Integrations Made Easy — Introducing Junebug
Since 2012, Praekelt Foundation’s open source mobile messaging platform, Vumi, has sent more than 100 million messages to tens of millions of people across the world, providing them with essential and potentially life-saving information. The journey has not always been easy, however.
Each time we launched Vumi in a new country, our engineering team had to grapple with the specific technical specifications for each mobile network operator (MNO). Managing these integrations became a full-time job in itself and the complexity of each new integration made it difficult to respond to urgent problems — not only for Praekelt Foundation, but for others too.
As the Ebola crisis demonstrated, integrating with MNOs is a cumbersome, time-consuming process and presents a significant obstacle to any organisation looking to develop and deploy mobile services at speed. The fact that aid agencies were unable to plug into mobile networks without first setting up integrations meant that it took far too long for vital information to be collected and disseminated via mobile.
For this reason, and for others, it became apparent that a new solution to integrating wth mobile networks was needed — a single platform that could simplify connectivity across networks, manage multiple data streams, respond to emerging data sovereignty laws and assure data security. Easy, right?
Birth of Junebug
In 2015, Praekelt Foundation worked with a select group of organisations — including the UNICEF Global Innovation Centre, Nyaruka and VOTO Mobile — to create a new open source server application, codenamed Junebug, to directly address these issues.
Junebug makes it simpler for software developers to build and manage mobile messaging services by providing them with a tool they can use to integrate directly with mobile networks. As the head of our engineering team, Simon de Haan, put it, Junebug is like an international travel adapter, allowing travellers all over the world to plug into different power outlets. Like these travel adapters, Junebug makes plugging into different mobile networks possible. This in turn means that organizations can send and receive millions of mobile messages more efficiently and quickly than ever before.
Simpler integration, multiple channels
Junebug enables software developers to integrate directly with local mobile network infrastructure. Direct integration gives developers full access to mobile network data and makes troubleshooting much easier as the source of any problem is easier to identify.
Prior to Junebug, software developers looking to add messaging and voice capabilities to their services, and the applications which run them, were required to develop and maintain different network integrations separately. On top of this, each application was custom-built for a specific messaging platform. Any tweak or adjustment required a code change for each communication platform, significantly reducing the pace of innovation and development.
Junebug solves this problem by providing software developers with an elegant HTTP API. Using the API, developers can quickly launch new integrations for their applications. The API exposes each integration’s capabilities in a standardized message format. It provides unified SMS and USSD gateway connectivity for integrators, operators and application developers. Not only that, Junebug also integrates with voice channels (for interactive voice services or live calls), WeChat, and Facebook Messenger and more integrations are in development.
Junebug has also been designed to allow for local installations, ensuring that mobile messages are sent, received, processed and replied to as quickly and efficiently as possible rather than waiting for data to be routed to servers in other countries through the cloud. Instead, Junebug uses networks of local servers to distribute data and provide cloud-like services within a country.
Thanks to this unique feature, Junebug also ensures that sensitive data, like a patient’s medical record, remains securely within a country’s borders and that increasingly stringent data sovereignty laws are respected.
Junebug in action
The maternal health programs we support — HelloMama in Nigeria and MomConnect in South Africa — both now use Junebug to connect to mobile networks. All of our existing applications were moved seamlessly to this new software environment without any changes being made to applications or messaging formats. By standardizing much of the work involved in integrating with networks, Junebug also makes it much easier for applications to be re-used in new countries. Thanks to this, it’s possible for our team to launch our Maternal Health Platform in another country with minimal adjustment.
Read more about Junebug here.
If you are interested in working on exciting new tech innovations, read about our open positions.
Originally published at blog.praekeltfoundation.org.