Download the App:
The Darkness Map is a visualization of light levels in the city at night. To collect this data, we made a custom mobile app that computes the average brightness for each frame of your phone's camera preview, and graphs that value according to the frame's GPS location.
Add to the Map:
Once the Darkness Map App is downloaded to your mobile device (beta version coming soon for the Android OS), activate it at night as you walk around your neighborhood. Video is GPS tagged and processed to output data that is uploaded to the Darkness Map servers and added to the map.
How it Works:
The Darkness Map App finds the average brightness of each frame of video then graphs that value as a vertical line to create a histogram. Each frame is tagged with a GPS location so it can easily be added to the map.
About
A project by Emiliano Burgos and Genevieve Hoffman, conceived with Scott Wayne Indiana, and Rune Madsen.
We have all seen satellite images of planet Earth at night, but aside from expressing that cities are bright, or that nighttime power is primarily a first-world commodity, these images do not portray much practical information. The Darkness Map aims to communicate dark and light levels within the nighttime urban environment on a human scale.
Inspired by a desire to find dark areas (in order to determine the best locations for outdoor projection) in a city dominated by lighting for commerce, entertainment and public safety, the Darkness Map was conceived of to visualize the nighttime light levels on New York City's sidewalks. Data is collected by capturing video of each city block, tagging it with a GPS location, then analyzing it algorithmically to compute the average brightness of each frame. This data is displayed as a map visualization that depicts the lightness and darkness of city streets at night. Beta versions of the Darkness Map are active in New York City and the San Francisco Bay Area.
Possible extensions of the Darkness map could be data mashing to see whether light levels in the city at night correlate with other location-specific data, like public safety records, traffic incidents, or unauthorized interventions in public space (graffiti).
The Darkness Map was part of the San Francisco Urban Prototyping Festival in October 2012, and is made possible in part by the Gray Area Foundation for the Arts.
Legal
The Darkness Map is an open-source project that uses crowd-sourced data to visualize the urban environment at night. The Darkness Map app provides a way for users to contribute to the Darkness Map visualization. The Darkness Map app does not maintain any personal information about users. The data users collect and send to our servers consists of a light level reading, timestamp, GPS coordinate, and session ID. There is no way to trace back to an individual or phone. By using the Darkness Map app users are contributing to an open-source project, and the data collected will be added to the Darkness Map database, and made available as an open source dataset.
Open Source
All code for the Darkness Map is open source and available to use under an MIT License. All of the code components of the Darkness Map are hosted on github.
Darkness Map code repositories include:
Mobile app for Android - native Android/Java. The mobile app uses the phone camera preview as a light sensor. After receiving a GPS signal, the app captures the brightness of each frame, and sends this data to the Darkness Map server. The iPhone app is currently in development stage, and has not yet been submitted to the App Store. Future versions will have variable sampling rates -- for walking, biking and driving.
Mobile app for iPhone - made with OpenFrameworks for iPhone and Objective-C. The mobile app uses the phone camera preview as a light sensor. After receiving a GPS signal, the app captures the brightness of each frame, and sends this data to the Darkness Map server. The Android app is currently a prototype, and available to download from the Darkness Map website if you navigate to the homepage on an Android device. Future versions will have variable sampling rates -- for walking, biking and driving.
Data Collection Device - basic electronics tutorial for building your own data logger. The Data Collection Device was the initial prototype for the Darkness Map, before we decided to make a mobile app as the data collection tool. These instructions go over how to connect an Arduino, GPS module, and light sensor, and how to save this data to an SD card. Currently, there is no way to integrate the data collected with the Darkness Map web-based visualization, but we are hoping to develop an upload system in the future. Currently, you can use make your own visualizations from the data saved to the CSV file, and I will be uploading code to demonstrate how to get started with that soon. Hopefully you can use this tutorial as the basis for other projects, and swap out the light sensor for other environmental sensors.
Arduino Data Collection Device - made with Arduino. Repository for Arduino code that works with the Data Collection Device. In addition to a few core Arduino libraries (Wire, SD, and Software Serial), the code uses the TinyGPS Library, by Mikal Hart, the TSL2561 Library, by Ladyada (Limor Fried), and the RTClib, by Ladyada. The RTClib was originally developed by Jeelabs. Before using the code, download the additional libraries and drop them into the libraries folder inside your Arduino projects folder. For best results, follow the steps in the Data Collection Device tutorial when using this code.
Dataviz Projection - made with Processing. This is a short sketch that pulls data from the Darkness Map API and visualizes the brightness values as animating grayscale bars. The code was developed for a projection installation at the Urban Prototyping Festival in San Francisco, which was displayed at the entrance to the Intersection for the Arts on Mission Street.
Website - made with HTML, CSS and Javascript. Code for the Darkness Map website and map based visualization. The map visualization utilizes the Leaflet library for JS, and incorporates map tiles made with data from the project, and styled by TileMill.
Server - made with NodeJS. Code for the Darkness Map Server, which hosts the data collected by the Darkness Map mobile app, and powers the map visualization.
Client - made with Javascript.
All code for the Darkness Map is open source and available to use under an MIT License.
Copyright (c) 2012-13 Emiliano Burgos and Genevieve Hoffman.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Contact
For all inquiries and questions about the Darkness Map project, including questions about the Darkness Map mobile app, please send an email to hello (at) darknessmap (dot) com.
