The fire of oak logs which burned day and night for six months became the focal point of our family life.
...It is inevitable that the English word "home" cannot be translated directly into French. The nearest equivalent in French is the word foyer, the hearth.
We can easily imagine from our own experience why fire might be used as a symbol of the life of a house and the family that lives there. The fire was certainly the most lifelike element of the house: it consumed food and left behind waste; it could grow and move seemingly by its own will; and it could exhaust itself and die. And most important it was warm, one of the most fundamental qualities that we associate with our own lives. When the fire dies, its remains become cold, just as the body becomes cold when a person dies. Drawing a parallel to the concept of the soul that animates the physical body of the person, the fire, then, is the animating spirit for the body of the house.
During the Renaissance, the five senses were understood to form a hierarchical system from the highest sense of vision down to touch. Vision was correlated to fire and light, hearing to air, smell to vapour, taste to water, and touch to earth.
Perhaps the human fascination with fire stems from the totality of its sensory stimulation. The fire gives a flickering and glowing light, ever moving, ever changing. It crackles and hisses and fills the room with the smells of smoke and wood and perhaps even food. It penetrates us with its warmth. Every sense is stimulated and all of their associated modes of perception, such as memory and an awareness of time, are also brought into play, focused on the one experience of the fire. Together they create such an intense feeling of reality, of the "here and nowness" of the moment, that the fire becomes completely captivating.
I believe that small websites are compelling aesthetically, but are also important to help us resist selling our souls to large tech companies. In this essay I present a vision for the “small web” as well as the small software and architectures that power it.
Why aim small in this era of fast computers with plenty of RAM? A number of reasons, but the ones that are most important to me are:
Fewer moving parts. It’s easier to create more robust systems and to fix things when they do go wrong.
Small software is faster. Fewer bits to download and clog your computer’s memory.
Reduced power consumption. This is important on a “save the planet” scale, but also on the very local scale of increasing the battery life of your phone and laptop.
The light, frugal aesthetic. That’s personal, I know, but as you’ll see, I’m not alone.
Niklaus Wirth of Pascal fame wrote a famous paper in 1995 called A Plea for Lean Software. His take is that “a primary cause for the complexity is that software vendors uncritically adopt almost any feature that users want”, and “when a system’s power is measured by the number of its features, quantity becomes more important than quality”.
But instead of just complaining, how do we actually solve this problem? Concretely, I think we need to start doing the following:
Care about size: this sounds obvious, but things only change when people think they’re important.
Measure: both your executable’s size, and your program’s memory usage. You may want to measure over time, and make it a blocking issue if the measurements grow more than x% in a release. Or you could hold a memory-reduction sprint every so often.
Language: choose a language that has a chance.
Remove: cut down your feature set. Aim for a small number of high-quality features. My car can’t fly or float, and that’s okay – it drives well.
Say no to new features: unless they really fit your philosophy, or add more than they cost over the lifetime of your project.
Dependencies: understand the size and complexity of each dependency you pull in. Use only built-in libraries if you can.
A few months ago there was a sequence of posts to Hacker News about various “clubs” you could post your small website on: the 1MB Club, 512KB Club, 250KB Club, and even the 10KB Club. I think those are a fun indicator of renewed interested in minimalism, but I will say that raw size isn’t enough – a 2KB site with no real content isn’t much good, and a page with 512KB of very slow JavaScript is worse than a snappy site with 4MB of well-chosen images.
...[Instead, it's about] an “ethos of small”. It’s caring about the users of your site: that your pages download fast, are easy to read, have interesting content, and don’t load scads of JavaScript for Google or Facebook’s trackers.