``` 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.