Version 6 (modified by 11 years ago) ( diff ) | ,
---|
Table of Contents
Introduction
- Receive tweets and / or SMS messages from the public.
- Dispatch these to online workers to classify and geocode.
- Display on a map.
Background
During the Haiti earthquake of Jan 2010, people trapped in buildings sent SMS messages to a designated shortcode. These were classified, translated, and geocoded by online workers using Amazon's Mechanical Turk, then provided to emergency managers.
During the Kenya 2013 general election, citizens and trained election monitors reported election-related incidents via SMS and twitter. These were automatically entered into a map database, then vetted by online workers to remove spam and contact the sender for clarification, before making the information public. See: https://uchaguzi.co.ke/
During a Random Hacks of Kindness hackathon in 2010, a variant of this project was implemented using a Sahana Eden as the back end and a custom web page (not automatically generated by Eden) as the front end. This was designed as a training game -- workers got "experience points" and were awarded badges. See: http://gwob.org/101010-hackathon-winners/
Project breakdown
This project is intended to be easy to subdivide into tasks that can be worked on somewhat independently and in parallel, given the choice of a few naming conventions for new database tables and fields.
Set up incoming messages
Read the information on how messages are received by Eden from Twitter or SMS, and get test messages into an Eden instance.
Relevant documentation:
- DeveloperGuidelines/Messaging
- DeveloperGuidelines/Messaging/Channels
- UserGuidelines/Messaging (very much in need of clarification and concrete examples)
Code examples:
User interface: http://demo.eden.sahanafoundation.org/eden/msg/
Add database tables for message processing tasks
Add a controller to generate task pages for workers
Add a view that presents a task to the worker and submits their work
Generate a list of categories from the database
We would like to encourage workers to use existing categories when there is a close enough match, but be able to add new ones if not. So, we want to give the worker a menu of categories to choose from, consisting of all the current categories found in the category field being added by the team working on adding the new tables, and also let the worker add a new category.