The technology powering Ebola Care

If you're interested in the technology behind this project, this page will give you an idea of how we did it.

Requirements

When we started this project we knew it was going to be tough. To design, build and deploy any app in less than a week is hard. The Ebola app requirements took it to the next level. The app needs to:

  • Run on cheap phones
  • Integrate with existing tools
  • Work without network connectivity

We were going to have to rely heavily on the Journey Platform to make all of that work in four days.

Journey Phones

Using Journey meant that our single code base would run out-of-the-box on all Android and iOS phones and tablets, including the low-end Android phones we'd be using in West Africa.

We're more than happy to make the Journey Platform, used to build the Ebola Care app, available for free to any developers wanting to build other apps for Ebola. Please get in contact and we'll do everything we can to help!

Working out the app flows

The first step was to figure out how the process flows for each of the app processes (Contact Tracing, Ambulance Forms, HOPE 21, Orphaned Children, Education Events). In total there are more than 40 different screens with complex process flows. We made use of Journey's flow visualization to quickly map out each process:

App Flows

Coding and testing

During the coding process we used Journey's live update feature. This instantly updates the app on the phone as you type in the cloud IDE. We could test as we code and get feedback instantly. Taking the deployment process down to less than a second really saves time!

Ebola Care Screenshots

We could test the app on the device as we coded!

Cloud data storage and integration

To make this project scale we wanted all data to be securely stored in the cloud and scaled as the project grew. We're using Journey's App Back-End to store data and expose REST APIs. That meant we could avoid writing back-end code and managing servers.

Journey API

The aid organizations needed reports integrated into Google Spreadsheets. To move quickly we hooked up the automatically generated REST APIs with Journey's Google Apps integration script. For a few minutes of coding we got a fully secured REST API and Google integration.

Offline operation

It was critical that the app work without connectivity and automatically sync when the phone regains connectivity. That is the only way health workers working in rural areas with spotty connectivity can use an app.

EbolaCare app syncing data

After we defined the app's data model, Journey automatically created the synchronization rules and configured an embedded mobile relational database to store and retrieve data in offline mode.

Scaling

The Journey Platform has been proven in numerous mobile health (and corporate) projects globally. Amongst others, we did a community health worker project in South Africa with Vodafone:

<embed src="https://embed-ssl.wistia.com/flash/embed_player_v2.0.swf?2013-10-04" allowfullscreen="true" bgcolor=#000000 flashvars="controlsVisibleOnLoad=true&customColor=7b796a&fullscreenDisabled=true&mediaDuration=84.206&showVolume=true&stillUrl=https%3A%2F%2Fembed-ssl.wistia.com%2Fdeliveries%2Fe60e3ae16aee8fb001dc3664d916ae7a99bc0225.bin%3Fimage_crop_resized%3D640x360&unbufferedSeek=true&videoUrl=https%3A%2F%2Fembed-ssl.wistia.com%2Fdeliveries%2Fe0b2932b6f15690e032068c68ae09515cfa59307.bin" name="wistia_0xm045q8yu_html" style="display:block;height:100%;position:relative;width:100%;" type="application/x-shockwave-flash" wmode="opaque">

So once the Ebola app was completed and deployed, we were confident that it would be robust and scale well.