Recently I participated in #hack4good by Geeklist and it was amazing but sadly, our concept did not get off the ground in the way we'd like. With that said - I would like to write it up in the hope it sparks some inspiration for someone to build on.
The initial concept started about 4 years ago while on the London Underground while having no internet. Now this is a problem since solved with WiFi on the majority of the tube but at the time, I spent my connectionless hours every day working out how someone could in theory get some form of connection. It played through my mind that the one thing you are guaranteed to nearly always have in every station, is people. Each one of those people has some form of digital device and that device itself can communicate with either a network or each other.
This led to the idea that you may not be able to get access to the internet, but someone just enetering the tube can, and if they are about 30m away from someone on an escalator, so could they and taking it further all the way to a person standing on the platform.
Now this is no revelutionary idea but it is one that in disaster situation, could prove vital to getting communities back up and running. If a sector of the grid is out and backup systems have failed, a call can be connected via a series of people who also may have no outbound communication liks but someone further out will be able to. With population density very high in towns and cities (at least a few other people within 50m of you) it would be quite feasible to create such a mesh.
Sadly, this wont happen anytime soon.
After going over all the niceties, there are some rather large problems that mean it wont work in general population and therefore would be unlikely to work in disaster situations.
1. Prioritisation of Data
How do you tell what data is a priority via such a peer-to-peer protocol? With things in a disaster situation, you do not want more than a handful of people using the connection. The simple reason being if the network (be it WiFi/3G/GPRS or otherwise) will already be at capacity and there are no guarantees that you send out a message that it is received correctly without some form of delivery receipt. What's to also say that a message from one person is more important than another. If someone is using such a system to call someone, that is a much larger data requirement than 200 characters of text but the call could block the entire data allocation.
2. Data Usage
Imagine you had one of the end phones/computers/tablets in a mesh and all data was going through your device. I hope you're on an unlimited plan or else its going to cost and cost big. This is also the case if you are unfortunate to be roaming at the time.
3. Latency
Let's not beat around the bush, the data will get from A to B and maybe even C but it will not be quick by any means. If you think of the sort of transfer throughput you could get, is not actually too bad but in a fast moving world with devices being replaced quickly, the packet loss and latency would be gigantic.
4. Connections
Your device will have a finite amount of connections it could make. You can use Bluetooth, WiFi and even say GSM (obviously unrealistic but technically possible) but you will only be able to have around 2 AdHoc WiFi networks along with a couple of bluetooth devices meaning you realistically can connect to 4 things. Now switching between them (like to sustain 2 WiFi networks) would have to be quick so as to not lose any data and only modern phones would actually be able to make use of it
5. Battery Usage
It's the new bugbear of our time. If you are processing this sort of information, it requires a huge amount of protocols that consume battery like crazy when discovering networks. If you're using this in a disaster recovery scenario, you do not want to have your battery die on you. Especially out in the field.
6. Application of Theory
To make such a system, I doubt many OS providers would allow an always running, peer-to-peer networking system as it would be a huge battery suck. So this would be done as an app that people would download and seeing as most of the time, people would be in an area where such an app was not needed - how would you distribute this app to those who actually need it in a period of crisis?
With all that said - if anyone can take on such an idea, I wish them the best of luck and to let me know if they get anywhere with it.
Lob thoughts over to @ne0 on twitter