Call for Code 2019 Global Challenge
It’s fair to say that I never expected to be writing a blogpost like this! Just over a week ago I learned that NearForm had been invited by IBM to take part in the Call for Code Geneva hosted by the United Nations Human Rights Office. Before anyone else had a chance, I excitedly offered to represent the company and I am so glad that I did.
To quote IBM:
The Call for Code 2019 Global Challenge is a worldwide developer competition that seeks technology solutions for natural disaster preparedness, response, and recovery.
It is supported by the IBM Code and Response initiative, a multi-year program dedicated to creating and deploying open source technologies to tackle the world’s biggest challenges.
In a brilliant move, IBM worked with the UN Human Rights to hold the Geneva Call for Code session in Palais Wilson which was the first home of The League of Nations and I felt every bit of this amazing location’s history as I entered for the first time.
The 2-day event brought together four teams working on four separate challenges. Unlike a standard hackathon, the teams were not in competition with each other; and instead of writing code, the focus was on building out the concepts and high-level architectures.
I was on Team 4 with three brilliant people including IBM Fellow Chris Ferris. We all clicked immediately and had very complementary skills and backgrounds. Our team’s top-level challenge was around Accountability and Centrality of Protection for Affected Populations. We decided to focus on providing feedback mechanisms for people affected by humanitarian crises.
The most critical aspect of the entire exercise was the involvement of UN subject matter experts Elsa Le Pennec, Patrick Rooney and Adam Fysh, all of whom were incredibly gracious with their time and guidance. There is always the danger of full-on Dunning–Kruger when a group of technology people get together to work on something completely outside of their domain. Having the UN experts explain what they did, why they did it, what they didn’t need and what they did need, ensured we didn’t go off on wild goose chases creating whiz-bang technical solutions to the wrong problems, that would never be used in the real world by the UN.
We were extremely cognizant of the potential for people to put themselves in danger by reporting abuse in a way that could be traced back to them by the wrong people. Our breakthrough came when we took a step back and we came up with the idea of “stories”. Rather than focusing directly on human rights abuse, what if instead, we enabled people to tell their stories? People, like the Rohingya, who may never have had their stories heard by a wide audience. People who may not have a high degree of literacy. People who have been disenfranchised or displaced and don’t have a voice. People in countries where the UN isn’t even allowed to operate.
Eventually, our high-level spec became:
- A mobile app that enables you to anonymously and safely tell your story with a UX suitable for the vast majority of the world’s population.
- Potentially target both smartphones and KaiOS phones to broaden reach.
- Voice input by default. Text secondary.
- Multilingual voice-to-text on-device to reduce bandwidth requirements.
- Encryption of text and location with UN Public key and immediate local scrubbing of unencrypted voice and text. No ability to decrypt locally, even by the user.
- Transmission of anonymized encrypted text to UN “back-end” with the assumption of patchy network coverage and the possible need for peer-to-peer transmission.
- Potential use of a customised Secure Scuttlebutt (SSB) style network to achieve that transmission. SSB was created by Node.js legend Dominic Tarr.
- Decryption of text and location by the UN back-end.
- Duplication of stream into private and public.
- Full scrubbing of all Personally Identifiable Information (PII) and location, followed by rebroadcast/public-archive of a filtered version of that stream – An anonymous repository of people’s stories collected regionally. Potentially in multiple languages.
- ML analysis of the private stream for human rights abuse signals, patterns and clusters.
- Flagging of potential human rights abuses to UN Human Rights Office for processing in their usual way. Likely via dashboard rather than real-time alerts etc.
The devil, of course, is in the detail and we are very aware that aspects of this like “how can I trust that the man is not listening and can’t track me down?” and “what could bad actors do here?” need to be carefully considered.
We hope we have created a concept that will be of value both to people affected by humanitarian crises and to the UN Human Rights Office. I found myself deeply affected by the entire experience and I must congratulate Call for Code creator David Clark, IBM, the UNHCR, and all the other organisations for coming together in such a powerful and transformative way. I hope that I and NearForm can contribute even more in the future.
You can read more about our Solution Starter Kit for Accountability and Centrality of Protection for Affected Populations here. We’d really like you to consider taking part in the Call for Code Challenge and we believe that an initial PoC should be achievable in a hackathon timeframe. But if it doesn’t appeal to you, please check out the other challenges here.
About the author and NearForm
Conor O’Neill is Head of Product in NearForm. He is responsible for all productization activities and works closely with NearForm’s Open Source and R&D teams to evolve the web platform.