The field guide to aiding in natural disasters and deploying life-saving code
As an open-source and mobile developer, I’ve had the opportunity to work on some unique projects in places where both man-made and natural disasters have severely affected people and communities. During my time in Haiti working with organizations helping those impacted by the devastating 2010 earthquake, for example, I learned how to take on challenges to assist those in need and simultaneously cope with more adversity than the average development project would require.
After the earthquake and through my experiences with other projects, I learned a lot about the deployment of mobile capabilities and devices after a natural disaster. Here are some important considerations, particularly for developers who might be considering creating solutions for the Call for Code.
Can you hear me now?
In developed nations, we are typically able to rely on the comforts of mobile networks with pervasive service. These networks tend to be less dependable in other places around the world. Even in locations where there is excellent cell service, the towers rarely survive natural disasters unscathed, so mobile-, location- and context-based services can simply fail on network dead zones.
Creative mobile solutions for disasters need to be more self-sufficient and frugal in locations where cell service is spotty at best.
The aftermath of natural disasters: Loss of power and other obstacles
We often hear those in the path of natural disaster say they “feel powerless,” and this is doubly true after those disasters impact the power grid for days, weeks and even months after the disaster, outlasting battery life and sometimes generators.
Therefore, it’s critical for developers to get creative with power management for solutions they are considering for disaster relief and that they consider and plan for the use of alternative sources of power, such as solar, early on in the solution deployment. Being able to deploy mobile devices to gain insights on the extent of disasters is great, but if those devices aren’t charged in advance — or if the solution requires significant resource power — then frequent recharges will slow the progress of the app or solution in the moment.
Be mindful of the data verification and validation needs for your application. Those responding to and assisting in the field need to work with accurate information. Providing timely and accurate information can empower communities to better prepare and respond to the situation at hand, prioritizing and routing resources to those most in need.
Build on existing success
People caught in disaster zones seek support and assistance within their communities, and developers need to do the same. You should take full advantage of open-source solutions like the Open Source Disaster Management System, Sahana, or other useful community sources, like Ushahidi or Facebook’s safety check, just to name a couple.
Before scanning the environment to determine the extent of the damage and the effectiveness of current relief strategies, think about which solutions have worked and which haven’t. Doing so can help you focus on the most impactful capabilities you want to deploy. Open-source solutions make it easier to have a broader impact on a disaster, and this is the main reason why the Linux Foundation is supporting the 2018 Call for Code initiative.
You should also keep in mind three central things as you go about developing to assist those impacted by a natural disaster:
- Environment: Plan for resource constraints like bandwidth and power loss. The best solutions will be resilient enough to perform well despite environmental considerations. It’s also important to consider the aftermath of a disaster, such as flooding and rain, which can impact devices where solutions are deployed.
- User: It’s important to carefully consider the user, their technical skill level and their specific needs. As natural disasters often happen in remote places where individuals may have less of a technical background, the best solutions will have easy user interfaces that are easily understandable in a variety of conditions. Bringing users into the design is always a good idea, particularly for mobile applications.
- Feedback: Allow for feedback from users and those impacted by the solution on how to build and improve. This will help you start with a concise problem defined by those with first-hand experience. For instance, if designing for doctors in situations where they need to make fast decisions to save lives, it’s crucial to require a minimal amount of text so that doctors won’t have to pull away from patients in need to review information.
I’ve learned most of these tips doing real fieldwork, and I hope more developers will use these insights as motivation to contribute ideas and finished code to the 2018 Call for Code initiative.