Developing Android libraries that are easy to use - Part 1: Make the library conventional


We more often than not re-use code when developing software. For code to be reused when working in Java, we can package it into classes, packages, modules (read gradle-modules), or an artifact.

In Java, we call these artifacts JARs while in Android they become a bit more complicated and independent to become AARs. AARs contain drawables, strings, layouts, values, assets and even the AndroidManifest.xml. However, to truly re-use the code in an AAR we need to know:

  • What the code does
  • How to call it
  • What to pass to it

The aim of this blog post is to outline how to develop and support Android libraries that are usable by other developers. The fact is that there are a lot of libraries developed that achieve what we want. However, the difficulty of using these libraries — often they are challenging to import, let alone use — deters developers from taking advantage of them.

 Continue reading Developing Android libraries that are easy to use - Part 1: Make the library conventional...

OpenSRP included in John Hopkins List of Leading Digital Solutions for Covid-19 Response


OpenSRP for COVID-19 Response

From the early days of the coronavirus pandemic, we’ve been doing what we can to help and watching in awe at the work and dashboards from Johns Hopkins. Accordingly, we were incredibly honored to find OpenSRP listed as a notable digital solution for COVID-19 Response in a recent asesssment from Johns Hopkins Global mHealth Initiative and the Bloomberg School of Public Health.

OpenSRP for COVID-19 Response

The OpenSRP COVID-19 app is currently being deployed in Indonesia to read and track Covid-19 IgG/IgM RDTs, Covid-19 RNA nasal-swab samples, and RT-PCR results.

To review the full audit from Johns Hopkins, click here.

Setting Up a Multi-Container Development Environment with Docker


Docker Containers

In this post we will set up a development environment for an application that will be using multiple Docker containers. The application is a Fibonacci number calculator, which consists of the following services:

  • A react frontend (client).
  • A Node.js backend (server).
  • A Redis worker.
  • An Nginx router.
  • A Postgres database.

 Continue reading Setting Up a Multi-Container Development Environment with Docker...

Ona's COVID-19 Response


To do our part in slowing the spread of SARS-CoV-2, we are closing our Kenyan offices effective March 14th and initiating a mandatory work from home policy.

As a company working in public health, we feel it is critical for us to begin the practice of social distancing to help reduce the impact of COVID-19 on our team, their families, and our communities. As a technology company, we recognize that we are fortunate to be able to continue to operate with our staff working remotely. We strongly encourage all companies, in the position to do so, to begin working remotely. Social distancing is critical if we hope to slow the spread of COVID-19 in our communities, and we must all do our part.

Flatten The Curve

We are strongly encouraging all of our staff to talk to their parents and any elderly or at risk members of their family to ensure they are educated about COVID-19 and encourage them to begin common sense measures to mitigate their risk.

We are also making available information we have compiled on COVID-19 to share with our team. Please feel free to use, modify, and distribute this communications resource if you find it helpful. Slides can be found here,, and are embedded below:

Ona is committed to using our technology and skills to support the COVID-19 response. We will be announcing our plan for this shortly.

As a society, we face an unprecedented challenge in many ways. Please plan, take early action, and stay calm. We can and will get through this together.

Rails Girls Kenya - Mega Workshop


ona representation
Racheal representing ona

On March 7th we were proud to partner with Rails girls Kenya in hosting a successful Rails Mega workshop which was held at Riara University. The one day workshop saw over 50 learners come together to build their first Rails application from scratch with the help of amazing Ruby coaches.

The event started with an introduction to Ruby. Later, learners headed to the hands-on session to familiarize with rails and start working on their projects as a team. At the end of the day, it was amazing to see them showcase what they built, with so much pride, to the rest of the attendees.

 Continue reading Rails Girls Kenya - Mega Workshop...