Skip to main content

Blocking Communication - Breaking Out


I disapprove of what you say, but I will defend to the death your right to say it
If you have been following my previous post you will realize how quickly a state actor can just disrupt any kind of communication relying on a centralized telecom authority or Internet Service providers. Anything that can be threatened technically and legally can and will be used to block access to the Internet and communication mediums. Hence we need a solution that can circumvent these hurdles.
This blog post is inspired by the recent events happening at Kashmir, India and how repeatedly state actors in different parts of globes using laws to curb access to freedom of speech.

I present to you today: NoConnect

The idea first was envisioned at a Mozilla Leadership Summit back in 2015 at Singapore along with Priyanka Nag and a few more people(whom I don't remember anymore :( ). Then it took two years for it to come out to a prototype stage. And now this is in a stable enough stage where you can use this to reliably communicate with each other.

What is NoConnect

NoConnect is a real-time messaging application like WhatsApp which does not rely on any traditional GSM/CDMA network or any kind of internet service to communicate with each other unlike WhatsApp.

Motivation:

This was primarily envisioned to be used by NGO's and rescue workers and victims in areas where cellular and telecom communications have broken down. And the only way to connect and communicate is by Satelite Phones. This app could transform every mobile device to an off the grid communication device which does not need any kind of network.

The idea was heavily inspired by Gotenna Mesh without the need for any dedicated costly hardware.

Features

  • off the grid: NoConnect doesn't need any internet or mobile network to communicate. Each mobile device with the app installed acts as a node and connects with each other using wifi and Bluetooth p2p network
  • temp users: All the users and usernames are disposable. Since it's not stored in any server or network. It's bound only to the device
  • encrypted: data streams between devices are encrypted
  • p2p network support: if you are part of a p2p swarm. You can communicate with everyone in that swarm even if they are not within your Wifi/Bluetooth range
The swarm makes it perfect for communicating between communities. And the nature of the network makes it resilient to any kind of censorship or attacks on the interception of messages.
A short guide on how it works



This was later submitted to the Equal Rating Innovation challenge and listed under the Technology section.

India Version:

I have just released a prebuilt binary which you should be able to just install and use right now in any Android Device. The release note gives a few more specific features probably relevant to the present scenario. I will also list them out here:
  • Complete off the grid communication. Does not need any network (GSM/CDMA) or internet at all. Useful for situations where communication Blackdown is active
  • Supports message broadcast. Useful for quickly sharing information to everyone
  • Complete anonymous messaging. You choose your username and it doesn't have to be unique. Not tied to any phone number or any information. If you are concerned, just remove your sim card and then use it. Will work fine
  • Censorship Resistant: Communications are end to end encrypted and completely off the grid. No way to monitor, intercept or block communication
  • This version is backdated. You will manually change the date to two years back (2017) and it will work. The moment your network comes back alive and if you think you are under attack. the moment the date changes the app will lock itself regardless of if you give a password or not.

Download Here


This post will be updated with the technical specification of the mesh network and how NoConnect works. And also some more changes that are being worked on for the India version of the app.

Comments

Popular posts from this blog

Visualizing large scale Uber Movement Data

Last month one of my acquaintances in LinkedIn pointed me to a very interesting dataset. Uber's Movement Dataset. It was fascinating to explore their awesome GUI and to play with the data. However, their UI for exploring the dataset leaves much more to be desired, especially the fact that we always have to specify source and destination to get relevant data and can't play with the whole dataset. Another limitation also was, the dataset doesn't include any time component. Which immediately threw out a lot of things I wanted to explore. When I started looking out if there is another publicly available dataset, I found one at Kaggle. And then quite a few more at Kaggle. But none of them seemed official, and then I found one released by NYC - TLC which looked pretty official and I was hooked.
To explore the data I wanted to try out OmniSci. I recently saw a video of a talk at jupytercon by Randy Zwitch where he goes through a demo of exploring an NYC Cab dataset using OmniSci. A…

ARCore and Arkit: What is under the hood : Anchors and World Mapping (Part 1)

Reading Time: 7 MIn
Some of you know I have been recently experimenting a bit more with WebXR than a WebVR and when we talk about mobile Mixed Reality, ARkit and ARCore is something which plays a pivotal role to map and understand the environment inside our applications.
I am planning to write a series of blog posts on how you can start developing WebXR applications now and play with them starting with the basics and then going on to using different features of it. But before that, I planned to pen down this series of how actually the "world mapping" works in arcore and arkit. So that we have a better understanding of the Mixed Reality capabilities of the devices we will be working with.
Mapping: feature detection and anchors Creating apps that work seamlessly with arcore/kit requires a little bit of knowledge about the algorithms that work in the back and that involves knowing about Anchors. What are anchors: Anchors are your virtual markers in the real world. As a develope…

ARCore and Arkit, What is under the hood: SLAM (Part 2)

In our last blog post (part 1), we took a look at how algorithms detect keypoints in camera images. These form the basis of our world tracking and environment recognition. But for Mixed Reality, that alone is not enough. We have to be able to calculate the 3d position in the real world. It is often calculated by the spatial distance between itself and multiple keypoints. This is often called Simultaneous Localization and Mapping (SLAM). And this is what is responsible for all the world tracking we see in ARCore/ARKit.
What we will cover today:How ARCore and ARKit does it's SLAM/Visual Inertia OdometryCan we D.I.Y our own SLAM with reasonable accuracy to understand the process better Sensing the world: as a computerWhen we start any augmented reality application in mobile or elsewhere, the first thing it tries to do is to detect a plane. When you first start any MR app in ARKit, ARCore, the system doesn't know anything about the surroundings. It starts processing data from cam…