4 - Organization & Mission
Meta-level information about NYC Mesh's Organizations operations
- Additional Resources
- Americorps Vista Volunteer Program
- Culture
- Overview
- Master Plan
- Protecting the Mesh
- Outreach Materials
- Documents
Additional Resources
Our network is constantly evolving. Things change as technology improves, people come and go, volunteer-run services are added or abandoned, and challenges are faced and overcome. While we strive to document as much as possible as thoroughly as possible, sometimes we miss things or our (small) documentation team simply cannot record things in our docs as quickly as they happen.
If you find that our docs are incomplete or inaccurate, don't give up! There are numerous other avenues available to you to get answers, including:
Slack
Many NYC Mesh members stay in touch via our Slack group. It is available at https://slack.nycmesh.net and is basically a bunch of topically-oriented chat rooms. Click here to join our Slack.
Each room in our Slack group, called a channel, hosts a discussion about a certain topic. Here is a list of some of the most important Slack channels that you might want to join and check up on regularly:
#docs
: This channel is for documentation team members. Discussions about organizing NYC Mesh Docs happen here.
#general
: A general-purpose chat channel; like the lobby of a building or the living room in an apartment. Hang out with us here. :)
#hardware
: This channel is where general discussion about physical setups happen. Many people share pictures of custom attachments and insulation casings for their outdoor routers here, and ask questions about where to get the best tools or supplies.
#hub-*
: Slack channels whose names begin with #hub-
are for discussions relating to their specific node. For example, the #hub-saratoga-1340
Slack channel is about the Saratoga node (number 1340).
#install-team
: This channel is for coordinating logistics regarding rooftop installs. This channel is private as it contains personal information of members. Reach out in #volunteer or speak to an existing installer at a meeting/meetup to be added.
#mesh-services
: Hyperlocal services and content that are specific to NYC Mesh's network such as the .mesh
intra-mesh DNS TLD are discussed here.
There are many additional Slack channels, and the channel list expands as people find new and fun things to talk about. You can spend a great deal of time searching within Slack to find even more topics, but the ones listed above are channels you should definitely be aware of.
In-person meetings
If you are local to New York City, you can attend any of our public events where you can meet other NYC Mesh volunteers and community members face-to-face. In-person meetings are also a good place to ask questions about NYC Mesh that you didn't get answered on Slack or from our documentation, and you'll find many knowledgeable and friendly people eager to help you learn how to contribute to our community. View our Meetup.com events calendar for details about upcoming in-person meetings.
GitHub
Another good source of information is our GitHub Organization and its various code repositories. A majority of our production and open-source code is available in one or more of these publicly visible git
repos. Sometimes, the best place to look for an answer to a question you have is by reading the source code of the software we use, and this is where you can do that.
Some important GitHub-hosted code repositories are listed here:
docs
: Our high level, non-technical documentation posted on nycmesh.net/docs. Generally covers organizational operation, our mission and other high level topics.
node-map
: The source code behind the map of nodes connected to our network.
nycmesh.net
: The source code for our main website at NYCMesh.net.
nycmesh-configs
: Various assets and hardware-specific config files for the physical devices that make up the infrastructure of our network.
nycmesh-dns
: Configuration and zone files for our intra-mesh DNS servers and the hyperlocal .mesh
TLD.
In addition to the source code itself, we also make use of GitHub's issue tracker to have asynchronous conversations about our software and firmware builds. These issue boards are a little bit like forum postings that you can read to understand why certain decisions were made and how a given component of our network evolved. They are also a good place to ask questions and report bugs.
Americorps Vista Volunteer Program
Overview
Wikipedia: "AmeriCorps VISTA is a national service program designed to alleviate poverty."
NYC Mesh has been awarded several volunteer positions for the 2023 year. These positions are paid a living allowance funded by AmeriCorps.
Links
Culture
In a decentralized organization like the Mesh, it is difficult for new people to figure out who does what.
Basically we work on a system of trust. As we get to know new people we trust that they will do the right thing, and we gradually share access to locations and machines, and let them lead installs. During Covid it is obviously difficult to get to know people since we don't get to socialize with everyone at our meetups, so zooms are the new way.
The danger of having no official structure is that there becomes an "implicit hierarchy" as certain people look after certain aspects of the organization. To avoid that we need to be welcoming to new people and share our skills and responsibilities.
If you are new to the Mesh, the best thing is to join our Slack and start participating in some particular activity, like maintaining hubs near you or helping with apartment installs. As people get to know you, they may ask you to help on other mesh projects.
For some reason most of us are softly spoken, and louder people may have trouble fitting in. (Is this the opposite of most organizations?) We particularly value people from non-technical backgrounds, so we avoid unnecessary jargon and try to answer questions in a common sense way rather than a typical tech way.
Overview
Overview
Join Form
Everything begins when a user fills out our Join Form.
Submitting it assigns the user a node number, sends a support ticket, and adds a row to a spredsheet in Google Docs we refer to as our "main spreadsheet."
Main Spreadsheet
New nodes are displayed as gray dots on our map. They are rendered from the spreadsheet using the map-nodes code on our Github.
Support Ticketing
We use OSTicket for support tickets
Install viability, panoramas etc
A main bottleneck is figuring out which installs are viable. Usually this means line-of-sight to one of our supernodes, or a nearby kiosk.
Scheduling an install
Once an install is deemed viable we send a link to our calendar so the new member can book an install.
Acuity calendar
Info to come.
General Workflow Description:
- User fills out the join form
Ticket is automatically assigned the help topic "010-join form / rooftop" or "010-join form / standard".
Row with node number and user info is created in the main spreadsheet.
Ticket is created in OSTickets to be claimed by a NYC Mesh volunteer ("agent").
OSTickets sends auto-response asking for confirmation and a panoramic image of the user's view.
- Ticket is claimed by an agent.
On the ticket, agent should assign the Help topic “01 waiting for pano” and save.
- If no response from the user (maybe auto-response went to spam) agent sends Spam SMS following this procedure:
- Go to the ticket and copy the phone number.
- Sign into nycmeshmail@gmail.com.
- On the left you’ll see the NYC Mesh icon with a “+”. Click on the plus, and paste in the phone number. Click on “Send SMS”.
- Back at the bottom of the ticket, select the canned response “15-spam sms message”. Copy the generated message. Do not send this message to the user via the ticket.
- Paste this message into the SMS text area and send the SMS.
- Back at the ticket, click on “Post Internal Note” and paste the message there as well.
- Edit the ticket and assign it the Help topic “012-sent spam sms” and save.
- If another week goes by with no response, then close the ticket.
- User responds with a pano.
Agent should then reassign ticket to Jason Howard to add the pano the map.
Jason will assign the ticket back to Agent when pano is added.
-
Agent should correspond with the user until install type is determined.
-
Agent should then encourage the user to schedule an install.
On the ticket, send the canned response "25-Schedule an Install"
- The user will be directed to Acuity Scheduling where they will select an available install time slot.
- The selected time slot will appear in the "NYC Mesh Community Network" google calendar.
- The event needs to be copied into the "install requests" google calendar.
-
Installer volunteers to do install.
-
Install info here.
Master Plan
Our basic plan is to create hubs and supernodes across the city so it is easy for any building to connect to our network. We think this will take about 50 tall buildings spread across all neighborhoods. We currently only have 3 supernodes and about 5 major hub nodes, so we are still a few years away from our goal.
This is a presentation from early 2018 on the technical side of the master plan. Our network has expanded a lot since this presentation and we have now connected over 200 buildings and added another major supernode.
Protecting the Mesh
A common misconception about the mesh is that we are an "Internet Service Provider", strictly speaking. While we provide an alternative connection to the Internet and thus serve as an alternative to the big NYC ISPs, we are first and foremost a community that supports a community network.
That being said, reliability is something we are trying to push into the 99.9 percentile as the vast majority of members rely on this network for their daily lives. We have an obligation to maintain the network to ensure the people who use this as their primary connection to the Internet can use it unencumbered.
At the moment, here are the biggest issues localized parts of our network face when it comes to ensuring reliable and fast access to the Internet:
One member on a node consuming an inordinate amount of bandwidth through a shared connection.
Many nodes on the network are interconnected or "meshing", meaning that even if there is only user of Mesh in your building, your connection to the Mesh may also be distributed to other Mesh members in your neighborhood. The equipment we use allows for 3-4 physical wired connections (apartments, next door buildings) to be added the rooftop equipment without any additional hardware, along with numerous wireless ones.
Many neighbors can typically use the same connection to the Mesh without saturating their link (you can see a list of bandwidth requirements for common internet services here). However, issues do arise when a member uses file-sharing or torrenting services that can often max out the shared connection during periods of high load.
If we notice this type of usage or receive a support request from a neighbor who is experiencing degraded service as a result, we will reach out to figure out a solution. The fix is often as simple as leaving large downloads for overnight or enabling a throughput limit on syncs and backups for cloud services.
A member or router generating known abuse traffic and spam connections to the Internet.
We are a net-neutral network, where we do not log, inspect, or throttle any traffic that passes inside or outside network. There are a few services that we do block on outbound connections to try to limit the amount of DMCA, abuse, and spam notifications we receive which affects the whole network:
- Unencrypted torrent traffic
- Port 25 (SMTP)
- Un"NATed" traffic (connections that originate towards the Mesh without outbound initiation)
As we do not track member activity, there is simply no mechanism for investigating which member has caused a DMCA alert or spam filter to be triggered. However, we keep a public log of these alerts in #abuse to make members aware of the content that generates these negative actions against the network as a whole.
If there is clear evidence that such traffic is being generated from a particular node, we will reach out to the member at that node to figure out a solution. The fix may be resolving a virus or botnet coming from a computer generating malicious traffic, which our volunteers can help resolve.
Misbehaving or misconfigured equipment disrupting connectivity for others or spamming log files slowing support functions.
Our network is built in such a way that anyone who reads our documentation along with resources on the Internet can set up their own node and experiment with their configurations. We ask that any DIY setup is based off of the configuration files we provide so that volunteers have access to the equipment in case of an issue.
There are times where either user error or environmental factors cause other members to become disconnected or our support system to flag your device as "flapping"; reconnecting rapidly for a period of over 5 minutes. These are both high priority issues that volunteers will quickly seek to rectify, and without guarantee of contact during a widespread outage.
If either of these conditions are observed by a volunteer, we will first determine the severity of the condition, disable or reconfigure equipment if it is causing a widespread outage, and reach out to figure out a solution. The fix may be as simple as scheduling a support visit to replace a cable or equipment, or to assist in reconfiguring a DIY setup so as not to cause issues for other members.
Members not responding to volunteers for requests to modify, adjust, or otherwise maintain equipment.
By joining the Mesh, you agree to the Network Commons License which outlines: The network must allow access to any willing participant, except when doing so would jeopardize the proper functioning of the network.
Part of ensuring the proper functioning of our network is maintaining contact with our members in case of issues. When you install a node on your roof, you are expanding the Mesh further in your corner of New York City, which means others may potentially connect through your node in the future.
Our volunteers need to be able to resolve issues that may arise with a particular connection, which means we may reach out to a member if their node has an issue affecting our support functions or the ability for others to connect to the Mesh. This outreach is essential; if we are not able to reach the member in order to resolve these operational issues, it may become necessary to temporarily disconnect a node until we can resolve any underlying problem that has caused the issue.
To prevent this from becoming necessary, we encourage all of our members to be as active in our community as is feasible for them. Being a network engineer isn't required; here are some of the ways a user of the network can be a good member of the community:
- Reporting problems in a timely manner (don't suffer in silence as others might have the same issue!)
- Getting to know their neighbors who are using the same rooftop equipment in a building (also spreading the word about the Mesh if you are enjoying your connection!)
- Asking questions if you aren't sure about anything. Part of being a member in this large community means that there are numerous people eager to share their knowledge about the Mesh and technology as a whole.
You are never bothering anyone by asking questions and sharing your experience with us. We are in this together!
Outreach Materials
Mesh Guide:
Mesh Guide given to new members and for general mesh info.
(Paper copies are available in the Mesh Room for mesh installers to distribute we ran out and haven't ordered more)
Flyers/Brochures:
General Information
- NYC Mesh 2023 Trifold (PDF File)
- 2020 Two page trifold general brochure
- One page general flyer
- One page narrow brochure: Join NYC Mesh
- Church handout -(source file)
- Thank you card
Flyers for distribution to potential new nodes and areas with mesh coverage.
- Two page trifold neighborhood brochure (English/Spanish)
- One page neighbourhood poster (English/Spanish)
- Two page trifold general brochure
- One page general flyer
- Sunset Park Library Customized Poster (English/Spanish) (Reach out in #design if edit access on Canva is desired)
Flyers and Posters to distribute in buildings with existing mesh connections.
(Can be provided to members to give to their neighbours.)
- Two page trifold existing building brochure (English/Spanish)
- Two page trifold neiboughood specific brochure (with some copy changes) (English/Spanish)
- Building Postcard (English/Spanish)
- Building Postcard [Chinese]
- Public WiFi Access Poster
Letter Templates
- Fiber install for building
- Sample introductory letter for businesses/community organizations
- Proposal to building management/landlord
Stickers
Stickers to place on mesh equipment and power supplies.
Thank You Card:
NYC Mesh Thank You Card (PDF File)
Our logo
Old Outreach Materials
These materials are old. They may contain out of date information, incorrect install fees and other issues. Please don't print or distribute these without updating them to current standards.
They are kept here for reference or future use as templates for new materials.
- Old Business Cards:
- Old Flyer:
- Old Stickers:
- Old Building Leaflet:
- card.png
- Old Cut-the-Cord presentation:
- Old Brochure (front and back side):
Documents
NYC Mesh Inc. EIN: 84-2616395
In the interest of transparency, NYC Mesh will compile and publish all organizational documents for public review. Many of these documents are posted on the Slack, but can now be easily accessed without needing a Slack account.