In May I worked with Plan Benin to improve its Violence Against Children (VAC) reporting system. The system uses FrontlineSMS and Ushahidi to collect and visualize reports of violence against children. Ushahidi develops open-source software for information collection, visualization and interactive mapping. While in Benin, I was frustrated by the lack of local data available through Google Maps, Yahoo, and even OpenStreetMap — the three mapping applications Ushahidi allows administrators to use without customization.
While these mapping services are great for places rich in geographic data, many places — like Benin and other countries in the developing world — are poorly represented by the major mapping services. Making matters worse is the fact that even when good data is available, slow and unreliable Internet access turns geolocating incidents and browsing the map into a frustrating, time-consuming challenge for staff and site visitors in-country.
In an effort to create a custom map with more local data, I tested out TileMill, Development Seed’s open-source map design studio, with successful results.
An area of northwest Benin shown with Google Maps (left) and a custom map built with TileMill (right). Note the number of towns and villages that appear in the map at right.
With little hands-on experience with map design or GIS (geographic information systems), I was happy to find TileMill’s Carto-based code intuitive and easy to use.
Because of the lack of data on Benin available through the major mapping services, I thought it would be interesting to visualize the VAC Benin data on a custom map using geographic data obtained by Plan Benin through CENATEL, the National Centre of Remote Sensing and Forest Cover Observation in Benin. I exported reports of violence from Ushahidi into a CSV file using Ushahidi’s built-in export functionality. From there, I used Quantum GIS — an open-source GIS tool — to convert the data into GeoJSON, an open standard for data interchange that works very well with TileMill.
I then used TileMill to create a map that includes only the data relevant to Plan Benin’s activities on this particular project, which helps users focus on the information they need. The map includes geographic data for Atacora and Couffo, the two “Program Units” where Plan Benin operates. (These are highlighted in light blue on the map.)
I also included labels for the important cities in both Program Units and, if you zoom in several levels, village names in Atacora. The red dots indicate reports of violence, and if you mouse over or click on a dot, you can see a summary of the incident. The reports were geolocated by hand using information sent via text message. The map also incorporates MapBox’s open-source World Bright base-layer map, adding country borders, custom labels, population centers (in light yellow/brown tones), and other information to the map.
The Tip of the Iceberg
This is really the tip of the iceberg in terms of what TileMill can do. It would also be possible to add as many cities and villages as there are in the dataset, include multimedia-rich interactivity, use a choropleth scheme to indicate hotspots of violence, cluster reports, and so on.
With just a few design choices, this custom map dramatically improves the experience of interacting with data collected through Ushahidi. Highlighting the Program Units draws the eye to the important areas; using deep datasets and custom map labels solves the problem of missing local data; and the built-in interactivity means that visitors don’t need to browse to multiple pages (a killer in low-bandwidth environments) to view information on individual reports.
Compositing, which was just rolled out on TileStream Hosting, helps the map load quickly, even in low-bandwidth environments (the maps are now faster than Google Maps), and this map can also be used offline via either the MapBox Appliance or the MapBox iPad app. Finally, TileStream Hosting makes it easy to host the map and generates embed code so the map can be widely shared.
Take a look at the map below and feel free to click over to the VAC Benin Ushahidi site to see the difference for yourself.
VAC Benin data collected with Ushahidi and visualized with TileMill:
Paul Goodman is a master’s student at the UC-Berkeley School of Information and is spending the summer working with Development Seed.