In my previous Black Holes of Information post I highlighted how “social” platforms can really destroy the searchability, accessibility and longevity of information on the internet in multiple ways. Similarly, if you want to build applications, website, tools for the future, build them with boring, old technologies.
The Lindy Effect is a concept that suggests that the future life expectancy of a non-perishable thing or idea (such as a technology, a book, a language, or a cultural tradition) is proportional to its current age.– ChatGPT i.e. probably lifted from Wikipedia or so
We often tend to chase after the latest cool and shiny thing. Some might just really be excited about some specific tech. Some might do it in fear of missing out the next big trend or wave. Some companies may even heavily invest in a certain direction in hopes (or dreams?) that it will take off. Sometimes the bet pays out; often the latest cool thing dies a quick death.
Let’s take PHP as an example. Lots (or most?) people seem to actively dislike PHP, usually for it’s not so great language design of the past. There are a lot of memes about PHP, yet it’s a proven technology 27 years in the making, bootstrap Facebook and is still used with 77.5% of all websites. If you build something with it, you’re guaranteed (by the Lindy Effect), that it will last and run for quite a long time, even if it’s old, boring tech.
Frameworks, libraries, and languages are really just one piece of the puzzle, another aspect is the platform used to run these website or applications on.
I could host this blog on any of the billion WordPress hosters out there and it probably would be fine, since it runs with PHP, but I make myself dependable on a specific platform provider. Do they allow you to export all your data? What about installing any plugins in existence? Customize a theme at the source? Can you connect your own domain? Look at Blogger, while currently still alive, who knows how long Google will keep the lights on? It’s not like they have a particular good track record.
Another example would be Heroku, a cloud-based deployment platform, has been running since 2003 and was bought in 2010 by Salesforce. It seems to have had a pretty good run and by the Lindy Effect, should continue on, for a bit longer, yet it’s showing more and more signs of a slow death. Just take the post from the other day, where someone noticed that an older version of their application was still running after replacing it with a new version and there’s nothing they can do about it, while customer support seems to operate pretty slow if at all. This demonstrates how bad vendor lock-ins can be, there’s no easy escape, even if the platform is dying.
Is the solution is to just run to the next platform (like Fly.io, Render, Railway, etc.)? It’s a solution, but one where you just trade one vendor lock-in for another. Maybe there are some, that allow you to keep more control over what or how things are done, those might be preferred.
Another solution would be self-hosting on a virtual private server (VPS) or similar. Maintaining your own server is pretty boring and old-school, but even there you get access to some pretty nifty tools, which can give you the “platform feeling”. Yes, it may lock you in again with some more vendor-specific software, but since it’s running on “your” machine, it’s at least your decision on how long it keeps running. Best of all, these kinds of software are generally open source, so even if the whole world stops using it, you have the power to update everything in theory.
However, keep in mind that these mini-self-hosted platforms again have a lot more complexity and thus usually require quite a bit of on going maintenance. So a third solution is to become even more boring and use something like the good old LAMP (Linux, Apache, MySQL, PHP) stack or any variations like Linux, Nginx, MariaDB, and PHP-FPM. Once installed, it will just keep running with minimal overhead, minimal complexity and minimal maintenance. On the other side, you may need to play around a bit more with deployments of new application versions.
Using the latest tech stack on the coolest platform is nothing bad per se, just keep in mind that these things have usually a short lifespan. So if you want to build something to last, build with boring technologies on boring self-hosted “platforms.”