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.
While this is a nice sentiment, the reality is that software has become so complex, competition to cutthroat, and operating systems so changeful, that “finishing” software just doesn’t seem like a realistic and attainable goal anymore. The example used in the article, WordStar 4.0 for DOS, can only be “finished” because DOS doesn’t change anymore.
Thom, I agree with you on this one.
Look at Mozilla Firefox for example:
https://bugzilla.mozilla.org/reports.cgi?product=-All-&datasets=UNCONFIRMED&datasets=NEW&datasets=ASSIGNED&datasets=REOPENED
According to their own charts, there are over 120,000 open bug reports in their system. Even if most of these are not actionable/duplicate/obsolete or some other similar status, there is simply no way Firefox will ever be “finished”.
And that is before the evolving web standards, new paradigms like Web Assembly, and of course underlying operating system changes.
Forget the large projects like Firefox, even simple games on mobile phones need constant updating. Regardless of operating system, new devices can occasionally break perfectly good programs, or expose bugs that were not detected in earlier versions.
And, regarding DOS 4.0; it too received updates later on:
https://en.wikipedia.org/wiki/DOS_4
I can understand the allure of software that needs no more (major) updates, However I don’t understand the “wordstar 4” example at all.
The fact that wordstar was updated repeatedly beyond wordstar 4 seems like a definitive a counter-example to the author’s point. It’s such an obvious contradiction to me, yet the author doesn’t even attempt to address this…what gives? Was the point meant more hypothetically?
New versions might be released but v4 will remain unaffected. In the subscription era there’s only a single version of the app and the manufacturer will change it as they wish — customers can only complain and hope for a change in mind.
sj87,
That is so obvious that it hardly seems a revelation worth talking about.
I guess. Subscription software (ie Adobe creative suite) are hated by many. I also prefer software that is under user control. Maybe that is the point intended by the article, but I still think it could use a clearer explanation. The author’s rather non-standard meaning for “finished” probably threw me off, oh well!
With wordstar 4 one gets to quote a famous author who used it well past its sell-by date.
Mote,
I do get that rational, but it seems shoehorned in under the topic of “The beauty of finished software” where it doesn’t quite belong with the other examples given. “The beauty of timeless software” or something like that would have been a better theme for the wordstar 4 example IMHO since that software obviously wasn’t finished.
I don’t mind updates to software as long as it satisfies three criteria.
1. They’re optional.
2. They don’t break compatibility with existing user work. (This is the really big one, and the one problem I have with Blender)
3. They don’t needlessly constantly change stuff around just for the hell of it.
kbd,
4. No anti-features. Sometimes it is preferable to run the older version for a time to avoid the anti-features like adware, spyware, etc.
https://superuser.com/questions/186893/is-foxit-reader-adware
A point the author didn’t address is that using old software (even software you like) can become more of a hindrance as support falls off and the limitations of old software grows. That’s how I felt about MS office pre/post ribbon! I preferred the old version, but despite this obsolescence would eventually render it non-viable for many.
Tangent: I’ve only started using Blender around 3.x, I hope what you are describing doesn’t happen with the stuff I’ve created but you never know. I’m glad the software is improving, but it does have cons. One problem I’ve encountered is that since blender’s UI changes so much the documentation and tutorials quickly become obsolete. My kids get frustrated trying to follow along. I can’t blame them because it’s almost looks like a different application!
I think some things in blender are much more difficult than they should be. I guess a 3d modeler would accept it for what it is, but I’ll criticize limitations, awkward tooling, and shortcuts. For example, we should be able to make polygons with holes in them like a ‘door’ or ‘window’, but blender can’t handle it, requiring invisibly thin slices to be modeled into the shape. This is objectively dumb! The engine should be able to convert real shapes to whatever internal representation is needed, but forcing users to work around internal representation is what programmers call a “leaky abstraction” and I consider it a bug in blender that should be fixed.
My intention in learning blender was to do everything with programmable geometry nodes and shaders, which I’m actually good at, instead of relying so much on texture libraries. It would be one thing being an artist struggling to come up with algorithms, but in blender it’s difficult for a different reason: actually finding ways to implement algorithms you’ve already thought up is torturous. Other cool features are only half implemented, like using a heightmap with adaptive subdivision, which is awesome, but you can’t do the same with geometry nodes…ugh!
An aspect of blender I find very difficult is working “inside” an object like a house. I still have a lot to learn about 3d modeling and maybe I need a better workflow, but clipping does not work intuitively for me. I often struggle with it and I’d like it to work more like a “sims” game (or one of the many other games that lets you see inside a house while the camera is outside).
I really enjoy using blender, but I think it’s far from being “finished software” in terms of this article. I’m interested in what you use blender for, if you care to discuss it more 🙂
I used this add-on for a decade to fix the ribbon imposition:
https://www.ubit.ch/software/ubitmenu-languages/
However, it stopped working well with Office 2021. I guess I have to get used to that ribbon thing after all… In my late 40s, instead of my early 30s. Apparently, not a good decision on my part.
Yeah the problem with not breaking backward compatibility with the user’s files, is that 3D is a lot more complicated than simple text documents. For example when they created Cycles and ripped out the old internal render engine of Blender because internal was extremely obsolete. First they started a project to modernize the internal renderer, but I do think that ditching it for Cycles was the right decision, because, internal didn’t even do proper global illumination or image based lighting, for example. It also wasn’t designed for GPU acceleration.
I like to use it for arch-viz and any kind of art creation that pops into my mind.
While breaking compatibility with old user files is frustrating, I also understand that as the program designer, you can’t see into the future and how standards will change over time. At least with Blender they make all previous versions available, unlike someone pointed out with proprietary subscription software, where they only want you using the latest version.
I remember when VB6 was shelved for DotNET. I was ecstatic. No more keeping up with upgrades. But soon, you couldn’t do much with VB6. I didn’t like dotnet back them, so I moved to web/javascript coding. Wow, I didn’t have a clue – that environment is all churn. I hated it. Especially after npm went .com
Now I’m retired, but VB6 is not an option. So I’ve settled on GNUstep for a hobby. It changes, but so slowly you’d never notice it.
I work as a coder in 3D CAD Steel design software, And since the industry is constantly changing I can never finish, A constant stream of new technology and new regulations etc keep it that way. If I want to indulge in finished software that is relatively bug free I fire up my trusty old Amiga (or any other older machine of your choice).
Like everything else computer and software adjacent, there’s a ton of nuance and a broad spectrum of what is “good” and “bad”, it’s not binary.
Many GNU and BSD command line utilities will go months or even years between updates, because they are simple “do one thing and do it well” programs that have been around for decades and are effectively finished. This is more true on the BSD side than GNU/Linux, but in both cases the simplicity is a feature.
On the other hand, large applications like web browsers will never be “finished” as there will always be new vulnerabilities and security issues as time goes on. Security and correctness are moving targets, and in the ever-changing landscape of the modern Internet and ever more complex hardware designs, there is always something new to fix. And that’s fine.
Morgan,
Yes! I commend software that does one thing and does it well. Similarly I like software that promotes the KISS “keep it simple, stupid” principal. The failure of some developers to adhere to these traditional unix principals irks me at times…*cough* Lennart Poettering. I think you are right that BSD manages to do this better than Linux has. I believe alternative operating systems would do an even better job at this simplification with cleaner abstractions if only they weren’t forced to live with the software complexities created by more popular platforms.
Modern software and operating systems contain a lot of needless complexity. This complexity is all around us in cpu hardware, motherboards, operating systems, networking protocols, software stacks, and so on. Just pick something like SMTP “simple mail transfer protocol”….hahahaha! Ideally we should be able to streamline all the junk and get back to simple solutions designed for today’s needs, but much like the laws of thermodynamics, the change in complexity becomes one-directional over time. Things that would have been easy to fix several decades ago at the start become so ingrained that the efforts and energy needed to fix them today are exponentially more.