⚑Policy Takeaways

  1. Servers. New paradigms: Cloud is more secure, more scalable and cheaper than on premise if configured optimally.

    In an age where the Internet is borderless, "data sovereignty" or "digital sovereignty" means knowing where your information is routed to and stored, e.g. locally or internationally.

  2. Addressing. ICANN and other regulatory bodies decide the allocation of IP addresses and domains, who then farm them out to governments or private sector bodies.

  3. Content Delivery Network (CDN). The Internet by default has built in multiple redundancies, with multiple copies of Internet pages all over the world. Even if one server goes down, the rest of the Internet does not go down.

  1. Coming up with a good problem statement is not just applicable to building software, but also to any other domain. This allows you to pinpoint accurately and precisely what problem you are solving for, and therefore identify an appropriate and suitable solution.

  2. We had gone through the design thinking process, where direct user feedback is very important to iterate on products. Unlike traditional policy environments where policies are implemented over long cycles to the magnitude of months and years, this iteration is possible in digital, because of how quickly changes can be made (e.g. styling, content) and propagated to live apps, to the magnitude of seconds, minutes and hours.

  1. Many aspects of the Internet's protocols, standards and software are open source and a product of collective, collaborative effort across many decades. This was one of the fundamental principles of the design of the Internet's distributed, decentralised infrastructure, so no one entity has unilateral control over its infrastructure and protocols, promoting trust and reliability.

  2. Relatedly, there is no point trying to make your HTML code secret as the source code of all HTML pages on the Internet can be viewed by right clicking -> 'Inspect'.

  3. Of course, certain secrets like proprietary algorithms, API keys, passwords need to be kept very safe. But a lot of what is available on the Internet is publicly accessible and open source.

  1. The separation of concerns in web development involves dividing different aspects of a web application into distinct sections, each responsible for a specific part of the functionality. HTML is responsible for structure and content, while CSS is for presentation and styling.

    This allows each layer (HTML, CSS) to be clearly read, updated independently and in parallel, and reused across different documents.

  2. We had gone through the design thinking process, where direct user feedback is very important to iterate on products, as user behaviour is unpredictable. Unlike traditional policy environments, iteration based on user feedback is possible in digital, because of how quickly changes can be made (e.g. styling, content) and propagated to live apps. Small changes to the styling and content can affect user behaviours and consequently achieve different outsized outcomes. Hence, tech companies spend large amounts of time and money to get these small changes right to drive the outcomes and behaviours they want, e.g. tweaking colours, buttons, logos, layout to drive more consumer spending.

  1. Once again, separation of concerns means that different parts of an application can be worked on at the same time. In particular, many companies divide their software engineers across frontend and backend engineering. We have touched backend (Node.js to run the script.js) for the first time.

  2. JavaScript is designed to handle events such as user inputs, clicks, and other actions, making web pages responsive and interactive. This is what gives 'functionality' to the website beyond a static site.

  3. Features like callbacks, promises, and async/await allow JavaScript to perform tasks asynchronously, crucial for handling operations like API calls without freezing the user interface.

Last updated