FireChat for protests – "Download this app, we are going to the protest"

2 points by raghule ↗ HN
Hi HN,

Building on the concept popularized by FireChat, I'm working on "Road", a mesh network communication app tailored for protests. While the basic premise remains similar—enabling communication without reliance on internet services— "Road" focuses on enhancing security and organizational features crucial for peaceful protest scenarios.

I'm currently grappling with several technical and ethical challenges:

Scalability: How can we optimize mesh networking algorithms to handle sudden spikes in users, typical in protest scenarios, without significant degradation in speed or reliability?

Security: Besides end-to-end encryption, what additional security measures could be implemented to safeguard against potential vulnerabilities inherent in mesh networks?

Privacy vs. Accountability: Balancing anonymity with accountability is tricky. How can we ensure user privacy while also preventing the platform from being misused (e.g., for planning violence or spreading misinformation)?

Battery Life Optimization: Mesh networking is power-intensive. What are some effective strategies to minimize battery consumption without compromising network integrity?

Regulatory Challenges: Given the global nature of protests, how should the app handle varying international laws regarding encryption, data transmission, and user anonymity?

I'd appreciate insights into these issues or any suggestions on leveraging newer technologies or methodologies. How can "Road" be a reliable tool for protestors to share societal discontents, maintaining robustness and integrity under challenging conditions?

Looking forward to your thoughts and expert opinions!

1 comment

[ 3.4 ms ] story [ 14.5 ms ] thread
I've been researching this area too. I agree that it's crucial for people to have ways to communicate when the internet is shut down.

While I don't have many answers to those questions yet, I can share a few thoughts and point you in the direction of some projects and communities that are dealing with similar questions

---

Communities:

It's the last day of it but this meeting/conference (https://www.battlemesh.org/BattleMeshV16) is currently on and, whilst it has more of a focus on networks in general, there are people there are asking similar questions. The sessions are live-streamed and archived here: https://media.exo.cat/videos/local

I'm not sure where you're based but there are also some local communities:

- https://dwebcamp.org/

- https://canodrom.barcelona/es/comunidad/digicoria

- https://altermundi.net/

---

Some thoughts:

- Scalability: it's a big job to set up aspects like routing protocols for mesh networks. I would suggest building on top of existing standards (e.g. BATMAN, Yggdrasil). The developers of these projects are dealing with the lower-level parts of these questions which would help you focus on building a frontend that works for your use case. You could also use Bridgefy's API though I don't have experience with it and its not open source.

- Security: These protocols implement various strategies. For this, it depends a bit on what your transport protocol is.

- Privacy vs. Accountability: I don't think you can have privacy _and_ police how it is used. Between them, I would take similar decisions to most messaging apps (from Signal to WhatsApp) and strongly design in favour of privacy. If you're set on having some accountability, you could have a peer-led reputation system, but there's no guarantee it will align with your goals - the bots might outvote the people!

- Regulatory Challenges: In the places where this is most needed, the country's laws are going to make it difficult for this app. I suspect you need to make this public and put that risk, unfortunately, on the side of the user. But some aspects that could help are using local first data (https://localfirstweb.dev/) where possible and decentralised data storage when it's not.

- What transport protocols are you considering using for Road? It seems like most protest situations over the last ten years (Iraq) used Firechat until it was shut down in 2018 and then protests after that (Hong Kong) took to Bridgefy (which is only Bluetooth). Some people are also working with LoRa; it's longer range but less accessible as you need separate hardware.

---

Finally, here's the longlist of projects I identified as relevant to my research, copied from a table I've been building:

Althea, Amazon Sidewalk, Armachat, BATMAN-adv, Beaker Browser, Berty, Bria, Briar, Bridgefy, CellSol, Chirp Stack, CJDNS, Cow Mesh, DAT Protocol, dcomms, Disaster Radio, Echolink, Element, Firechat, Freenet, Freifunk, GNUnet, Guifi, Holepunch, Hyperboria, I2P, IPFS, IPFS Desktop, Jami, LibreMesh, Lokinet, Loratype, Matrix, MeshCentral, Meshtastic, MessengerPi, NomadNet, NTS, OpenGarden/Firechat, OrbitDB, Ouisync, Positive Intentions, Pymesh, Qaul, Resilio Sync, Reticulum, RetroShare, Ricochet Refresh, Ripple Messenger, Scuttlebutt, Secure Scuttlebutt, Serval, Simplex, Syncthing, The Things Network, Tox, Two Way, VOA Radiogram, Volk Fi, Whisper, Yggdrasil, Zello, ZeroTier

In parti...