Collect and verify mobile reports
A common scenario for mobile reporting looks like this:
- A group wants to collect reports from their own trusted network and also to crowdsource reports from the public.
- The group has some process to try to verify crowdsourced reports and needs to track verification.
- The group wants to publish this data using simple visuals that answer their core question and invites comparison.
We recently worked with a partner looking to do exactly this. With so many tools for mobile data collection, you'd think that this should be easy to do with open source tools. It's not. Here is our experience.
Collecting Data
OpenDataKit is a great open source tool for data collection on Android. When you have control over the device your volunteers are using, ODK is great. (Side note: If you like ODK, check out OpenMapKit an exciting project of the American Red Cross, SpatialDev, and Ona).
When you are relying on reports from volunteers with their own phones you can't always get them to download an Android app. This is why the ODK ecosystem and tools like Enketo and Formhub are interesting. Enketo allows us to serve a simple web form on any device. Formhub gives us the ability to convert and manage Excel-based forms. While this ecosystem is great for authoring forms, we found that this system had some shortcomings:
- managing multiple datasets can be a challenge,
- API lacks some features,
- system is resource hungry, and
- difficult to deploy and maintain.
We used these tools for what they are best at, generating web forms from Excel documents. We pulled the data via the API to use in other open source tools.
Verification
No tool that we looked at had good workflow for verification. Most had no verification or had only a simple yes/no toggle. To make the verification of thousands of reports manageable, the system must have a workflow for quickly reviewing whether reports are verified true, verified false or are unverified.
We used Django to build a verification platform that is useful and usable for the data verifier who is triaging hundreds of reports a day and for the field organizer who is trying to track the status of single report.
Publishing
To publish and visualize the collected data, we designed a map and report interface. This interface includes a map view, list view, and charts that invite comparison between incident report types and vicinity.
It was important to clearly show users whether information is verified. For simplicity, we use a simple checkbox to filter out all reports that are "unverified" or "verified false", even though we distinguish between these in the verification platform. We showed the verification status prominently on all report listings.
Reporters can select a neighborhood and choose a level of geographic precision. To protect the privacy of reporters, the system does not require reports to submit precise location information. Trusted administrators use the precise location when it is provided to verify reports. Regardless of the location precision, the public platform only shows reports to the neighborhood level.
Join our talk on Wednesday morning to hear more. We'll follow up later in the day with a Birds of a Feather session discussing how the open source data collection community continues to grow.