Originally written by Eric Holzhauer
The FCC has a mandate to collect and share information on mobile broadband quality. Traditionally, that has meant collecting data and then issuing a report. Before the report is completed – a process that involves drafting, writing, rewriting, and getting the right approvals – the public generally has no visibility into the data. MongoDB is helping change that.
The FCC Speed Test App (available for iPhone (link is external) and Android (link is external)) measures network quality metrics, including upload and download speed, latency, and packet loss. Currently, users can test their own networks and view an archive of their test results. Soon, the Visualizing Mobile Broadband project will allow consumers to see aggregate test results overlaid on maps, as soon as they become available.
The visualization application is built on MongoDB using Node.js, and employs Mapbox for mapping. The results of the Speed Test app are collected, imported into MongoDB, cleaned and validated, and then aggregated by geography, carrier, and time.
Eric Spry, the Acting Geographic Information Office at the FCC, said “The data tended to be a little messy for our SQL schema, and we were constantly having to redefine fields and having to account for new edge cases in the data … MongoDB allowed us a great deal of flexibility in the data we could accept.”
Using MongoDB, the FCC is able to store the results as they come in, and perform data validation afterwards. Not only does MongoDB serve as the container for the speed test data, but it also provides the spatial operators for aggregating and analyzing test results based on location. The FCC also chose MongoDB for its ability to scale, as their test results grow from millions to tens of millions per month.
The application will allow consumers to see mobile broadband data and use that information to make more informed carrier choices. In addition, an API and release of the source code will enable others to build their own applications using the mobile network information as it becomes available.
Of course, being a government agency, the FCC faces its own set of challenges. “The MongoDB team understands government procurement and our unique security issues,” said Spry. “Their knowledge of our requirements meant that standing up a MongoDB server went very smoothly.”
For more details, see the full recording of Eric Spry's talk at MongoDB World, available now.
The FCC will launch the application in August 2014.