``` graphviz
digraph {
getWeather
-> weatherToPixelsOnServer
-> transmitPixels
-> display
-> eyes
getWeather
-> transmitWeatherRdf
-> weatherToPixelsOnClient
-> display
}
```
1. **Least power principle.** The important thing to note here is that `getWeather` (the vital data) produces the least powerful format (in this case, a weather RDF format) and the data is publicly accessible. This allows for permissionless creation. Note that it does not matter if server-side or client-side rendering is used, as long as `getWeather` is publicly accessible.
2. **Consistency.** `getWeather`'s format should be reused as much as possible for consistency.
3. **Accessible usage.** Outsource most of these nodes. However, there should be the ability to run your own nodes. This means preventing network effects. Measures include:
1. **Federation and decentralisation.** If somehow a particular node produces a network effect (e.g. digital economy, social), then it would be better to federate or decentralise.
2. **Public utility.** If one is unable to federate or decentralise it (e.g. infrastructure), then it would be better to nationalise it. But this is to be minimised. For example, SG-Gov only manages the electrical infrastructure that must be shared; everything else is privatised.