Skip to content

Instantly share code, notes, and snippets.

@dphiffer
Created February 25, 2018 18:16
Show Gist options
  • Save dphiffer/9d8a46f5d87972f28f2a02e8983fc4a7 to your computer and use it in GitHub Desktop.
Save dphiffer/9d8a46f5d87972f28f2a02e8983fc4a7 to your computer and use it in GitHub Desktop.

Mozilla/NSF WINS

TEAM MEMBERS:

For each member of your team, please provide: full name; email address; a brief bio, which includes their role on the team (i.e. “designer”); and, links to any additional background information (optional). 5000 chars

Dan Phiffer [email protected]

Dan is a programmer and artist working to make computing more just and humane. He works on the data team at Mapzen and is an Impact Resident at Eyebeam Art + Technology Center. Dan is also in the process of co-founding Smol Data, a worker-owned platform cooperative.

In 2011 Dan created occupy.here, an offline wifi darknet built to support Occupy Wall Street in Lower Manhattan. While at Eyebeam, he’s adapted the “offline wifi” premise into a workshop for middle-school aged students in Sunset Park, Brooklyn.

Dan lives in Troy, NY next to the Poestenkill creek with his wife Ellie Irons and their cat, Beefra.

https://phiffer.org/ https://occupyhere.org/ https://smoldata.org/

PROBLEM STATEMENT:

Describe the issue/problem you are trying to address. 500 chars

Digital maps have totally transformed how many of us engage with our world. Location has become synonymous with a pulsing blue dot on a two-dimensional plane. That ever-present “here” requires a smartphone, a data plan, and cellular coverage. These are costly investments and nowhere near universal. The tech industry, steeped in privilege, has difficulty understanding the needs of unconnected communities. We need offline-friendly tools for navigating, sharing, and discovering local knowledge.

SOLUTION STATEMENT:

Describe your solution and how it will connect the unconnected. 500 chars

Smol Maps is an offline-capable mapping tool created by Smol Data. It is based on open source software and open data from Mapzen, where I work. A website, mobile app, and SMS bot will serve basic navigation needs, and offer a range of customization and social functions. The software will be “offline-first,” building from a baseline premise of sporadic and/or “sneakernet” connectivity. The project will aim to be responsive to local needs, informed by workshops, office hours, and apprenticeships.

USERS:

Who will the users of your solution be? How does the design of your solution address those users' needs? How will it benefit those users? Did you conduct any user research that shaped the design of your solution? 1250 chars

The project will be based from the Sanctuary for Independent Media located in Troy, NY. The project will engage with existing programs at the Sanctuary, including Youth Media Sanctuary (teaching multimedia skills to young people), Collard City Growers (a volunteer-run food justice project), and the NATURE Lab (North Troy Art, Technology and Urban Research in Ecology).

So far I’ve offered 3 workshops with disparate groups, using an early prototype of the software. I’ve incorporated user feedback from these sessions to improve the software. I’ve also spoken with two students interested in the apprenticeship, which has encouraged me to write documentation for them.

Because the project is built through an open source process, an ideal user is someone interested in mapping, and also in learning about how software works. The project can better adapt to the needs of its users if those users can contribute back meaningfully into its production. A Digital Stewards program will foster skills in handling data, operating servers, and writing software.

COMMUNITY/LOCATION

Describe the communities, geographic location(s) and/or types of environments in which this solution could be most useful. 1250 chars

Troy is a small post-industrial college town located across the Hudson River from Albany. According to the FCC 2016 Broadband Report map, Troy has a high levels of fixed broadband. However, based on economic conditions, I suspect that actual subscription rates (not just availability) are lower in North Troy, where the Sanctuary for Independent Media is located.

From their website: The Sanctuary for Independent Media is a telecommunications production facility dedicated to community media arts, located in an historic former church at 3361 6th Avenue in north Troy, NY. The Sanctuary hosts screening, production and performance facilities, training in media production and a meeting space for artists, activists and independent media makers of all kinds.

Beginning with residents of Troy, and working outward into the Catskills, we will seek out users who are in need of offline-friendly mapping and navigation. It will be important to reach users, through non-Internet outreach. The Sanctuary has a terrestrial radio station WOOC that could be useful for 
getting the word out and encouraging people to come learn about how to make their own offline maps.

TECHNICAL FEASIBILITY:

Explain the technical design of your solution. What technical capabilities do you envision a working prototype will have? Are there any technical hurdles or problems that will need to be solved in order to build a working prototype? At what stage of development is your solution currently? 5000 chars

The technical design centers on a web-based map using the Leaflet mapping library, vector base map tiles, Valhalla routing for directions, and Pelias geocoder (Valhalla and Pelias are open source software tools from Mapzen). The current prototype has much of this in place, although the routing and geocoder presently require an internet connection to reach the Mapzen-hosted APIs. Each of those two components will be moved onto self-hosted hardware, in order to make the system more offline-friendly.

A self-contained map server can be hosted on Raspberry Pi hardware, that serves the locally-hosted website via a wifi signal. Anyone with a smartphone or laptop within range of the wifi signal can browse, create, and edit maps without any Internet connectivity. This web-based mapping UI can also be ported to a mobile app with the Cordova framework (possibly incorporating mobile-native Mapzen SDKs), and also to a desktop app using the Electron framework.

Data will be stored as flat files, to simplify the process of syncing and moving data around via USB storage. Private data will be encrypted on disk for privacy and safety. Making the map both user-friendly and secure will be a challenge.

Things that I’ve already built: a script to download base map tiles for offline use, a map editing UI for adding/editing locations, all hosted on an “offline” wifi network (Raspberry Pi running hostapd). Many things remain to be built: data import/export, sharing controls, remixing maps, syncing between devices, offline search and directions features.

Supporting basic phone users is important, in large part because I don’t use a smartphone. I’ve created a basic SMS interface to search for addresses and would like to do the same for directions. I’m using the Twilio SMS gateway service, and might expand it to also support voice calls. Perhaps volunteers could go on-call to look things up for those who lack connectivity.

Some of these ideas may not prove to be relevant, real usage will bear out which things are needed by users. We will need to be responsive to users and also think about finding our users, through non-Internet outreach. The Sanctuary has a terrestrial radio station that could be useful for getting the word out and explaining to people what we’re doing.

DIFFERENTIATION:

How does the proposed solution differ from or improve upon existing solutions? What is innovative or novel about the proposed concept or technology? 1250 chars

Smol Maps is like WordPress for maps, it’s designed so that you can host your own software and data on your own hardware. We will also offer a hosted option and offer training/support for folks who find the prospect of self-hosting intimidating. Another way the maps will be different are through privacy controls, social remixing features, and aesthetic design customization.

Google’s “My Maps” has a handful of affordances for sharing & remixing: link, embed, import/export KML data, and duplicate a map. Smol Maps will offer those, but also allow for users to subscribe to each other’s maps as layers, assign public/private visibility for each place, create geofences (“this area is always private”), and work with a wider range of data formats (GeoJSON, shapefile, CSV). Since the software and underlying data are open, we the map’s behaviors can be adjusted to specific needs.

By focusing on and publicly advocating for our users’ privacy, Smol Maps will aim to build long-term trust in ways that advertising-funded platforms cannot. As a worker cooperative, Smol Data is building technology with not just for its users.

AFFORDABILITY:

How affordably do you envision the solution could be implemented in a real community? 1250 chars

Smol Data benefits from the affordability of using open source software, open data, and commodity hardware. Each Raspberry Pi server costs $30 and, for heavier lifting (such as search and routing), an Intel NUC server costs about $300. Depending on how many participants have access to their own computers/smartphones there could be additional costs for things like iPod touches, Chromebooks, or monitor/keyboards for the Raspberry Pi servers to double as workstations.

Using existing computer labs at schools and libraries is useful for workshop scenarios, but bringing computing home will likely have greater ongoing impact. I’m also interested in exploring non-equipment costs, such as paying a wage to participants and offering childcare. I would prefer that working families not be faced with difficult economic trade-offs in order to participate.

SOCIAL IMPACT

How well-tailored is the solution to the needs of the community and users for which it is designed? How will the design of the solution help engage community members in order to maximize utilization? 1250 chars

Smol Maps is sympathetic to the mission of Media Alliance: We intend to use art and participatory action to promote social and environmental justice and freedom of creative expression. Workshops will cover a broad range of topics from technology to the ethics of data and access. These topics are often intertwined; understanding the social implications of data requires that one is fluent with the underlying technology.

We will explore questions that go beyond mapping and technology. How can we share what we know about our neighborhood? What kinds of maps will be important for understanding the local effects of global warming? What city council issues might be informed through socially-engaged cartography? Where are nearby places with low voter turnout rates, and how might we try to improve turnout in the 2018 elections?

Smol Maps aims to build resilient tools while bolstering the capabilities and economic prospects of its participants. Maps are inherently local and have great potential for connecting nearby groups and individuals to each other.

SCALABILITY:

How will the solution be adaptable to a broader set of communities or areas? How scalable is the solution? How will you provide tools and documentation to anyone who might wish to build upon your work or launch a similar effort? 1250 chars

The initial focus will be very local, in and around where I live in Troy, NY. My intention is to establish a solid core group before expanding outward into other communities. Ultimately I would like to seed other small groups pursuing their own local needs, affiliated and interdependent, but each group remaining free to pursue their own needs.

Scalability in terms of simultaneous users of the hosted service will likely be less of a concern, at least initially. A greater focus will be on how to juggle a variety of portable servers and figuring how much of their state will need to be synchronized. Some kind of automated data backup approach will also require thoughtful consideration.

OPENNESS:

Mozilla works in the open. How will you document and share your project progress with the community? What documentation and resources have you created to help others understand and leverage your design in their own work? 1250 chars

I’ve grown accustomed to writing software out in the open through my work at Mapzen. I try to assume that what I’m building will have some lasting value, so I take process seriously. One of the ground rules I’ve taken to heart from working on the data team with Aaron Cope: Comment everything. Always. Tell stories. Do not tell "user stories". Tell bedtime stories. Timestamp and sign the comments.

Smol Data will blog its progress on smoldata.org and manage source code on our GitHub org “smoldata.” We will document the process and be vigilant to understand which aspects are most challenging to newcomers. We will also conduct regular online and offline office hours to complement the more formal workshop program. While our work will start with a local emphasis, the project will ultimately support a global audience.

Documentation will be an ongoing major concern; for developers, server operators, and for end users. It should be developed in parallel with the workshop program and eventually translated into other languages. The mapping interface will also need to be internationalized, so building out tooling for that early in the process will be crucial for reaching non-English speaking users.

NETWORK FOOTPRINT:

How will your solution make efficient use of existing infrastructure? 1250 chars

Troy is home to a local ISP called Massive Mesh, which is how I connect to the internet at home. As a result, many structures in the area already have rooftop antennas with mesh connectivity. I’m interested in how both the infrastructure and technical expertise of our locally owned provider might be put to good use in neighborhoods of Troy where high speed internet is not already widely used.

The Smol Map server could be configured to connect into this mesh, or through a standard upstream wifi or Ethernet connection. The Smol Data model is that a user’s server downloads and stores data from the Internet and then can be used later to share that data in via its own wifi network. The Raspberry Pi hardware is very portable, and can be powered with a commodity USB battery.

Voice telephone and SMS are two other networks that could provide mapping services for those without any other means of connecting. Those services can be built on top of Twilio’s API, and could be adapted to a self-hosted SIP server eventually.

SECURITY AND PRIVACY:

What steps are you taking to protect privacy and security for users of your solution? 1250 chars

Education and documentation are a critical starting point; if users don’t know how things work, or what the stakes are, crypto won’t do much good. As mentioned elsewhere in the application, data will be end-to-end encrypted on disk. Other key features will include granular privacy controls and geofencing, to reduce the risk that private material accidentally becomes public.

The project will also commission professional security audits to uncover vulnerabilities in the code. Security and privacy are ongoing concerns, so articulating and enforcing good practices will be an important aspect of creating developer documentation.

PREVIOUS AWARDS:

Have you previously been awarded a prize for this solution in any competition? If so, please explain. 1250 chars

This would be the project’s initial funding. I have received funding from the HASTAC Digital Media Learning competition for my work at Eyebeam working on workshop program that has led to the formation of Smol Data. Similarly, occupy.here has been supported by media arts organizations including Rhizome and turbulence.org.

INTERNET HEALTH:

On which Internet health issue(s) does your solution focus? Move all items that apply to the empty box using the arrow keys below. To learn more, visit internethealthreport.org. Open Innovation Digital Inclusion Decentralization Privacy and Security Web Literacy

LINKS TO PUBLIC DOCUMENTATION:

Please provide publicly-accessible links to information on your solution, using the categories provided below. You may only provide one link per category and do not need to provide links for all four categories: Public website/documentation Code repository (e.g., public GitHub page) Design/technical documents or schematics Video content (e.g., link to YouTube video)

who have an existing education program for underserved youth and a community radio station, WOOC, that can help spread the word. Beyond making maps, I’m planning to teach workshops on how the software works and how to build an offline-capable server. I’d like to find additional community partners in Troy (and in NYC) who might help me reach public housing residents or groups whose activism, immigration status, or identity makes them especially privacy-sensitive.

In general, I want Smol Data to those who aren’t well served now by mainstream tech companies or higher education.

The convenience and utility of locative computing conceals a troubling power imbalance. Users offer up their most sensitive data in exchange for free services, with little say over how those data are used in the long-term. Many of us have a general sense of unease about this dynamic, but lack any good alternatives to switch over to. For under-connected communities, the choices are more limited.

Maps have totally transformed how many of us engage with the world around us. Location has become synonymous with a pulsing blue dot on a two-dimensional plane. Our gaze, fixated on moving that dot on the glowing screen, is missing out on what’s around us. Those of us who avoid (or cannot afford) this modern wonder of cartography have few alternatives for discovering places and sharing our own hard won local knowledge. We need better maps that are not funded through mining our valuable data.

For many, “location” has become synonymous with a pulsing blue dot on a two-dimensional plane. Our gaze, fixated on a glowing screen, misses out on what’s around us IRL. We have few good alternatives from Google Maps for discovering and saving places and sharing our own hard won local knowledge. Maps have historically been an instrument of power, and today users are being colonized by Big Data.

Modern tech is produced within an isolated bubble of relative privilege. Products/services are designed for those whose lives resemble technology workers in big cities. Assumptions in the design of technology—about cost, connectivity, language skills, and vulnerability to surveillance—further marginalize communities who need the most help. Market forces conspire against thoughtful technology creators; smaller firms are absorbed into larger ones, capital investment is a debt burden.

Smol Data is a worker cooperative that supports and trains small groups of tech workers. Affiliated satellite teams serve the needs of their own local communities. Based in a small college town in upstate New York, we are creating offline-capable alternatives to Google Maps, YouTube, Dropbox, and Slack. We teach workshops, write documentation, and offer apprenticeship opportunities. We are working within and for

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment