Read/Write Offline Mapping: Artist’s Note

Dan Phiffer

I stood staring at my phone while incessant drum circle beats echoed off of skyscrapers. The little animation spun around and around, but Google Maps was stuck showing a blank grid. I had no idea how to get home. I squinted across the park at the NYPD SkyWatch tower, looking for a subway entrance. Were the police intercepting our cell phone connections? Maybe the towers were overloaded from all the protestors? Trusting my instincts, I headed south through the maze of lower Manhattan, straight to the wrong subway station entrance. ¯\_(ツ)_/¯

Zuccotti Park during an Occupy Wall Street protest in New York, Thursday, Nov. 10, 2011. (AP Photo/Seth Wenig)

That Fall of 2011, like many New Yorkers, I was pulled into the orbit of Occupy Wall Street. I was not an early or radical activist in that months-long occupation, nor did I camp out in Zuccotti Park (aka Liberty Square). But I became familiar with the occupation through repeat visits. Over time I learned where, precisely, to find the uptown J train platform at Fulton Street Station.

People had come to Zuccotti Park from far away, crossing state boundaries, putting their lives on hold. Some had dropped out of school to protest. Folks milled around, ate together, sat and talked politics. We debated each other in good faith and found new allies in the park. We were living as if the revolution had already come. In these dark political times, it seems important to remember the idealism and hopefulness of 2011.

I became interested in how OWS was using media. Twitter and Facebook and online video were becoming essential organizing tools. I joined the Internet Working Group, charged with maintaining the official web presence. I helped recruit other software developers, and became familiar with the mechanics of the website. Its main function was a shared blog and calendar that working groups used to coordinate their meetings. It also had a public message board. The forum was open to anyone on the World Wide Web, so naturally it got inundated with trolls and disrupters.

On one particular Saturday morning I brought a device with me to Zuccotti park. I’d hacked a wifi router to run Linux and coded my own web-based message forum for it. Only those at the encampment could access the message board through physical proximity, by virtue of being in range of the wifi. After explaining the premise to some intake volunteers I left the router plugged into the power generator behind the main info desk. The wifi network offered exactly one website (, disconnected from the internet. All other URLs redirected to the message board. This was the first of many prototypes for my ongoing project,

Technology-wise, lots of the hardest problems had already been solved; is built on OpenWrt and shares much of its software architecture with PirateBox. More recently, I’ve been inspired by others doing similar work around wifi/community/surveillance, especially Sarah Grant, Surya Mattu, and Dhruv Mehrotra. My own interest in offline wifi is not as a technology per se, but rather as a simple tool to assist in decentralization. I’m still excited by the potential of situated social networks for groups who may not otherwise be connected by the likes of Twitter or Facebook, or who may want to socialize outside of their confines.

Offline mapping

Recalling my difficulties navigating home from Zuccotti Park, I’ve wanted to create offline-friendly map software for I did an early experiment a bit with caching a map on a 3-day long hike, but we mostly ended up navigating with paper-based maps.

I was glad when the opportunity arose to develop a workshop on offline mapping in early July for the Seoul Biennale of Architecture and Urbanism. It provided a chance to explore digital mapping that doesn’t necessarily expect there to be a “cloud” available. (I love and use cloud services, but it seems important to have the capability to run my own mapping software.)

The workshop description invited attendees to bring a laptop (a wifi-capable smartphone also worked). It read like this:

Maps have become a critical facet of how we interface with the landscape around us. Key to our capabilities to navigate and understand the world are these questions:
— What gets mapped?
— How are maps created?
— Who is able to create and design maps?
Open data and open source software can provide an accessible entry point for self-determined cartography. We will consider both the how and the why of open mapping and create new tangible artifacts.

I’d hoped to base the workshop on Portable OpenStreetMap (POSM, pronounced like “possum”), a mapping project used by the American Red Cross to assist its humanitarian field work. POSM gets a mention on the workshop listing, but I decided late in the process that it wasn’t a good fit. I was interested in how we could use the OpenMapKit mobile app in a workshop setting, and use it to edit the OSM map of Seoul offline. But then I realized there is no iOS version of the app and I couldn’t expect participants to all have access to an Android phone.

Assembling a map

Given that I work at Mapzen, where we create open mapping software and data, the workshop was a great opportunity to assemble some of the various tools we work on into a new offline mapping tool. It is intentionally simple; you can customize the map style (I was excited to try out the new Refill themes), and add dots to your map. It is a work in progress, but at each progressive step I’m ensuring that the map will work offline. You can try out a demo at, or try installing it on your own server.

Web-based “slippy maps,” like Google Maps, are built out of hundreds of data tiles, stitched together like a quilt. As you pan and zoom to explore the map, new tiles are loaded up as they’re needed. I experimented with running my own version of the software Mapzen uses to generate those tiles. Ultimately I found it was easier to download all the tiles we might need for mapping Seoul at a variety of zoom levels. (Thanks to Ian and Nathaniel for their help on this part!)

Not all tile services are amenable to offline caching, and many explicitly forbid bulk downloading map tiles. There are good reasons for this, some technical (don’t overload the servers!) and some related to pricing. Mapzen’s tile service keeps track of each incoming request using an API key and charges your account after the first 50,000 tiles (per month).

There is still plenty of map functionality I haven’t implemented yet: the search box still depends on a cloud-hosted geocoder, there’s no routing at all, and I need to add more map icon possibilities. I will make these improvements eventually. It calls to mind something I overheard at OWS: “hey relax, we are not on Capitalist Time here.” The basics were working well enough for workshop attendees to create offline (printable!) maps.

The workshop

We gathered in a large space-aged room in the Dongdaemun Design Plaza. We broke into small groups and discussed ideas for maps we could make of Seoul. Each person decided on a map idea and got started with using the software.

I encouraged participants to think about which aspects of our lived urban experience might not be reflected in the familiar utilitarian smartphone maps designed to move us efficiently through the city. I’ve been inspired by projects like EcoArtTech’s Indeterminate Hikes+ and Kerry Tribe’s collection of strangers’ hand-drawn maps of Los Angeles.

[D]igital interactions can create familiarity with one’s fellow embodied humans through gestures that are too abstract for IRL conversation.

Much like a “LAN party” — playing video games with friends in a computer lab — we created local maps that could only be viewed in the space. We were disconnected from the Internet, but we were all on the same local network as the mapping server.

We stuck to venue locations (point geometries, no roads or neighborhood areas), within Seoul. One participant mapped the locations of old trees of Seoul. Another created a survey of night market safety/lighting. Someone else mapped places where you can park your motorcycle.

Because the software does not yet have account logins, it’s still not very well suited for general use. In a small workshop setting, it’s easier to trust that people will respect each other’s work, compared to the open internet. Omitting user logins was partially guided by priorities and time limits, but it was also a deliberate design choice. On networks social interactions are intentionally anonymous and open to newcomers. Physical vicinity to others on the network reinforces trust while sharing a digital space, but I’ve also found that it works in the reverse. Those digital interactions can create familiarity with one’s fellow embodied humans through gestures that are too abstract for IRL conversation.

Making kits

In the years since Occupy disbanded in 2011, I’ve been trying to recapture and distill the openness and sense of possibility I found at Zuccotti Park. Occupy had a recognizable and repeatable formula; I appreciated how quickly and easily other OWS affiliates sprang up across the United States. Similarly, is available as a kit that’s (somewhat) easy to set up. And now you can also use it to create offline maps!

Workshops and teach-ins were essential then, and could provide better readiness for the next moment of political possibility. Whether we need offline maps, message boards, or just to sit and enjoy the drum circle for a moment before heading for the subway.

Dan Phiffer is an artist, programmer, and researcher based in Brooklyn. He helps build open source mapping tools at Mapzen and is an Impact Resident at Eyebeam Art + Tech. Dan is interested in how computers shape our ways of thinking, and how our values are reflected in the systems we build. His projects have been exhibited at the Museum of Modern Art, MoMA PS1, SFMOMA, Ars Electronica, and Transmediale. His work has been written about in the New York Times, New York Magazine,, and Hyperallergic.