IF ALL ELSE FAILS - intro
IAEF, "IF All Else Fails" is a messaging application designed to ensure communication continuity in scenarios where traditional infrastructure such as the internet and cellular networks are unavailable. The idea behind the application is that even if some parts of the infrastructure fails, the community as a whole might not fail.
It takes inspiration from famous "viruses" / "worms" and work in a pretty similar way;
Let's say that you wish to send a message to your friend "Bob". Now you have Bob's public key, so you create an encrypted message-file that contains your own uuid (as the sender so that Bob will know who the message is from), the message and some more meta-data such as when the file was "sent" etc.
Now Bob is not anywhere near you at the moment, but that does not mean that no one else is close to him or will be close to him. So you send the message (the message will be created on your device) and then the device will start to look for any nearby device that also have the application. If a device is found, then it will send the file over via bluetooth and vice versa, and this will continue on and on until ex 10 days have passed, and then the files will be deleted from every single device even if it hasn't reached the person (10 days should be plenty, but just in case, the message won't be deleted on the original device).
The deletion is done A) for security reasons and B) to reduce memory & storage space.
I also plan on releasing software that can be run on ex raspberry pi's that can act as some sort of minor hubs (which should be placed in major areas to cover as much ground as possible).
Yes, the system is far from perfect, but it should in theory work somewhat well, and that's all that really matters. Walkies-talkies & radio broadcasting will probably be the most used communication networks in any hypothetical situation, but that will A) not be encrypted for the average person, and B) require investments to buy equipment.
IAEF is a open-source completely free solution that will hopefully never be used, but should the need arrive -> then it should at the very least help someone, and if it helps even one person, then in my book that's a success!
Now the language hasn't been set in stone just yet, and I have never developed an application for iOS/Android before so we will see how it goes, but I am thinking;
Rust, GoLang or something similar (I have a working prototype to generate files etc written in python, but I do not think that python is a good choice for a system that needs to be run on so many different platforms, but we will see).
archways404 signing off,
Peace!