Enigma Hack Week: Data Visualization with Minecraft
For our first company-wide Hack Week, my team and I thought it would be fun to use Minecraft as a vehicle for visualizing data from Enigma Public, our free, publicly-available platform that connects people to public data. How would our perceptions of the data change if it was given physicality in an immersive environment?
It turns out that there are more than a few Minecraft enthusiasts at Enigma, and just as many who were curious enough to learn more. The features that made it into the final experience are interpretations of various public datasets, shaped by the unique perspectives of each of our six Hack Week team members.
Because we had less than five days to build something, we decided to bring our idea to life with Python, one of the most popular and familiar languages at Enigma. This required the use of three open source libraries: Forge, McPiPy, and Raspberry Jam Mod.
- Forge is a server-side mod loader that makes mods play nicely with one another. We used it to jumpstart our multiplayer server in anticipation of adding other mods.
- McPiPy is a Python library normally used to control Minecraft: Pi Edition on the Raspberry Pi. It can alternatively be used with the Raspberry Jam Mod on a Forge server.
- Raspberry Jam Mod is a Forge mod that implements the RaspberryJuice API, enabling interoperability between Forge and McPiPy.
Check out our Hack Week post series for a full rundown of our planning and build.
The world we built
We planted trees in the ZIP codes surrounding our office according to geographic coordinates recorded in the 2015 NYC Street Tree Census. Once the trees were “planted” in the game world, we realized that there were two trees we hadn’t noticed before, around the corner from where our office would be located in Minecraft. Sure enough, we spotted the street trees on our next trip outside!
The prison industrial complex
This feature represents the Federal Prison Population Reports dataset. Each building corresponds to a U.S. prison facility and each cell represents ten inmates. There are also signs in front of each building that note the name of the facility, as well the total number of inmates held there. Walking through the complex is a sobering reminder of the magnitude of mass incarceration.
The spiral of Archimedes
In this feature, the collections of Enigma Public are arranged as pedestals within colored spirals. Datasets within each collection sit atop the corresponding pedestal. It’s easy to see the locations of the largest concentrations of datasets, giving new insight into how our public data is organized and structured.
As a bonus feature, you can hit (right-click) the sign for a given collection. A link will be displayed in the chat window, making it easy to jump to the actual data if you see something interesting.
Connect to our multiplayer server
If you already play Minecraft, it’s easy to check out the features we’ve built. We are hosting a multiplayer server with all of our customizations at minecraft.enigma.com. Feel free to take a look around and explore the features on your own time. And if you’re new to Minecraft, check out How do I play multiplayer? for more information on how to connect.
This project was made possible by contributions from our Hack Week team: John Barker, Blaine Boman, Cade Friedenbach, Abe Rubenstein, Ashley Taylor, and Kat Tuttle.
Interested in joining the Enigma team? Check out our open roles.
Originally published at www.enigma.com on February 7, 2018.