Why Does Software Spoil?

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.


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2007/10/why-does-software-spoil.html

Media Player Classic is a great alternative to Windows Media Player - less bloat, more features:
http://sourceforge.net/projects/guliverkli/

Xara Xtreme. It’s always been small and fast.
http://www.xara.com/

Firefox is starting to suffer from bloat, but the extension system really helps keep it to a minimum by externalizing it. :slight_smile:

I’m intrigued by that model of adding feature bullets.

I think this is why new web-based alternatives to traditional applications are becoming so popular. They just don’t have the bloat that native apps do and they only have the features that users need. Things like Basecamp and Google Apps have only a small percentage of the features of Microsoft Project and Office, yet they are getting more and more users that are tired of the bloat and lack of collaborative abilities.

It feels like current native software applications, like many other things, follow the Pareto Principle where 80% of the users use 20% of the features. So all of these upstart web companies are just focusing on that 20% and doing it well. It makes me wonder why native applications aren’t following the trend as well and cutting out the bloat.

Replacing acrobat reader with foxit was a joyous occasion. Here are some other light-weight alternatives:

winamp/itunes alternative
http://www.sheepfriends.com/?page=billy

nero alternative
http://cdburnerxp.se/
or http://www.imgburn.com/

aim/msn/icq etc alternative
http://www.miranda-im.org/

A lot of this resonates with the book “Getting Real” by 37 signals [http://gettingreal.37signals.com/] who are the guys behind Basecamp. In chapter 2 they advise “underdoing your competition” and “building less” because it will differentiate you from your competitors. And I particularly like the “Build Opinionated Software” paradigm which basically states “You can’t be everything to everyone so be be something for someone”.

If you haven’t read the book I can highly reccomend it. And it’s free to read online too.

With Paint Shop Pro, I tried out version 7, but it started taking ages to load, so I simply didn’t upgrade.

What really bugs me is when applications force you to upgrade, or it stops working. Instant messaging clients are the worst for this. I really liked the MSN Messenger 6.1 client, it was fairly small, didn’t have any of the annoying animated emoticons, completely unnecessary "Personal Message’ field that people just fill up with even more junk, no adverts shoved where-ever they could make room (Just one MSN logo on the contact list, if I recall right).
Anyway, the client was working fine, until one day it started giving a ‘Upgrade to the latest version now!’ message, which there seemed to be no way to disable, you could stop it appearing every 30minutes while the client was running by altering the registery, btu when you restarted it, it was back…
I had to reinstall for some reason (Tried the newer client, possibly), so I had to find the 6.1 installer - I looked everywhere, but couldn’t find the installer for the working v6.1 (They all refused to start, claiming there was a newer version available)
Eventually, a Dutch friend sent the installer he had, which worked, but was in Dutch. I used that for quite a while.

If they changed the MSN protocol, and the old client wouldn’t work - fine! It’d be silly to update the old clients, just for the few people that use it. But, the old clients worked fine, the only thing that ‘broke’ it was the upgrade-checking…

I use a laptop as a main client now, so I’ve taken to using irssi/Bitlbee on a friends shell-server. No forced upgrades, no random changes/‘improvements’ which exponetionally increasing file sizes…

I can think of few.
Total Commander - it’s beendeveloped for over a decade, yet it’s still full of usefull features, fast and compact. I can’t think of any feature in it that’s utterly useless.
7-zip - fast small and open source. And has better compression ratio than WinZip.
Sub-Edit Player - it’s a matter of personal preference but I love this small movie player.
Fast Stone Image Viewer - I find it to be perfect replacement for ACDSee from it’s golden age (v3.x). Unfortunatelly I’m afraid that it might take the wrong path, that mentioned program once took.

the same applies to programming frameworks as well,
add the .net framework to the list of bloated software

Winamp is an interesting case among those “bloated” applications:

Even though it now stands at version 5.5 with loads of extra features and things you and I won’t usually need, you can always revert back to the fast and classic 2.95 version that you love simply by selecting the Winamp Classic skin from the Skins menu.

I think the Winamp folks did a fabulous job of keeping all those extra features not part of the base Winamp core by packing them into what they call “modern skins”. This way, they kept old-time fans like me attached while still trying to match iTunes and other modern players feature-by-feature, and then some.

I’m still using PaintShop Pro 4.12 for everday usage.
For heavier tasks Photoshop is the way to go.

The only app not spoiling over the years is google - but just a few weeks before, the search-result-page is “enriched” with youtube-findings an sometimes some pictures - the start of the end?

That’s exactly it. Features sell software. It’s busywork to justify “new” versions, because the word “new” is one of the most powerful words in marketing. Every really successful package jumps the shark sooner or later. The lucky times are when you see it coming and you hold onto an earlier version. I did that with Photoshop.

I had a Mac, switched to PC, and switched back to Mac. On my Mac, I think I was running Photoshop 3 for about 5 years. Then I switched to PC around 2000, and had to get Photoshop 6 or 7 - the earliest version I could find. I stayed on that until I switched back to Mac, this year. I bought Photoshop Elements and I’ve honestly never been so insulted in my life.

I think the software as a service model will probably reduce the effects of this problem, since businesses will no longer be dependent on new releases to make money.

i like sumatra pdf for pdf files – under 900kb, smaller than most PDFs themselves! As an added bonus it doesn’t try to merge itself with your browser. I recall using FoxIt previously and having render issues – I’m sure they’ve been since fixed, but I never gave it another chance.

Will never spoil:

  • grep
  • ls
  • find
  • tail
  • less

Moral: concentrate on _one_thing, and do it well.

Sadly, productivity software isn’t the only perpetrator of this. Case in point: drivers for my HP scanner. It also insist on installing some “share on the web” bullshit that you can’t remove, and the installation process takes 5-10 minutes. All those megabytes are supposedly for “example material”. If they only offered a no-frills option - I’ll use the default Photoshop interface to scan, thank you.

In theory Firefox’s extension system was supposed to keep out the bloat. Yet, with every version they keep adding “essential” features to the core codebase. If they were so important, wouldn’t it be better to put that effort into building the features into extensions?

As far as bloated programming frameworks goes, that’s a tough one. I personally use a huge number of the features in every version of .NET, things which I would rather not have to implement myself.

It would seem that “bloat” is all a matter of perspective.

I think the key for a successful long lived software project is a coherent vision, and a team that consistently push toward that vision.
the main problem is that in the software industry, people come and go very often, and software starts to be pulled into new directions as new inconsistent ideas are thrown into it.
evolution works well only if you don’t play with the fitness function, but with projects that changes direction all the time, the fitness function keep changing.

As OpenOffice has become more bloated and slow to start (though, in all honestly, they are trying to optimize), I started looking for alternatives. KOffice didn’t cut it for me (it’s much less flexible than it seems). My sollution? Go back to OpenOffice 1.1.5. It runs even on Windows98 (with a 300MHz processor, hint, hint). The only feature I’m missing is ODF support, but there are freely available converters. They’ve even backported PDF export, which I consider a must-have. Pure bliss!

i guess the most popular bad example for bloating these days is facebook.

it seems to be using the mode firefox uses; expansion through applications… but innocent users still get tons of invitations daily. worst of all, most of the applications are designed in a way to trick users to sending invitations.