Introduction to Minimal Computing
Minimal computing is the idea of doing the most with the least technology possible; computing is done under some set of meaningful constraints of hardware, software, education, network capacity, power, or other factors. Minimal computing emphasizes simplicity, efficiency and a focus on the essential elements needed to accomplish a task or project. It seeks to make digital resources more available, particularly in constrained environments or for individuals and communities with limited access to high-end computing infrastructure.
In the context of web development, minimal computing can include static site generators, as well as dynamic tools designed to minimize heavy processing on the server and client sides, and the dependency on complex infrastructures and deep technology stacks. That being said, minimal computing is not always the perfect pathway in web development. Minimal computing results in some self-imposed limitations on some non-standard functionality and choosing to exclude extraneous features. As a result, minimal computing techniques may not be ideal for websites with broad feature sets. However, with minimal computing techniques, developers can create websites full of common functionality that are fast, responsive, more secure, and easier to maintain.
Here are some of the key benefits of minimal computing in web development:
- Simplicity: Uses straightforward, standardized, client-side web technologies, like plain HTML, CSS and client-side JavaScript, and avoids the unnecessary complexity that comes with using multiple extensive development libraries and avoiding server-side technologies.
- Efficiency: Enables fast load times and minimal server load by minimizing HTTP requests and optimizing imagery assets and resources.
- Accessibility: Simplicity and efficiency help ensure web applications are accessible to users with different levels of internet connectivity and device capabilities.
- Longevity: Simplicity, efficiency and accessibility help ensure little to no maintenance is required, making for long-lasting, durable websites.
Minimal computing is not a binary state; a website cannot be categorized as minimal computing or not. However, by following the principles outlined in the minimal computing concepts explained herein, the more these benefits are realized. For Research Software, these benefits lead to greater accessibility, easier and more complete preservation, and greater reproducibility and reuse, all important FAIR principles for open science.