The Five Principles
The following principles guide us towards creating IT systems that thrive on end-user hardware and stay maximally useful when internet access is limited:
- communicate locally
- build autonomous parts
- design parts for cooperation
- accept uncertainty when making decisions
- foresee dynamic changes in the network neighbourhood
Building software according to these principles poses some challenges that are tackled by the following helpful techniques: