October 10, 2022
A recent Shop Talk Show conversation around the idea of, "entropy but as it applies to the web" really got my brain gears turning.
Entropy is defined as:
1. a thermodynamic quantity representing the unavailability of a
system's thermal energy for conversion into mechanical work, often
interpreted as the degree of disorder or randomness in the system.
2. lack of order or predictability; gradual decline into disorder.
Entropy as a physics thing already has a huge impact on computing with hardware. The non-software bits are truly affected by our real world and thus can easily succomb to time's embrace without extreme upkeep.
But what about software? The idea of digital entropy might not translate super cleanly, but I do see how time and our social constructs (some might call those software too) employ friction upon software systems which will wear them out of their utility and favor if not kept up.
I see three big social constructs that grind away at software, and by extension, the websites we build:
Security requirements, functional needs, and user expectations.
When hackers find a new way to exploit our code, we need to patch it, we truly require security to keep our systems safe. There is rarely a week that goes by that there isn't some new wordpress plugin that needs to be upgraded to avoid zero-day exploits. And the steadiness of that notion has pushed many of us into a higher level of thinking: avoid the server, build static, it's just safer by default, and thus you reduce the digital entropy inflicted by security over time.
Functional needs are all about the business tied to the software as a tool; we must keep equitably transacting, please the share-holders, beat the competition, stay on top. Business requirements change, the strategy and target of conversion changes. This change is often fairly steady, gradual, in the control of the business, moving at a pace that matches its capability. The next version is defined, planned and rolled-out. It's the natural motion of the social construct of capitalism and it eats away at our code.
Closely related is the ever changing landscape of user expectations. This happens less gradually, and appears more in what we like to call, Innovation. When someone builds a new way to do something, or a new something all-together that we had not yet exactly realized before and the experience has a disruptive effect on the consumer. It changes minds; your code recodes them. Goliaths are cut down in favor of the new and novel, maybe permanent, maybe not, but it's a tumultuous ocean that churns and grates on our code. The ratchet of user expectations clicks into place, squeezing our apps and sites a little tighter, expecting change or inciting death.
Beyond Digital Entropy
I don't want to extend the entropy metaphor any further, but I think there is more to the picture especially as we really hone in on the web. Beyond the natural, outside forces that surround the web are the layers of technologies contained within.
The idea of a development toolchain is not wrong. Our websites have become varying lengths of linked-together technologies, each dependent on the others' strength and capability to continue to produce an end-product. I might also throw out some some sort of mechanical automaton metaphor: all of the determined sprockets and springs, carefully placed, each doing its part. Some sites are constantly on the move, churning; serving. Others, more coin-operated; triggered builds, automated deploy.
Without maintentance, keeping the machine well-oiled, our links degrade, our gears wear, and the lifespan of our websites is determined by the both the world around and within them.
The Lifespan of a Website
I bent this blog post intentionally quite a bit, but I really wanted to get here: The lifespan of a website is an interesting idea. I think I've clearly laid out all the factors that set the timer in motion. And so the last point to make is that I genuinely believe that the lifespan of a website is exactly tied to two things: how hard it works - how much tech is linked together and how often it conveys - and how often its code is cared for and invested in.
I'll close with a great quote from Dave Ackley, because I think it zooms out on this whole conversation, to a question that I stumbled into, "Why even bother with this fabricated uphill churning of bits?"
There's one fundamental notion,
Because simplicity is finally best:
Code is data in motion,
Data is code at rest.
Because the web, software, digital computation is our new(ish) way of human progress. Data and code, and data and code. It might not feel like it down in the weeds, but these digital systems we dabble in are now deeply tied to how humanity functions and computes as a whole.
read more articles