How do we build apps for this wonderful mesh based Internet anyway?

Previously I waxed poetic about the amazing powers of Serval to create mesh based Internet infrastructure for developing and less developed countries (LDCs). The thesis being that if we had meshes of Wifi endpoints that could move data around without charge then people could have local applications on their smart phones that run peer to peer and could take advantage of this infrastructure. But how do we build those apps? That is where Thali comes in. But yes, we need more. See below.
Continue reading How do we build apps for this wonderful mesh based Internet anyway?

Building local Internet infrastructure for disadvantaged communities

Smart phones are showing up in the poorest of countries. Even the Internet is showing up but it’s still quite expensive. But for a reasonable price we can deploy Wifi based local mesh infrastructures that can let people run applications on their smart phones and communicate locally with people around them. We have the technology! Below I explain what that technology is and why it’s all Serval's fault.
Continue reading Building local Internet infrastructure for disadvantaged communities

A quick and dirty way to calculate endpoints needed for forming a mesh with radios

I needed to figure out how many Wifi endpoints which had a range of around 300 feet would be needed to form a mesh that covers a square mile. I do a bunch of 1/2 baked math below to estimate that 138 endpoints would be needed for complete coverage.
Continue reading A quick and dirty way to calculate endpoints needed for forming a mesh with radios

Serval and Thali

Serval is a project that wants to enable mobile phones to work no matter what. They have built mesh technology to let mobiles make voice calls as well as share data and have an app available on Android to use this technology. This is a technology that Thali could potentially really leverage. In the first section below I give a quick walk through of Serval. In the next section I compare and contrast Serval and Thali’s ways of solving similar problems. Then I conclude that hopefully we can reach a point where Thali just runs on top of Serval.
Continue reading Serval and Thali

Thali, San Francisco and Emergency Response/Recovery

I went to SF to meet with folks from the city of SF to discuss how we could use Thali to help improve recovery after a major earthquake. The meeting was both productive and eye opening. Our next steps are to put together a proof of concept to hopefully use in a live trial later this year. Below is an explanation of the who, the what, the why and most interesting as a geek, the how. Technologies and emergencies don’t necessarily mix so we have to think hard about how to make things better, not worse.
Continue reading Thali, San Francisco and Emergency Response/Recovery

node-gyp and node.js on mobile platforms

As I’ve previously discussed I want to get node.js running on Android, iOS and WinRT. But to make that happen we need to understand the node.js ecosystem and that includes native add-ons and node-gyp. So I created a node package, node-gyp-counter, to heuristically determine how frequent node-gyp usage is in the node.js world. If my numbers are right then less than 2% of downloads of packages in 4/2016 involved node-gyp in any way. Of that 2%, just 10 packages account for 76% of node-gyp root package downloads and only 5 of those are relevant to mobile.
[Updated with figures from 5/24/2016]

Continue reading node-gyp and node.js on mobile platforms

What is the Peer to Peer Web? WebRTC, the browser and Thali

Twice in the last week or so I’ve had people ask me about using WebRTC with Thali. I’ve already addressed WebRTC and Thali here. But recently Dominique Legault pointed me at a very cool project, freedom.js, that both explains why people keep bringing up WebRTC and helps us to really understand the question of - what is a peer to peer web and why does WebRTC in the browser not create it?
Continue reading What is the Peer to Peer Web? WebRTC, the browser and Thali

A survey of options for applications that want to embed Node.js

Node doesn’t really have an application model in the normal sense since Node sees itself as a server technology. But as Electron, NWJS, JXcore and JXcore-Cordova have shown there is a real need for Node based applications, both on desktop and mobile. This article is intended mostly as a primer to explore some of the issues anyone wanting to jump into building applications that embed Node.js need to think about. [Note: Updated on 4/18/2017 to add Termux, thanks to Jean-Jacques Debray for pointing it out.]
Continue reading A survey of options for applications that want to embed Node.js

How Google can fix the Marshmallow MAC Mess and enable P2P apps

Google in Android release Marshmallow prevents applications from seeing their device’s local Bluetooth or WiFi MAC addresses. This puts a big roadblock in front of peer to peer apps. There is a really obvious solution which I suspect Google has thought about, so now the question is - why haven’t they implemented it? Does anyone have a contact at Google I can talk to about this?
Continue reading How Google can fix the Marshmallow MAC Mess and enable P2P apps