When Dan Vanderkam, a developer and self-confessed history lover, moved to New York in 2011, he found himself wondering what the city used to look like. He figured other people probably shared his curiosity, so he built a website, oldnyc.org, that overlays the city’s streets with more than 80,000 images from its past.

“I've always enjoyed historic photos because they capture so many details that you'd never write about,” Vanderkam says, guessing it’s something his father, a historian, passed down to him. “They really are a window into the past.”

Vanderkam approached Matt Knutzen, a geospatial librarian at the New York Public Library, whom he met a couple of years earlier at an event at the Google New York office.

At the time, Vanderkam was developing a website that mapped old pictures of San Francisco.

“We immediately began talking about historical photos and the possibility of overlaying images in 3D space,” Knutzen recalls.

For the San Francisco project, Vanderkam scraped photos from the San Francisco Public Library’s online archive, and only asked for permission to use them once he’d completed the site.

“I realized later how risky it was to ask them that late,” he says. “So, when I went to New York and started oldnyc, I did things differently by approaching the library first.”

Starting Work on OldNYC

Knutzen, who studied geography and cartography in college, was immediately taken with the idea and knew exactly what resources to direct Vanderkam to. He introduced Vanderkam to the Milstein division of the library, which included a collection called Photographic Views of New York City, 1870s – 1970s.

The images, which are mounted on brown paper, include horse-drawn carts on barely developed dirt roads in the Bronx, skaters at Central Park in 1905, and a giant alligator balloon at Columbus Circle for Macy’s Thanksgiving Parade.

On oldnyc.org, clicking on a red dot marker will open a popup box containing photos of the location sorted from the earliest date to the most recent. Some of the images are undated. The site also shows the descriptions that Vanderkam says were written on the backs of some pictures.

Luckily for Vanderkam, Knutzen had already created a metadata spreadsheet containing unique identifiers for each photo corresponding to cross street locations.

“Plugging the data into Google Maps APIs was made easier because I didn’t have to scrape information or hunt for street names,” said Vanderkam.

To convert the addresses to latitudes and longitudes, Vanderkam used the Google Maps Geocoding API.

In order to customize his map, he used the Google Maps JavaScript API to create location markers, and adjust hue, lightness, saturation, gamma, invert lightness, and visibility. He also specified that his map only include roads and not other elements.

Vanderkam wanted other people to be able to engage with the pictures of the city, so he used a comments API from Facebook to allow site visitors to share their personal experiences.

Teaching Computers, Engaging Communities

Getting the photos on his site was also a challenge. Some of the photos were mounted individually, but others were mounted in pairs or more. To automate the task of matching an image with the coordinates in Knutzen’s spreadsheet and then uploading it to site, Vanderkam wrote code so that the computer could recognise the brown paper and isolate the photos. This was no simple task. To display them, Vanderkam used an expandable image grid library that enlarges a photo when it’s clicked on. The code is published on GitHub by danvk.

Vanderkam also created “rotate” and “improve this transcription” buttons to encourage site visitors to correct an image’s orientation or the transcription of the descriptive text on the backs of photos.

“Oldnyc is an incredibly valuable research tool. It’s now the best way into the photo collection,” says Knutzen. “Having the information of places aligned spatially combines information to give us new knowledge to make new discoveries.”

Vanderkam doesn’t have plans to work on maps for more cities, but hopes that someone else would be interested in picking up the baton. “The code for it is all open source, so if anyone is interested in building a version for their hometown, they should get in touch,” he says.