Things I Learned Building the Skynet
We went to one of the most remote yet widely populated areas in the world to setup a very high altitude solar powered mesh network community internet in a town where temperatures range from +40'C to -40'C. Here what is happened .
LOCATION: Rakkar, Himachal Pradesh @ Foothills of Himalayas
OBJECTIVE: Moving out of my house
Anish is an internet developer extraordinaire. On the last few days I stayed in that house, I had the privilege of having him stay with me. He is one of the unsung heroes of the movement that is bringing the magic of computing to children everywhere in the world regardless of their wealth, geographic location or other factors. Perhaps the most notable of such projects is MIT’s One Laptop Per Child or OLPC as it better known, where Anish was the core developer of the SugarOS that OLPC laptops run on. A system that even entirely computer illeterates can easily operate and benefit from. The focus in OLPC and many other similar projects is on education.
The first thing Anish shared with me was the community that had somewhat evolved for the purpose of extending the work that had been started on the OLPC project. Instead of focusing on laptops and operating system, the community had developed what it calls School Server, a low-cost small-sized commodity computer system that hosts 2 terabytes of data. The entire Wikipedia, Khan Academy (with local texts), and countless other content compilations available on creative commons or other open license. I thought that was pretty interesting, as now anyone connecting to that box through a wi-fi can access all that content without any cost or other restriction. As long as they had access to a device with any common web browser, and they were within the range of the wifi on the “school server” computer, they would be able to access and benefit from all that content.
In India, where many of the world’s extremely poor and information deprived live, an average waged person has to work 13 hours in order to pay for 1 GB of mobile data. In countries like India, mobile already is the primary way to connect to internet.
The last I checked in 2014, India had over 60 local smartphone manufacturers, many of which target the lower income customer segments with very cheap handsets. At the time of writing this, it is not difficult to get a fully featured smartphone for US$30 in India. With strong national network coverage, 2G mobile internet is available even in many remote villages. Other than the India Rupees 1,800 (US$30), there is little between the poor of India and paying 13 hours of labor for 1 gigabyte of mobile internet.
With most popular sites hosting ads and various tracking technologies that comes with the ads, a study found that sometimes up to 95% of the consumed bandwidth needed to access content on a given page has nothing to do with the actual content. A key factor in understanding why depending on the estimate, at least 20% of internet users are taking some form of action to protect themselves from ads and advertising related tracking, such as installing an ad blocker. A technology solution less sophisticated internet users are less likely to know off or install.
Using boston.com as an example, where total payload for accessing content on a page without ad blocker is 16.3 megabytes and with ad blocker 3.5 megabytes, the economics of reading the daily news with mobile internet seem grim for the poor of India.
16.3 megabytes can be loaded 61 times using 1 gigabyte of data. The cost of mobile data in India amounts to 737 minutes of average waged labor, making the cost to access one piece of content on boston.com 12 minutes of labor. The average time on a single page is rarely much over 1 minute, making this model infeasible with 12 minutes of labor invested per 1 minute of internet content consumed.
By some estimates there are over 800 million people in poverty in India, with more than one third of the world’s poor living in India. Instead of being empowered by internet access, the poor of India find themselves impoverished by it.
In fact the average payload per page is far smaller than is the case with boston.com. It’s typically around the 5 megabyte mark. The trend in terms of having 80% of the payload represent something to do with ads is closer to the norm. Generally speaking, it’s not common to find major websites where less than 50% of the total payload is actually from a 3rd-party and not related to the user accessing the content in any other way than as a means to monetize. Even when there is no ad delivered and nobody makes money, much of the same payload is still burdening the user, and only the ad creative is emitted. The user always pays. In the current trajectory, within the next 5–10 years there are half a billion Indian poor paying for mobile internet.
Sophisticated markets see internet users go through 3,000 pageviews in a given month. At 5 megabytes per pageload that makes 15 gigabytes of data, or 183 hours of averaged waged labor. Which I’m assuming is close to the time an average Indian is working in a given month.
If the trend in India follows Americans, people will increasingly spend their time with electronic media, where internet connection has so far necessarily been a factor. Various forecasts make a strong case for a mobile future in terms of media consumption and a world where all media is consumed electronically.
With these factors in mind, I thought that there was very big potential in the limited internet access approach of the “school server” community.
You can learn more about the project here: http://schoolserver.org/
To look for a solution, now we will go much further than the school-server initiative.
Think about leveraging similar ideas of “limited internet access” and combine it with mesh networking protocols, very low cost solar panels, scrap metal and problem waste. That is what I learned from Anish.
Instead of just thinking about the server, think about it connected to a sufficient solar panel which is weather-proofed and ready for wiring at a cost of roughly US$15.
Then instead of just relying on sun, why not salvage the functioning cells from disposed laptop batteries where often out of the 6 cells only 1 is damaged and other 5 work just fine.
To extend the range of the server, use US$25 routers to create a mesh network where for every $100 dollars spent 150 new users can simultaneously use the network.
If range is a concern, $100 on routers and another $25 on the components for makeshift tin-can antennas (cantennas) and you can cover an unobstructed area of one square kilometer or more.
Think about not having the server at all, but just having the router nodes. Instead of having 1 terabyte sitting in one place, have 50 gigabytes sitting in 20 instead. Instead of having one point of failure for all content, have 20 each representing just a fraction of the whole.
The more there are nodes in the mesh network, the more redundancy can be introduced in place of just thinking about content variety. In that same system with 100 nodes, there could be 5-fold redundancy for each piece of content.
Because the cost of a single router or any other component needed such a configuration is low, maintenance and parts replacement is feasible even in very low-income environments.
If at this point you’re asking yourself what is a mesh networking, the simple answer is that instead of having a lot of router devices all working alone interacting with each other only through some mutually external locations, they work together.
“Think of it as cooperative networking, as opposed to zero-sum networking where its every router for itself”.
One very cool feature in the specific flavor that we’re using, is that as soon as you turn the router with the mesh firmware on, right there and then it becomes a mesh in the network and now the entire network is immediately accessible to anyone that can access that single node.
You might also be asking about the “routers” we’re using, which in the case of Skynet at the moment is GLi’s ar-150 router. They go for roughly $30 per unit with shipping and customs included. The device provides full support for OpenWrt, a router firmware program that allows virtually any level of customization. For example to serve web content directly from the router without any actual server or “computer”. One of the key contributors in this respect is Terry from https://villagetelco.org/ who has among other things created a firmware version that turns the supported router in to a full fledged web server.
The way the router-only mode works, is that there is a USB stick connected with the router, where the content is stored on the USB. As a point of reference in India, the entire Hindi language Wikipedia is less than 32gb. The cost of a 32gb USB stick is around $10. Once such node in itself could comfortably serve 35 simultaneous users.
For the most basic configuration, at the very least the following is needed:
- GLi-ar150 router
- small solar panel
- electrical wiring
- dc-to-dc converter
The total cost of these without customs and shipping is roughly $30.
I’ll cover a very detailed step-by-step instruction from zero to skynet on location in a separate article, but for now let’s just assume that you’ve flashed the router firmware, and connected the electrical components like so:
solar panel >>> wiring >>> dc-to-dc converter >>> GLi-ar150
This will result in the router turning on whenever there is sunlight. While this may be an enormous leap from having no access to anything at all, power redundancy is too easy to add to not do it. For this we’re going to use disposed laptop batteries.
The thing about laptop batteries is that they are manufactured in a way that makes disassembly seem not practical and are made of 6 cells where often only one or two are not fully functioning. The cells itself are very high quality 18650 cells, the backbone of the lithium ion battery revolution. Tesla cars and many other high-end electric appliances use the same cell. End customer price of such individual cells is easily over $10, so in a typical disposed laptop batter there is roughly $40 to $50 worth of cutting edge energy storage capacity. With two cells harvested in such a way, one node can easily be maintained in 24/7/365 always-on state in most locations. In many locations easily with just one.
In India the computer shop guy gets roughly $1 per kg of batteries, which is roughly 2.5 batteries or 10 working cells (4 per battery pack). It will be very hard for any computer “wallah” to turn down $2 per kg, which is still just $0.20 and a tiny fraction of the actual value of the cell. In western countries it’s common that the computer guy has to pay for bringing the batteries to the problem waste disposal. That is an even simpler conversation to be had.
That’s pretty much as far as I got when it was time to depart with Anish, but we agreed that we’d meet 6 weeks later much deeper (and higher!) in to the Himalayas. That’s where and when we’d be setting up what may very well be the world’s highest solar powered mesh network. One thing was clear, it was going to be unchartered territory.
How would a $25 Chinese router deal with dramatic temperatures without any maintenance powered by nothing but $5 Indian solar panels? That was just one of the questions I departed Rakkar with.
[to be continued]