Developing Apps For Developing Countries

Developing Apps For Developing Countries

As given at Mongo DB World 2017 in Chicago


Jameson Hampton

June 15, 2017


  1. Developing Apps for Developing Countries Jameson Hampton @jameybash

  2. MDBW 17 | @jameybash @jameybash

  3. Let me tell you about Medicapt! MDBW 17 | @jameybash

    Awards! • Won USAID-Humanity United Tech Challenge for Atrocity Prevention in 2013 • Nominated for Human Rights Tulip award in 2015
  4. Wow Jamey that’s really cool! How did you end up

    working on that??? MDBW 17 | @jameybash
  5. Challenges I Expected To Face • Privacy concerns! • Super

    important when working with medical information • Required PIN every time app times out • Didn’t store any images on the phone itself MDBW 17 | @jameybash • Chain of custody concerns! • Making a paper trail of who created and edited and accessed what files • Important for law enforcement to prove who saw what and when!
  6. Challenges I Expected To Face • Lack of wifi! •

    A constraint that’s a little more unique to programming in the third world • Planned to use a NoSQL solution to rely on eventual consistency MDBW 17 | @jameybash • An inexperienced user base! • Good UI/UX is always important of course, but it’s different when your target audience hasn’t really used apps before • Can’t assume the same things will be intuitive to them, since they don’t have the same shared background
  7. And then I actually went to Africa… ... and it

    completely challenged how I was thinking about the project! MDBW 17 | @jameybash
  8. Challenges I *Actually* Faced MDBW 17 | @jameybash • Lack

    of resources more than just wifi! • They wanted to do printing but there were no printers available in the hospitals. • No reliable electricity! This was the first thing that really required out of the box thinking because you can’t just magic up power. • *Very* inexperienced user base! • As frequent smartphone users, we didn’t do a great job predicting what kinds of things our user base would find difficult: • Clicking on the text box in order to type in it wasn’t intuitive • Unfamiliar with underscores
  9. Challenges I *Actually* Faced MDBW 17 | @jameybash • Lack

    of tech support! • If something breaks, there’s no IT person around to fix it. • So everything needs to be very reliable – and have easy solutions to fix if something does go wrong. • Trust issues! • Not a super technical issue – but a lot of the challenges we faced *weren’t* super technical • Users who weren’t used to smartphones were very hesitant to use and trust them
  10. How we overcame these challenges • Specialized equipment! Market research!

    • You can hit a ton of special considerations with the right hardware MDBW 17 | @jameybash • Portable size • Battery powered • Ease of use & error handling • Bluetooth enabled
  11. How we overcame these challenges • Non-standard solutions to problems!

    • Letting go of the idea of using off- the-shelf solutions & building a lot of stuff from scratch! • Camera functionality to not save to the camera roll • Printed using custom BT solution that literally sent info to printer via byte stream MDBW 17 | @jameybash • A different kind of UI! • Made a decision to build the app in a way that spelled EVERYTHING out for the user • Step by step instructions • Built in instructions for common problems so they could troubleshoot it themselves
  12. My conclusions • In order to make a program that’s

    usable and useful for an audience that we don’t normally program for, we must: • Think about their needs and how they’re different • Live a day in different shoes in order to experience empathy for the less technical considerations • Learn how to look at our own app with new eyes and try to imagine what it will be like for other people to experience it MDBW 17 | @jameybash
  13. MDBW 17 | @jameybash @jameybash