# The Beauty of Finished Software
by Jose M. Gilgado
October 31, 2023
Let me introduce you to WordStar 4.0, a popular word processor from
the early 80s.
[Screenshot]
As old as it seems, George R.R. Martin used it to write
"A Song of Ice and Fire".
Why would someone use such an old piece of software to write over
5,000 pages? I love how he puts it:
> It does everything I want a word processing program to do and it
> doesn't do anything else. I don't want any help. I hate some of
> these modern systems where you type up a lowercase letter and it
> becomes a capital. I don't want a capital, if I'd wanted a capital,
> I would have typed the capital.
> --George R.R. Martin
This program embodies the concept of finished software--a software
you can use forever with no unneeded changes.
Finished software is software that’s not expected to change, and
that’s a feature! You can rely on it to do some real work.
Once you get used to the software, once the software works for you,
you don’t need to learn anything new; the interface will exactly be
the same, and all your files will stay relevant. No migrations, no
new payments, no new changes.
This kind of software can be created intentionally, with a compromise
from the creators that they won’t bother you with things you don’t
need, and only the absolutely necessary will change, like minor
updates to make it compatible with new operating systems.
Sometimes, finished software happens accidentally; maybe the company
behind it has disappeared, or the product has been abandoned.
There are also some great examples in the UNIX world of finished
software: commands like cd (to change the current directory) or ls
(to list what’s there) won’t ever change in a significant way. You
can rely on them until the end of your career.
# The seduction of constant updates
Our expectations for software are different from other products we
use in our daily lives.
When we buy a physical product, we accept that it won’t change in its
lifetime. We’ll use it until it wears off, and we replace it. We can
rely on that product not evolving; the gas pedal in my car will
always be in the same place.
However, when it comes to software, we usually have the ingrained
expectations of perpetual updates. We believe that if software
doesn’t evolve it’ll be boring, old and unusable. If we see an app
with no updates in the last year, we think the creator might be dead.
We also expect new versions of any software will be better than the
previous ones. Once it’s released, most of our problems will be
solved! What a deceiving lie.
Sometimes, a software upgrade is a step backward: less usable, less
stable, with new bugs. Even if it’s genuinely better, there’s the
learning curve. You were efficient with the old version, but now your
most used button is on the other side of the screen under a hidden
menu.
# Finished software is a good reminder
In a world where constant change is the norm, finished software
provides a breath of fresh air. It’s a reminder that reliability,
consistency, and user satisfaction can coexist in the realm of
software development.
So the next time you find yourself yearning for the latest update,
remember that sometimes, the best software is the one that doesn’t
change at all.
# References
[1] George R.R. Martin in Conan show (2014).
<
https://www.youtube.com/watch?v=X5REM-3nWHg>
From: <
https://josem.co/the-beauty-of-finished-software/>