IBM Coder: Services to Consider in Tackling the 2018 Disaster Relief Challenge

Red Cross, Linux Foundation, IBM, and several other humanitarian, academic and international organizations think that you can change the world. This is the essence of the Call for Code initiative.

In this article I will cover:

  • The IBM Code Program
  • What is the Call to Code initiative?
  • How do I register and get started with the challenge?
  • Considerations on Watson & Cloud services to use in this challenge.

The third point is giving you a starting point for exploration into our service catalog for that first step in your ideation for the challenge. If I can help in any way to getting some ideas flowing, I will have done my job here!

IBM Coder Program

The IBM Coders Program is a program to foster a community across the world and skillsets to come together to learn, build and discuss code, utilize code patterns, participate in code challenges, or watch tech talks and lectures on how to code and build more effectively! Per your reputation being high enough in the community, you can actually gain access to exclusive IBM products and events!!

IBM Call for Code Initiative

The new IBM initiative that works with support from the Red Cross and Linux Foundation, as well as several other academic, technology and humanitarian organizations is called the Call for Code and the theme of this initiative addresses “Natural Disaster Preparedness and Relief” due especially to 2017 being one of the worst years for natural disasters across the globe. It was announced at Viva Technology 2018.

How to Join the Call for Code

Developers can register today at Callforcode.org.
Projects can be submitted by individuals — or teams of up to five people — between June 18, 2018 and August 31, 2018.
Thirty semi-finalists will be selected in September. A prominent jury, including some of the most iconic technologists in the world, will choose the winning solution from three finalists.
The winner will be announced in October 2018 during a live-streamed concert and award event coordinated by David Clark Cause.
Details like the the schedule, training and enablement for Call for Code are available at http://www.developer.ibm.com/callforcode.
NOAA interactive map screenshot

You can see the significance to this call to action by going to this interactive global map made by the National Oceanic and Atmospheric Administration [NOAA] which shows all forms of natural disasters in 2017.

Call for Code invites developers to create new applications to help communities and people better prepare for natural disasters. For example, developers may create an app that uses weather data and supply chain information to alert pharmacies to increase supplies of medicine, bottled water and other items based on predicted weather-related disruption. Or it could be an app that predicts when and where the disaster will be most severe, so emergency crews can be dispatched ahead of time in proper numbers to treat those in need.
I use Watson Speech to Text on Ginni Rometty’s speech at Viva Technology 2018

IBM Services to Consider

Now that you know how this will be a project that will be acted upon post-competition to help the world in natural disaster relief and where to get started, I would like to lend some possibly helpful services you can look to on our platform!

Offline First

In a natural disaster, circumstances can make for us being offline. What if connection is lost? Let’s look at a few IBM Offline First apps.

Here is a fantastic tutorial done by IBM Developer Advocate Teri Chadbourne on offline data storage by using PouchDB and CouchDB. This is her Github repository for the tutorial which shows the project management tool spoken to in the tutorial.

Developer Advocate Bradley Holt speaks to development of offline functionality with IBM cloud services

This link is a list of different stacks showcasing a shopping list that can be taken offline, here is the scenario from the README of the project. Here is a stack for this project that uses Vue.js and PouchDB.

envision the scenario and subject matter that pertains to your development

For an offline scenario, we could have this be ‘I want to <have the app install on my device> so that <I can continue to monitor the weather in my area when no internet connection is available>.

There is also a reference in this repository to geolocation context of this application which could be valuable to look at. There are several respects where geolocation would be especially important in natural disasters. A general example being that one could be alerted while offline of local storm shelters in the area as the person tries to find their way to safety.

Here are several geolocation offline implementations by Mark Watson that are no longer maintained but that show the use and architecture of making an Offline First application on the IBM Cloud platform that can track location.

Weather

For the challenge, IBM will open a few weather API’s!! You can sign up and look into the documentation on different API’s offered before the competition in this link.

Chris Hill, VP and Chief Information Technology Officer for IBM Cloud Platform wrote this below about the services. Note that these will be offered specifically for the competition and the links for each API lead to brochures about the API rather than the API reference for these specific API’s due to this. But I do list the Weather Company API on the IBM Cloud Platform that you can use at any time!

And today I’m pleased to share that, for a limited time, we are giving developers who participate in the Call for Code program access to The Weather Company’s services to build their submissions; this marks the first time the APIs have been made available to developers free of charge.
These Weather services are deployed in the cloud to provide weather data feeds globally. These feeds are specifically curated from many weather data sources to enrich business decision making for a variety of industries. Through this program, we will make available, for a limited period of time, the following APIs:

Data Core: Includes many of the most essential weather APIs, ranging from current conditions and forecasts, radar, and satellite data, including imagery for current conditions and forecasts.

Enhanced Current Conditions: One of the highest-resolution weather observation networks that is available in the field, based on over 275,000 personal weather stations in addition to traditional sources.
Enhanced Forecast: The Weather Company’s forecast engine includes leading-edge ensemble model forecasting, expertise from more than 200 meteorologists and related scientists, The Weather Company’s network of observations, radar, and satellite assimilation and modelling capabilities.
Severe Weather: Including forecasted, real-time, and trailing estimates of severe weather data, protecting a company’s assets by staying one step ahead of adverse weather conditions such as hail, lightning, severe wind, and tornadoes.

The Weather Company API on IBM Cloud Platform

This service lets you integrate weather data from The Weather Company into your application. You can use this service you can use right now and any time since this service is in the IBM Cloud platform Catalog of offered services, unlike the 4 API’s above which is solely for the Call for Code challenge.

This API of Weather Company Data on IBM Cloud platform has features being for retrieving weather information hourly, intraday, daily, the current conditions, historical data up to 24 hours, weather alerts, location services and almanac services for historical weather information that spans 10–30 years. You use latitude / longitude to pinpoint the areas you want information about in your calls to the API.

Here is the API reference and the documentation for the Weather Company Data API on the IBM Cloud platform!

Watson Services

Watson Developer Cloud Github Repository

There is a ton you can do with the Watson services!!

Here is the Catalog section of the Watson services on the IBM Cloud platform.

Language Translator

I would like to touch first on the Watson Language Translator service. Since this challenge is applicable internationally, the language and your application being able to work with multiple languages might be a good feature to have for your build.

Lingmo International’s TranslateOne2One device. (Source)

If you decide to utilize the Language Translator service, you can use a forced glossary to force certain words or phrases to be translated in a specific way from one language to another.

For a general example, possibly the phrase “I need help!” in one language sounds a lot less urgent when translated into another language, which could possibly translate that phrase to being “I would like assistance” in the latter language.

That sounds a lot less urgent than “I need help!” does per the first language. You could customize that translation of “I need help!” in the first language to another language with a phrase that reflects the same amount of urgency in the former language’s plea. Just a fun thought!

Watson Studio

If you want to go more of the data science route, you will love Watson Studio!! Its made to build, train, model and deploy applications, workflows, streams, neural networks, and more. It has a lot of everything, inclusive to the ability to model with graphical tooling neural networks, streams, and visual recognition classification.

Watson Studio uses Cloud Object Storage to upload everything from images to CSV’s for use in Watson Studio, then you can share what assets you have uploaded with those you collaborate with per the Knowledge Catalog. Or you can refine, transform or join datasets before sharing them with your team in the Data Refinery, which also lives within Watson Studio.

Here are articles that are excellent for learning more about Watson Studio!

Introducing Watson Studio

Watson Studio in 10 Videos

Continuous Learning on Watson Studio

CoreML + IBM Watson

If you want to develop an iOS application for computer vision, look to the Watson Visual Recognition for CoreML — which makes for ease in building apps (even when offline) with Watson for the iPhone and iPad!

Remember that if you go to the Github repository for Watson Developer Cloud, you can use the search engine to find different code examples. For example my search of “coreml” located this Watson Visual Recognition and CoreML that queries Watson Discovery application.

Voice Agent with Watson

Another service in the IBM Cloud platform Catalog, the Voice Agent with Watson allows you to create your own Interactive Voice Response [IVR] system by connecting Watson services to your phone or per a call center network. You can make the bot with Watson Assistant, which you use to build virtual assistants/chatbots.

Watson Assistant allows for the probabilistic training per what users might ask about over the phone to your IVR and can direct them to the correct information per the questions or inquiries users have.

I hope this was a good introduction to a few different services you could use in your builds for the Call for Code challenge!!! Thank you for reading!! — Julia