Tue, 14 Feb 2023 05:45:56 -0600Good Enough Software

mr's Preposter.us Blog

In my field there is constant talk about “scalability” as if it is some indispensable quality of everything.  The same goes for other terms like “security”, “compliance”, etc.

This mentality has squeezed-out a lot of creativity in the creation and use of software, especially software created by the people who need and use it.  I’m as guilty of this as anyone, and I’ve done it to myself repeatedly.

But no more.

I’m cultivating a new philosophy I’m calling “good enough”, and since much of what I create is software I’m applying it to that first.  The idea is to start (and keep) using and sharing software as soon as it is better than nothing at all.  The motivation behind this is the story of the software that runs this blog itself, preposter.us

Without repeating the entire origin story, preposterous began as about 100 lines of Python to replace the most productive (in terms of writing output) blog platform I’ve ever used.  That platform was bought and subsequently shut-down, and the existing software I tried using in place of it added so much drag to my creative process that my writing output plummeted.  So one night I decided to see if I could write a replacement myself and within an hour or two preposterous.us was born.

I used preposter.us extensively for a couple years and made small improvements while keeping the code simple (still a single Python file!).  But at some point I started to feel like I should be doing it “right”, and made several attempts to make the code more “professional”, more “scalable” and modern.  These attempts offered nothing in the way of user-facing features or even other quantifiable value such as performance, and one after another I failed to complete them.  I began to take these failures as a sign that preposter.us was beyond repair, and after failing to port it to Python 3x I decided to abandon it and switch to a modern web framework.

As a result, my writing output declined sharply.  I knew this might happen but I didn’t realize just how stark the drop was until I started working on importing old posts into the new system.  Over the course of the last year with the new software I’ve made just a handful of new posts, whereas the year before I made hundreds (sometimes more than one a day).  What changed?  Did I suddenly get less creative, or have less to talk about?  No, in fact I had a lot more fun and interesting things to share over the course of the last year, but the new software limited the ways I could author posts in a way that seriously interfered with my ability to create them when I had the time and inspiration.

What good is “better software” if the result is fewer results?  It makes you reconsider what is meant by “better”.

I’ve fallen into this trap in many other aspects of my creative life.  One of the most visible is with music, where in my youth I was so focused on perfecting the very serious and respected (mostly cover) band and treated the weird and experimental music I was making at the time as a joke.  As it turned out, it was the “joke” that produced music that was at least 10 years ahead of its time, and while the other band was fun, it produced little in the form of lasting value.

When you’re working on the future it’s natural that the quality of the work won’t be perceived at the time it is produced.  This is especially true when it comes to people who are not the audience for what you are working on but it can even happen to yourself.  If we spend too much time holding our creations to the standards of the day we not only risk suppressing their innovative characteristics but we can also miss-out on using them all together, and settling for something that has contemporary value but does little to increase the creativity that we are putting out into the world.

I encourage you to measure your work by the “good enough“ standard, and I will try to do the same.