Why Does Software Spoil?

October 17, 2007

In the software industry, the release of newer, better versions is part of the natural order. It's a relentless march towards perfection that started with the first personal computers, and continues today. We expect software to get larger and more sophisticated over time, to track with the hardware improvements that Moore's law has provided us for so many years. Rapid evolution is a good thing, and it's one reason the computer industry is so exciting to work in. If you don't like the way things are today, just wait five years; everything will be different.

Letts' Law: All programs evolve until they can send email.

Zawinski's Law: Every program attempts to expand until it can read mail.

Furrygoat's Law: Every program attempts to expand until it can read RSS feeds.

I love the prospect of upgrading my favorite software. Done right, it's like watching a caterpillar shed its skin and become a beautiful butterfly. Or at least a decent-looking moth.

cecropia caterpillar   cecropia moth

But for some software packages, something goes terribly, horribly wrong during the process of natural upgrade evolution. Instead of becoming better applications over time, they become worse. They end up more bloated, more slow, more complex, more painful to use.

They spoil.

I know this first hand because I'm a long-time Paint Shop Pro user. As a programmer who doesn't need the kitchen sink of graphics editor features, I found it an ideal match for my modest programmer needs. I didn't upgrade to every new version, but when I did, for every new feature I could actually use and benefit from, there were dozens of other features included that I didn't care about. These new features cluttered up the user interface and often interfered with what I wanted to do. My computers kept getting faster, and yet PSP kept taking longer and longer to start up with each new version.

2.01994?0.4 MB
3.1119951.8 MB
4.1219972.4 MB
5.019986.7 MB
6.01999?
7.0200032 MB
8.0200354 MB
9.02004108 MB
10.02005104 MB
11.002006211 MB
12.002007326 MB

If this spoilage goes on long enough, eventually you begin to loathe and fear the upgrade process. And that strikes me as profoundly sad, because it rips the heart out of the essential enjoyment of software engineering. We write software. If we inevitably end up making software worse, then why are we bothering? What are we doing wrong?

I'm not against progress by any means. But it sure seems to me that certain software packages have truly lost their way. In their never-ending quest to add feature bullets, they've somehow forgotten their users and their core values. In trying to be everything to everyone, they progressively destroy that tiny core of uniqueness that they started with. I'm singling out Paint Shop Pro here, but this same software spoilage principle applies to many other applications. PC World compiled an annotated list of 13 software applications they liked better before they were "improved":

  • AIM
  • ICQ
  • Windows Live Messenger
  • Windows Media Player
  • iTunes
  • QuickTime
  • iMovie
  • Paint Shop Pro
  • ACDSee
  • Adobe Acrobat Reader
  • Eudora

They helpfully provide links to oldversion.com, oldapps.com, and old-versions.net, where you can go back in time and obtain those classic, unspoiled versions.

My favorite version is Winamp 2.95. That's before they started bulking up the client and adding completely unnecessary things. I just want something that plays my MP3s. I don't need it to burn CDs for me or download new music or cook my breakfast or massage my feet.
There are also some emerging lightweight alternatives to choose from in each category. Instead of Adobe's 20 MB Acrobat Reader, you could opt for the 2 MB Foxit PDF Reader. Instead of suffering through another 300+ MB Paint Shop Pro upgrade, chock full of features I'll never use, I could opt for the open source Paint.NET.

It's depressing to me that there are very few apps I can stick with for more than five years before they become an untenable, unbearable mess. I can think of so many that I've liked and since discarded: Nero Burning ROM, WinAmp, ACDSee, Microsoft Money, WinZip, and many others.

I suppose features sell software. For many companies, putting users on the version upgrade treadmill is their business model; it's how they generate revenue. But if this fiscally rewarding feature creep goes on long enough, spoilage inevitably sets in. So I wonder: Is all software destined to spoil over time? Is it possible for software packages with long histories to avoid the trap of becoming bloated and irrelevant? What are your favorite bits of software that haven't spoiled over the years-- and what is their secret?

Posted by Jeff Atwood
223 Comments

I personally don't agree with Opera not getting bloated. I mnean take a look at the good ol' 6th version. It was small, extremly fast, didn't consume much memory and provided all anyone would need for web provsing. Then came the awfull 7th with it's skinning support. Oh! My! God! Talk about speed lost and size gain...

CyberRax on January 4, 2008 11:14 AM

Programs become bloated for one reason, the producers get greedy and feel it necessary to produce a new full-point version very often.

To justify it as a full upgrade needing to be paid for by users, they have to show some new feature as a value worthy of paying for.

Unfortunately, these features rarely have benefit for the majority of users, but they sound good in the marketing literature.

Billwinkle on February 21, 2008 2:09 AM

Paint Shop Pro was better (before 9) until Corel took over from Jasc

Rak on June 18, 2008 6:40 AM

What grips me is that in most cases the big software companies stop selling their old versions. I know I'm going to hear a howl, but Windows 98se has been pulling the freight for me for years and I'd be happy to buy old versions of certain software; an example would be Photo Shop. Instead, and this is a good thing for small European and Australian developers, I find myself buying an increasing amount of software from small(er) developers overseas. I liken this to Detroit verses foreign auto manufactures. The big companies are just not aware that bulk of the world's population cannot afford to upgrade constently and it's getting worse, not better. Me? Next 'upgrade' will be to Linux, not to Vista or 7.

BillieBob on January 15, 2009 6:43 AM

If you do not remove the copyrighted image of the cecropia moth on this website, I will be forced to begin litigation.
This image is featured in a book and the publisher will be notified.
It must be immediately removed.

Scott Hale on January 21, 2009 5:52 AM

I have informed the copyright owner of the caterpillar that they can find evidence of your theft here

Silke on January 21, 2009 11:29 AM

If you do not remove the copyrighted image of the cecropia moth on this website, I will be forced to begin litigation.
This image is featured in a book and the publisher will be notified.
It must be immediately removed.

Scott Hale on February 8, 2009 4:20 AM

If you do not remove the copyrighted image of the cecropia moth on this website, I will be forced to begin litigation.
This image is featured in a book and the publisher will be notified.
It must be immediately removed.

Scott Hale on February 8, 2009 4:21 AM

If you do not remove the copyrighted image of the cecropia moth on this website, I will be forced to begin litigation.
This image is featured in a book and the publisher will be notified.
It must be immediately removed.

Scott Hale on February 8, 2009 4:21 AM

Jeff, in reference to http://blog.stackoverflow.com/2009/04/comments-now-with-flags-and-votes/ , is SO beginning to tread this line? I love SO and simply don't want it to become a 'feature playground' instead of the lean/mean workhorse that it started as. Maybe as the community grows and becomes unruly and distracted (as they all do), all the features are inevitable as a means of control?

David HAust on April 16, 2009 5:17 AM

If you sale software and have competitors, you get into a feature bullet race. This seems to happen even when software must be updated do to changes in state/federal regulations.

Aaron Fischer on February 6, 2010 10:14 PM

GNU Emacs.

Of course it was one of the first applications to actually fulfill both Letts' and Zawinski's Laws before most people even saw a computer and email addresses all contained "!" rather than "@". So maybe in retrospect emacs did spoil, but it did so decades ago and it has reached a steady state of spoilage (some might say mummification, but I still spend most of my day in it). Not that it's abandoned though, it does get new versions with new features; the last big recent one was true Unicode support, which is a nice improvement. So if you consider the new features that are actually good along with the time for Moore's Law to catch up, emacs could be considered to actually be "unspoiling". Hopefully the other younger apps that are currently spoiling will someday retrograde as well and start getting better.

Deron Meranda on February 6, 2010 10:14 PM

"Free" software is not immune from feature creep. Azureus is another product like this we can add to the list. It started a great simple torrent program and has turned into major bloatware abomination with "vuze" and other things I do not think anyone uses it for.

Ryan Moon on February 6, 2010 10:14 PM

The reason that open source software is less apt to bloat is simple.
The software is written to solve a problem. It is written to do a task. That is all, nothing more.
Commercial closed software is different. It is written to sell. Its purpose is not to solve your problem, but to get you to buy it. Once it has good market penetration, sales plateau.
This makes it harder to sell the new versions. They can add things, but that is a double edged sword. They can keep it stable and find a new problem to solve, but that is hard.
The two reasonable solutions seem to be using open source and paying for support, or renting closed software. I would say that once a company has outlived its usefulness (its product is stable and has market penetration) it could just go away, but support is needed ongoing, so this is what we are left with.
I guess someone may find a way to make enough off of just new PC sales, but they would need to be very lean indeed, and I do not know if they could handle the support issues.

The basic problem comes down to this: With closed, "secret sauce" software, the producers of the application do not have goals in line with the goals of the customers. One wants to fix a problem, one wants to sell stuff. With open software, both have the same goal, fix the problem.

Grant Johnson on February 6, 2010 10:14 PM

I am also a locked-in PSP 4.12 user. Higher versions just do too much.

I have also been a user of Visio since version 1.0. It was designed to be a replacement of that old greenish IBM flowchart template that let you trace the flowcharting shapes on paper. Now that it is part of the Microsoft Office Suite, Microsoft has changed most of the keyboard shortcuts to line up with the standard Office shortcuts. So... instead of ctrl-U ungrouping a bunch of objects, it now turns on text underline. Ctrl-B used to send an object to the back of the order, now it turns on bold text. Other features no longer work at all. And, of course, drawings done with new versions of Visio are not readable by older versions.

If you don't need to modify files created with the newer Office products, I've found the free Microsoft viewers to be a good workaround to the forced upgrades.

Pat Hamilton on February 6, 2010 10:14 PM

Hardware has evolved, software has not. You think after around 20+ years of PC computing you would turn on a computer like you would a TV and wouldn't have to wait around for the the system to start. But no, it takes just as long to boot as it did in the previous version, and we probably talking about a machine hardware that is much faster than the previous one. Now I am not just picking on Windows, most application suffer the same fate. They get more complex version after version. Every new feature means more data storage, more calcuations, etc.

Newer doesn't mean better, it just means newer and in many cases bloated.

We seems to embrace more is better. More is good. Excess is good. Even Google is starting down this path with iGoogle. Eventually, Google will be replaced by iGoogle by default.

This is happening even more with new products. User must be able to configure everything. Don't like the where the button is, you can more it. Don't like a dropdown, use a tree view instead. You can configure anything. You can no longer develop a simple form, you have to make it configurable so that every *single* user will be able to do what they want. This is the path that we are on. XML faciliates this. Everyone has to have there own file definitions, there own formats.

We don't need anymore evolution, but rather a revolution.

Jon Raynor on February 6, 2010 10:14 PM

I'm in awe at some of the open-source advocates in here. Some of it is OK, sure, but most of it is far worse than the commercial alternatives. I'll trade that buggy, ugly, sloppy, unintuitive, half-completed garbage for slow bloatware any day.

If you restrict yourself to the top 10, the cream of the crop, you're fine. The Linux kernel, gnome, Firefox, and to a lesser extent bigger stuff like OpenOffice, they're all tolerable (although not necessarily a pleasure to work with). Once you start getting into the long tail, though, it's much worse than commercial software.

I heard someone mention Miranda IM - that was quite possibly the worst IM client I ever tried. Half of my messages never got through, file transfers almost NEVER worked right (on any network!), ignore/invisible lists either weren't supported or didn't work right, and the list just goes on. Oh, and at least 2 out of every 3 sessions ended with a crash. This was a few years ago, for the record, but Trillian was also brand-spanking new at the time and aside for lacking a few nice-to-have features like voice chat, it was -almost- perfect.

7-zip was also terrible in the beginning. It's better now, but it's taken a long time to get there, whereas WinZip and WinRAR were both pretty solid since the first major release. Even now, 7-zip still just feels somehow sloppy, like the UI was hastily cobbled together and still hasn't been well-tested.

Is anybody seeing the pattern here? Open source software isn't any better at staying lean (look at OpenOffice or KDE or Emacs), it just follows a much slower development curve. The first few versions are usually total rubbish, then you have maybe an extra year or two in the sweet spot, and then it dies a horrible fiery death while its users refuse to admit how awful it is because the alternative is actually, you know, buying something.

Aaron G on February 6, 2010 10:14 PM

Oh, and for those of you sick of ACDSee and looking for a decent image viewer, try IrfanView. It's free (donationware, not open source), and maybe even faster than ACDSee used to be. Even though it supports a gazillion different media types, it's still very lightweight, weighing in at just over 1 MB now and opening up instantly. I'm sure it'll eventually go the way of ACDSee, but it's served me well for over 3 years.

Aaron G on February 6, 2010 10:14 PM

If you want WORD processing instead of DOCUMENT processing, and want it old school like WordStar, try lyx. It is reasonably easy to use, mostly stays out of your way, and creates (by way of LaTeX) absolutely beautiful results. They look so much more professional than most anything else I have seen with this level of effort.

If you want to adjust the formatting, you will need to learn LaTeX, but so far I have not found any need to do so.

Can I say again how NICE its output looks?

Grant Johnson on February 6, 2010 10:14 PM

Lots of features is not bad itself. But the over abundance of choices makes people sick and lost. But even worse is when the software has all the features you need, but you don't know how to use them. For example if font-button is disabled, you get mad until you realise that you have to change text mode into rich text. Well, I would have liked that the software changed it for me at the moment I used the feature.

Another example is styling. I really hate MS Word for the layouts that never go as you would like them to go. What ever I do, the software always makes it the other way. And when I get everything in order nice and neat, Word puts header number after contents instead of before the first header when I remove one line before the header. Happily at least style copy tool saves my life. And creating new styles is difficult and knowing how to use or update references is not intuitive but behind a learning/studying barrier. And so on, I hate how Word tries to correct my "spelling errors"... or when there is some default extra large margins, tabs, or row spacing between chapters.

Alright, sometime I learn everything, but then they change how everything works in the next version.

Don on February 6, 2010 10:14 PM

Funny you should mention Microsoft Money -- that's exactly what I was thinking of as I read the article. I'm still using Money '99, and only upgraded from some previous version that I still miss when I found a bug in it that I couldn't work around.

Randy Orrison on February 6, 2010 10:14 PM

I've upgraded Paint Shop Pro, up to version 9.0. Now it does not work or load everytime I go to use it or I am asked to put in the CD because something is missing. I also don't like Coral's constant badgering of me to upgrade again and again and even to buy their newest software.

This badgering is not in the form of spam, but built into the applications start up processes. There ought to be a law against it. Now I am looking for a similar application, that doesn't cost me an arm and a leg and one that works!! Suggestions are welcome.

Robert Robinson on February 6, 2010 10:14 PM

3 years later and this is still a great read with some fantastic points. And some predictions that turned out to be true (I'm looking at you, Skype). Just thought I'd point out that Nod32 is a fantastic 'suite' of applications, and have remained so for years.

Thanks for the article.

Ben Bettridge on January 25, 2011 1:57 AM

«Back

The comments to this entry are closed.