I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

October 17, 2007

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.

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    View blog reactions
« Remember, This Stuff Is Supposed To Be Fun
Are Features The Enemy? »
Comments

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

Will on October 17, 2007 10:09 PM

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

dpt on October 17, 2007 10:32 PM

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

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

Tim McCormack on October 17, 2007 10:37 PM

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.

Curtis Chambers on October 17, 2007 10:42 PM

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/

Jeffrey Vanneste on October 17, 2007 10:52 PM

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.

Mike Minutillo on October 17, 2007 10:52 PM

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...

dbr on October 17, 2007 10:53 PM

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.

Krzysztof Koźmic on October 17, 2007 10:59 PM

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 October 17, 2007 10:59 PM

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

jkl on October 17, 2007 11:03 PM

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.

AL on October 17, 2007 11:04 PM

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?

C. Wissing on October 17, 2007 11:05 PM

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.

Giles Bowkett on October 17, 2007 11:07 PM

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.

ragaskar on October 17, 2007 11:19 PM

Will never spoil:

- grep
- ls
- find
- tail
- less
...

Moral: concentrate on _one_thing, and do it well.

Ivan on October 17, 2007 11:22 PM

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.

Rob Janssen on October 17, 2007 11:28 PM

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.

kettch on October 17, 2007 11:30 PM

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.

Omry on October 17, 2007 11:47 PM

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!

Felix Pleşoianu on October 17, 2007 11:47 PM

Hardware drivers become more and more bloated too, every external piece of hardware i own comes with an installation cd of useless software.
Scanner - To install drivers you also have to install custom scanning software, editing
Printer - Same as scanner
Mp3 player - A few separate programs to sync the thing, format it, create playlists and the such.

Creative did the right thing with live, offering a "just install the drivers" option on their download, i wish they would do it with their mp3 players too.

Dennis Schipper on October 18, 2007 12:02 AM

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 October 18, 2007 12:05 AM

Very very interesting point, Jeff.
These days I am having some problems with a spanish software used to design photographic albums (http://www.fotoprix.com/album_fotos_digital/). You can make an album with your digital photos, and you can print it later in the shop.
With the version 1.XX, the size of an album of about 40 pages was less than 400MB, and could be copied into a CD-ROM, then sent to the shop. Now, with the version 2.0, the size of a project of 14 pages is 800MB! I don't want to imagine a 40-page album!
I wonder how they decided to release this 2.0 version. For me, as software developer, it's a shoddy work, and should have never be released.

Candi on October 18, 2007 12:19 AM

What do you do then, when your company writes only one piece of software, and that software is as good as perfect? I think many companies find it easier to just add features and features because they think it is to risky to start working on an entirely new project.

Also, I would like to nominate vim, it has been around for a long time (at least when you also count vi), and it still is faster than I am. One of the advantages it has that protects it from spoil is that there is no GUI. There are noe big menus getting crowded, just more keyboard-commands to learn, and you only bother learing those that are necessary for _you_.

Anders Schau Knatten on October 18, 2007 12:22 AM

I like Total Commander 5.5*, with files highliting and useful pluggings, such as internal viewers, task manager, services and startup guard.
Currently, I`m using version 7.0, but with configuration file from version 5.5, so I have pretty UI and functionallity.

Maksym Shostak on October 18, 2007 12:23 AM

It's natural selection...

And hey, us developers need to do *something* to qwell the users ;)

Post a free app on your site, and you'll have emails flying in saying "why didn't you add this?" "why does it do that?"

Jonny on October 18, 2007 12:29 AM

hmm... the rest of my comment got lost.. :/

Jonny on October 18, 2007 12:30 AM

> There are no big menus getting crowded, just more keyboard-commands to learn, and you only bother learning those that are necessary for _you_.

Good point; the complexity of command line apps is hidden; you can learn the few commands you need and the others don't even exist as far as you are concerned. This is also the "complexity" of Google and search driven interfaces.

> In theory Firefox's extension system was supposed to keep out the bloat.

Also a good point. A robust extension ecosystem is another way to offer thousands of features, but only to the users that NEED those features. One strategy for evolving an app is to keep incorporating only the most popular extensions into the core of the app itself, and drop other less use features out, in a sort of feature darwinism. That's assuming you can gather metrics that let you know what people are actually using.

> In chapter 2 they advise "underdoing your competition" and "building less" because it will differentiate you from your competitors.

But that's an awfully convenient position for them to take, as web apps have so many constraints. Consider Google docs-- many, many less features than the Office suite, but this can also be considered a strength, depending on what features you want and need.

So yes, web apps are less bloated, but I think that's a side effect rather than a goal. Programmers and marketers love features. I hope current web apps can retain the same kind of idyllic simplicity five years from now.

Jeff Atwood on October 18, 2007 12:31 AM

Yes, my favorites are Nero 6 and ACDSee 6. I bought them boxed so I can use them for as long as I want.

Mike on October 18, 2007 12:35 AM

jkl: "add the .net framework to the list of bloated software"

You have no basic understanding of software. It's a framework, you decide as a programmer what you want to use. But hey, be my guest and don't use LINQ, it's just bloat right?

Mike on October 18, 2007 12:42 AM

> If you sale software and have competitors, you get into a feature bullet race.

OK, then is all commercial software doomed to crush itself under feature creep eventually?

Is the answer, then, that only open-source software-- which is not "sold" in the traditional sense-- can avoid falling into the same trap?

OSS software certainly seems much more resistant to spoilage based on what I've seen.

Jeff Atwood on October 18, 2007 12:44 AM

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

j2ee was bloat first!

Stephan on October 18, 2007 12:44 AM

@Will
The original MPC project is basically dead, look into MPC update (guliverkli2) and home cinema (mpc-hc).

@Jeffrey Vanneste
Billy looks like the original version of foobar 2k. =p

@Krzysztof Ko&#378;mic
7-zip is too minimalist to the point of being unusable, unless you use another file manager (like total commander or winrar) to view archives. The shell extension's great though.

I think it's unfair to scorn winamp, since you can uncheck everything on install and get a player that's even more basic than the 2.x versions but less buggy, or customize it to your tastes. They don't even bundle the stupid free mp3 anymore! I'm sad that they discontinued the lite version, but there's still a lite preset that mimics the old 2.9. (And it's crazy fast.) Personally I can't live without ratings anymore, or I'd have no idea what I like. =p

But there are plenty of other good music players out there, as well as video players, shells, photo viewers, text editors, chat clients, and so on, in various stages of polish. The trouble with tiny is that they're often missing that one feature you really must have, but sometimes it's still worth settling. That's why you pick a weekend to try everything out there. =D

Foxyshadis on October 18, 2007 12:45 AM

How about TeX/LaTeX? Sure, a basic install of 80 MB (the MikTeX distribution) is hardly lean, but usability hasn't suffered. The secret is that TeX itself has been feature-frozen years ago, but that innovations are made with software building on TeX (e.g., LaTeX, Omega). Knuth has stated that he values a stable system with a stable feature set over introducing new features. I guess this is only possible because TeX is in the public domain.

Floris on October 18, 2007 12:55 AM

Dear coincidence!

I just read that the new version of Nero now features a feed reader. In the next version, it might even support Atom. Good to know that their marketing department was only following a law.

Manni on October 18, 2007 12:55 AM

WinAmp is a weird one. I liked the simplistic nature of the early versions but I use about 80% of the features now in 5.5. I use it exclusively to manage my iPod (iTunes was just utter tripe), I rip and burn CD collections, I listen to radio stations and I have a mass of playlists etc, all of which winamp can handle while only using about 12K in memory.

I think, as others may have said, a company should over time release new versions but they should always keep the old ones around so those who wish to stay with what they've got can.

Luke L on October 18, 2007 1:23 AM

Still using Winamp 2.91 , PaintShopPro 5, etc ...because they do what I want and load fast

Tried PSP 10 and after it finally loaded found it unusable! What have they done to it?
(Paint.NET looks promising but the .NET puts me off, sledgehammer/nut springs to mind, shades of the old, look how small this VB program is, just install VBRunDLL to make it work.... and)

I use WinAmp 2.91 to play mp3 files and CD's and nothing else...
I use a dedicated ripper/burner to rip/burn
I use a dedicated format converter to convert

It seems to be the do one thing well applies here, Emacs is a special case, it was the first attempt to build a system that did everything well.. It succeeded in doing everything the same, so at least it has a consistent interface

Jaster on October 18, 2007 1:31 AM

> 7-zip is too minimalist to the point of being unusable, unless you use another file manager (like total commander or winrar) to view archives. The shell extension's great though.

But you see - that's the point (at least for me, and I believe that's what Jeff is talking about): 7-zip is compressor/decompressor, not a file manager, and it is focused on doing this one thing, and it does it very well. I don't use WinRar, and I do use Total Commander to peek into archives, but most of the time I use 7-zips submenu under RMB. And that's enough, I rarely even see it's main window for that matter, and that is main reason i favour it over all other (free or commercial) compressing software

Krzysztof Koźmic on October 18, 2007 1:32 AM

Skype certainly seems to be heading down this path IMHO!

What a shame. Mind you, voip software is dime a dozen, very low barriers to entry. Seems a bit naive of Skype to think they can move beyond the product and into the 'brand' arena.

JackU on October 18, 2007 1:57 AM

My favourite applications don't change much at all, they all reached a point where they had all the features they needed.
- GNU screen
- OpenSSH
- GNU nano
- Xterm(bash is a bit of a mess, but I don't really mind)
- mutt
- mplayer

Firefox is bloated as hell, as netscape did spoil alot during the browser wars. At some point I hope to have a free web browser that isn't bloated, but that's currently difficult to come by.

Jesse McNelis on October 18, 2007 1:58 AM

Use GIMP?
Usually free software (GUN GPLed) are quite small, fast and just work.

Cheers,
Emanem!

Emanem on October 18, 2007 1:59 AM

I have always been disappointed with Foxit Reader. The rendering quality is terrible. SumatraPDF is a step in the right direction but needs more work to become fully usable. Thus, I ended up with Adobe Reader again, but cut down to remove as much bloat as possible.

Nero is the same. The core Burning ROM part is actually not bad and hasn't changed much since V6. You can opt not to install all the other crap, although CD-DVD Speed is a useful tool and Recode is one of the best quality H.264 encoders available.

I too am a WinAMP 5.5 user. It's finally getting reasonable Unicode support, and I use the Media Library a lot. With classic skins it still starts very fast and uses little memory, but supports audiophile stuff like kernel streaming/ASIO and ReplayGain.

I generally prefer small apps that do a single thing well. www.tinyapps.org has a large (but sadly rarely updated) collection. There is a blog too.

In the end, it seems like modularity is the key. You can have your program read email, but as long as it's optional and doesn't directly add bloat to your program that's probably okay.

MoJo on October 18, 2007 2:03 AM

I agree - Firefox is getting very sluggish/bloated. Although I have reccently found part of this is due to the horrendous flash player implementation. I reccently installed the Flashblock extension which prevents the massive CPU hit you get from viewing pages full of flash adverts.

JackU on October 18, 2007 2:05 AM

After reading this article, i asked my colleague what software comes to his mind that has become bloated over the years. His immediate response was: "Windows?" :p


I'm still using or prefer to use when i have the choice:
- Paint Shop Pro 6
- ACDSee 3.1
- MS Outlook '97 / 2000
- Via 4in1 v4.43 (pre-Hyperion, on those machines that need it)
- MS Media Player 6

My longest lasting Appz that didn't go "feature-frenzy":
- Buzof (Basta Computing)

I don't use anymore (and replaced it with):
- Winamp >> foobar2000
- Media Player >> BSPlayer, VLC
- NERO Suite >> i only install Burning ROM, i burn ROM images using ImgBurn
- WinOnCD
- Internet Explorer >> Opera, and Firefox as "backup"
- Winzip >> Winrar, 7-Zip, Directory Opus ZIP handler (in this order)
- any McAfee and Norton Internet Security / Antivirus Suites >> Bitdefender
- EDonkey/EMule >> thank god for Torrents & Usenet!

I do (mostly) enjoy upgrading:
- UltraEdit
- O&O Defrag (showing first signs of bloat since v10)
- Directory Opus
- video drivers :)
- DirectX (never had any problems with upgrading DX)
- MS Visual Studio


Generally, i am VERY skeptical about any software that has "Suite" in its name and/or tries to cover multiple things at once (eg. Antivirus + Firewall + Spam, Picture Viewer + Image Editor + Animation or Video Editing, CD/DVD Burning + Media Editing, Video Playing & Archiving & Internet Browsing/Streaming).

I also feel that the "featurism" most significantly affects software for image, audio and video viewing and editing as well as typical "security" suites. Not to forget about CD/DVD Burning though.

I can't complain about IM's though because i only use MS Office Communicator 2005 which feels slick and lean to me. But just by looking at today's versions of XFire, ICQ or AIM on other user's computers i feel disgusted even though I've never used them.

steffenj on October 18, 2007 2:06 AM

Is software doomed to spoil over time?

No; commercial software appears doomed to spoil though. Somehow software companies go through a metamorphosis, similar to your wolly moth example. They started with nothing, and wrote new software. They wrote software because they felt an itch, or a market opening, or whatever. And they found out they could make good money doing it.

At some point, they discovered selling to existing customers was a far less scary proposition than finding new customers to sell software for that doesn't exist. The once great entrepreneurial spirit of the company, writing new programs, has diminished in the face of finding a few reasons to sell your customers something they basically already own. If a customer is satisfied with version 5 already well into the spoilage, fixing the spoilage for a fee sounds crappy. Call it what you will, but I call it removing features for a fee. But every major release also comes with an implicit bug fixing onslaught that nobody can test until they've already paid or pirated. Ever seen a bullet point for "Fixed ticket #2452?" Only in changelogs that may or may not be published.

The trouble is, why would a company with software give up such a revenue stream? Releasing a new major version is almost guaranteed money, no matter how bad Vista is. Or whatever you happen to be working on. Fixing spoilage is about finding ways for a company to transition software from a state of development to a state of stable management. If I had the answer, I'd have a million dollars.

I can't name a single closed source app I used five years ago I still use today. The situation isn't much better on Linux. GNOME's a bit like Windows; its hard whether I call it spoiled or just unfinished. But there's a few notables: Firefox has been around since 2002. It's basically the same thing from a usability standpoint. Firefox's tools for fighting bloat grew directly from a pair of developer's desire to remove what they saw as bloat in Mozilla's Netscape browser.

In a sense, every product competes with itself, but with open source you can't deliberately deny bug and security fixes to old versions. Open source isn't immune to bloat, it just has a better pressure release valve.

jldugger on October 18, 2007 2:13 AM

After some years, VirtualDUB (www.virtualdub.org) still remains a shiny little gem. Probably, because it's not commercial... I guess the difference is all in the marketing.

But, as pointed out, the difference between junk and cool feature is often a matter of perspective:
@dbr said: (MSN) annoying animated emoticons, completely unnecessary "Personal Message' field that people just fill up with even more junk

...if everybody uses (and creates) animated emoticons and fills in the Personal Message, then those two are definetly cool features :-)

Another thing to keep in mind: software bloated by unnecessary junk features, and software bloated by performance, are not the same thing. Opera introduced a LOT of features, even unnecessary but cool ones, such as the Commodore64 CSS Style, but the application is still lightning fast and the installer is still under 5mb.

Filini on October 18, 2007 2:17 AM

It's not just software that is spoiling...

Turn on the TV, or go shopping and you see exactly the same thing:

Companies trying to sell you crap you dont need. For example how many more razors can they add to disposable razors, until people say "Ok, that's enough. These guys are taking the piss" [duh].

Does this problem originate with the "Growth fetish" we have in capitalist society?

Growth at all costs (even your sanity or product).

I think so.

JackU on October 18, 2007 2:18 AM

About device-driver software:

Logitech Mouse Driver (Setpoint 4) - overkill when it comes to applying settings on a per-application basis. I know it's to work around how programs handle mouse input but it's just not something I'm willing to put up with. I'd rather have an OK setup for all programs than being able to setup the perfect mouse feel for specific applications.

I bet other device-driver software has similar overkill features or signs of bloat. Think about your scanner or printer software with beautiful names like "Eazy Printing", i guess.

steffenj on October 18, 2007 2:39 AM

>> What do you do then, when your company writes only one piece of software, and that software is as good as perfect?

Move to greener pastures. Port it to another OS if there's need for it. Make an universal binary version if necessary. Invent a new product or improve an existing one of the competitor. There are enough itches to scratch.

@ steffenj : ah yes, ACDSee. The problems started when they included the mp3 and movie player in the image viewer for some stupid reason. For an even more stupid reason, I haven't found a way in the newer versions to just turn this option *off*, which results in the fact that after browsing 3-4 images it'll encounter an mp3 and then the CPU spends a few seconds on preloading/caching/buffering. It'll accept that it won't open any extension under the sun anymore, but it will still browse mp3 and movie files. I just want it to skip that.

re: 7-zip; there's one thing I'm missing, and that's shift-clicking to drag the files literally out of the archive so the original file goes *poof* and you're left with only the contents. WinRAR does this, 7-zip does not. Or is this implemented in a newer version?

Open source software generally suffers from another kind of bloat - that of the interface. As you're free to include any new option that's possible and lay out insane settings/preferences windows, you'll soon get to the point of 15 tabs to set only how you want to see things on the screen. If anything, they need sane defaults and UI/UX designers. It's nice to have choices; it's nicer to package this choice in a sane way, and that shouldn't mean reflecting the config files directly in the UI.

Rob Janssen on October 18, 2007 2:42 AM

VirtualDUB: copy that, am still using it too. This goes second on my list of programs without bloat which satisfied my need for years. If only it were (still) able to open WMV though ...

steffenj on October 18, 2007 2:51 AM

You can now use Emacs to edit video too :p
http://article.gmane.org/gmane.emacs.devel/80956

Jivlain on October 18, 2007 3:08 AM

Brilliant article again Jeff... how many times have I said to myself "what have they done to Acrobat Reader?"

It seems the applications I have been impressed with the most are those written for software engineering - although the overhead is much larger to run these apps - look at the quality, look and feel and power of VS.NET 2005 over 2003... impressive.

Steve on October 18, 2007 3:13 AM

On another note - why do I have to type the word ORANGE in every time I want to post a comment?

I Know this is "anti-bot posting" technology - but isn't there a better way of doing this - it puts me into an "ORANGE" frame of mind, which being ginger is ok - but I often associate ORANGE with a warning (its about to fail - condition ORANGE, or is that soylent green?) ;o)

can we change the Enter the word to "POSITIVE" or "WHITE" or "THOUGHTS" or something abit less aggresive?

just a thought...

Steve on October 18, 2007 3:19 AM

I think that Winamp is a fairly good example of listening to your users. They realised that Winamp 3 was crap, and kept developing Winamp 2, and even having some sense of humour about it. "ALMOST AS NEW AS WINAMP 2 Nullsoft Winamp3"

I still use Winamp (with the old UI) for playing net radio and random files, even though I now prefer to manage my music libary with iTunes.

Bob on October 18, 2007 3:33 AM

>> What do you do then, when your company writes only one piece of software, and that software is as good as perfect?

> Move to greener pastures. Port it to another OS if there's need for it. Make an universal binary version if necessary. Invent a new product or improve an existing one of the competitor. There are enough itches to scratch.

I tried to answer that in the rest of my paragraph: "I think many companies find it easier to just add features and features because they think it is to risky to start working on an entirely new project."

Anders Schau Knatten on October 18, 2007 3:34 AM

CD/DVD burner program recomendation InfraRecorder (http://infrarecorder.sourceforge.net/)

Ola Lindberg on October 18, 2007 3:45 AM

I rush to post this and get out of here before you guys kill me with stones or something. A piece of software I think never bloated over the time - Windows.
Now sit back in your chair and relax. Here is what I mean:

First, I've never seen a version of Windows that loads slower than the previous versions, Moore's law taken into account. It's not that Windows becomes faster, it's just that IT DOES NOT OUTRUN MOORE'S LAW. This means that my Windows 95 on my 486 loaded slower than XP on my Core Duo.
Second, Windows, from its infancy always had tons of useless features. We have all watched Ballmer in that commercial of Windows 1.0 shouting 'Reversi' (http://video.google.com/videoplay?docid=-1769003739231727974&q=ballmer+windows&total=212&start=0&num=10&so=0&type=search&plindex=1). So in my opinion XP does not have more useless features than 1.0 - just about the same amount, which - having in mind the progress made - is pretty good. And think of how many improvements were done.
That said, I agree about all the comments about Winamp, PSP, Media Player and the like.

Slavo on October 18, 2007 3:49 AM

The caterpillar looks so much prettier than the butterfly.

Preeti Edul on October 18, 2007 3:56 AM

Other examples of software that has become spoiled : HomeSite, CoolEdit.

Charly on October 18, 2007 3:59 AM

I think jldugger put my thoughts better than I would have done:

"At some point, they discovered selling to existing customers was a far less scary proposition than finding new customers to sell software for that doesn't exist. The once great entrepreneurial spirit of the company, writing new programs, has diminished in the face of finding a few reasons to sell your customers something they basically already own."

Exactly what happened with PSP, firstly when it went paid-for and secondly (and much much more worserer) when Corel bought it and decided it was an asset to be sweated.

I don't use PSP any more. I'm a Paint.NET guy now, even though it doesn't do as much as PSP did in its golden era (version 6 to 8 for me). If I need more I go to Photoshop Elements, although I can't say I like it much.

Mike Woodhouse on October 18, 2007 4:01 AM

orange

Ian on October 18, 2007 4:17 AM

I've often been amazed how MS Office and the like force people to buy the latest and greatest versions. People have to upgrade because other people have upgraded and are sending them documents in the latest format which older versions can't read. So everyone upgrades just to allow them to keep doing what they were doing before. I currently use OpenOffice but find it difficult to e-mail documents to clients because no one else uses it, and they refuse to install it - even though it's free. So I have to export to MS Office format, which isn't 100% perfect so the formatting gets messed up. Perhaps proprietary file formats should be outlawed.

Skizz

Skizz on October 18, 2007 4:19 AM

I think there are some similarities to companies too. Most companies have a certain lifetime.

In the beginning they do their thing really good (which is why they succeed, if they do), then they are expanding business and "taking on new opportunities" making their "code base" much more larger, complex and bloated. In the end you end up with these huge giants that seem to do everything and have a hand in everything. Some of them stays alive for longer, others don't. None of them stays forever.

I guess the companies who make it longer are the ones with better structure. That doesn't mean that they have more of it, rather less. It is the same with software. The more you let the different parts of the software live their own life, and by that I mean that they are separated from the rest of the software, the longer it seems to last. Firefox manages this by extensions, but other software like Windows Media Player and Paint Shop Pro tries to put _everything_ under one roof. Doesn't seem to work out, does it?

Users will never live inside one software only, back to the mantra Mike Minutillo mentioned: "You can't be everything to everyone so be be something for someone."

Adam on October 18, 2007 4:43 AM

I have always weighed upgrades, and if they didn't please me, I kept the old version. Simple as that, and no whining because I already had something that did what I wanted.

I liked Paint Shop Pro because it wasn't the huge waste of resources that Photo Shop was (and still is). I despise the newer iterations, so I've been carting my copy of v4.12 to every new computer I've gotten for almost ten years. Whenever I load it up at work, somebody always says something like "Paint Shop Pro? Why are you using that? Don't you know Photo Shop is installed on all of our machines?" And my response is "yes, but in the time it took you to say that, I've already loaded the image I need to work with, and if I weren't explaining that to you, I'd already be done with the changes I need to make. By now, Photo Shop would be about 10% through loading all the filters nobody ever uses."

However, sometimes slow software is good. If you need to take a break, get something to eat or drink, whatever, loading up a resource hog will do the trick. "Oh no, I'm not goofing off. I'm just waiting for Illustrator to load."

Chris on October 18, 2007 5:00 AM

How about Visual Studio 2005? Even the code you create with it can be spoiled at birth if you are not careful... i.e. DataAdapters that generate thousands of lines of codes that are very difficult to customize or extend.

With VS2005, the multitude of options that a developer is faced with when solving a problem is mind boggling... The IDE itself has become slow and buggy (in particular the BI version). Finally, people who complain about problems/bugs in VS2005 are told by MS itself on some of its forums that the fix is coming... in the form of VS2008. How about fixing VS2005 first? Also, if MS wants developers to produce less buggy code, IMO, they should slow down the pace of change for the tools they use. How about an IDE/Framework release every 5 years instead of every 2 to 3 years? How can one master a tool to use it properly if they keep changing the tool???

Note that each release of the Framework/IDE adds more spoilage to the package...

cyclo on October 18, 2007 5:08 AM

@Mike: The .NET framework _is_ bloated, in the way that it adds way too much complexity -- just think about all the different collection and list APIs. On a positive note, they are doing something to clean it up, so it is moving in the right direction (away from bloat/complexity).
You could also view LINQ as a way to reduce complexity by adding components of dynamic languages.

I also like the fact that the upcoming version 2 of the Ruby on Rails framework will be removing a lot of component (they will be plug-ins instead) and generally clean up and simplify the APIs.

Maybe you just have to remember to remove some of the old stuff as you add the new...

Tobias on October 18, 2007 5:11 AM

UltraEdit by IDM Software is the only example I can think of that I have been using for nearly 10 years without suffering from bloat. I used it exclusively for 6 years for all my ASP development at my last job because Visual Interdev was such a bloated beast (the tool I was *supposed* to use there).

UltraEdit has been able to continuously upgrade itself without becoming bloated or unusable. They seem to have got it right. I can't imagine being a developer without it.

FWHagen on October 18, 2007 5:13 AM

We ran into this conundrum while writing SpamAssassin -- every new subsystem bloated the core. The solution, IMO, is plugins. De-bloat -- move subsystems out of the core into optional plugins -- and the problem is greatly ameliorated.

Justin Mason on October 18, 2007 5:15 AM

I think you described here why software should be free, open. Although the process is present in the open source world, it's easy to "fork" and "patch". The process of adding useless or just to much features is mostly driven by (weird) economics and marketing. The symbiose between hardware and software doesn't exist anymore. On that point, I think only one type of software wins the cup: games.

loki.jf on October 18, 2007 5:19 AM

>> What do you do then, when your company writes only one piece of software, and that software is as good as perfect?

Make it Blue and Call it Office 2007? ;o)

Steve on October 18, 2007 5:27 AM

If it makes anyone feel any better, feature creep/bloat/spoilage/whatever you want to call it isn't a development of the Internet age, much less the PC age - Fred Brooks described it in _The Mythical Man-Month_ as the second-system effect ( http://en.wikipedia.org/wiki/Second-system_effect ) - after a first system that's successful, architects/designers are less wont to be judicious with what gets left on the cutting room floor (hey, we know what we're doing!), so their systems/applications become less driven to solve a particular problem set really well and more, well, either a candidate for The Daily WTF or in sore need of an armada of well-paid consultants to get it up and running because it's so feature-y.

Dave Solomon on October 18, 2007 5:28 AM

Hey Now Jeff,
After reading I remember the days I really enjoyed Winamp. I guess software is just like milk.
Coding Horror Fan,
Catto

Catto on October 18, 2007 5:36 AM

Notepad doesn't suffer from bloat :-)

Luc Martineau on October 18, 2007 5:36 AM

OK, let me dig up a model on software evolution:

There are basically two phases:

-= The evolutionary phase =-

The software follows the path of what a customer base wants until it gets to the point where the customer is greatly satisfied. Once the software creature fits this environment, there's no need to change anymore.

That's the state open source software usually stays in until its environment changes. Commercial software behaves differently:

To stay successful (sell copies) past the point of fitness, you need to change the environment. From that point on, you're in phase two:

-= The extinction phase =-

You get bigger, fatter, slower until some more efficient creature kills you (either directly or indirectly) and takes your place. Then the cycle starts again.

-= Appendix =-

Sometimes you happen to see a third phase creep in between, the metamorphosis. That's where the creature - instead of trying to change the environment itself - rather changes to fit into another set of the same old environment (your favorite music player more and more changes to become CD burning software).

That can be counted as just another appearance of phase two. It usually still leads to extinction.

-= Disclaimer =-

Any similarities to actual events are just coincidence.

V. Hoefler on October 18, 2007 5:46 AM

I've often pondered this myself - why does a 'nice', small, functional piece of software get bloated beyond what it did so beautifully when you first found it and started using it?

The answer I'd come up with is that a combination of the user base requesting little additions, which in turn get additions - and the developers want to add features - over time shift the seemingly simple, single focus into a do-everything-please-everyone-jack-of-all-trades monstrosity.

The thing I've noticed is that this is cyclical - when the software gets too 'spoiled' then the user base migrates to a 'new' piece of software that, because it's 'new', hasn't gone through countless rounds of additions yet.

Your point about this being a business decision to have feature bullet points is something I handn't considered before and makes a lot of sense to sell new versions.

I think the move towards the web-based alternatives, for many of the reasons that Curtis Chambers points out (comment #4) is mostly because the web is the next logical development platform for 'new' applications - not necessarily because they need to be on the web - it's just the best way to get a wide user base.

Therefore I think the cycle of 'new' applications will increasingly be web-based where possible.


p.s. This is my first post to CodingHorror, which I've been a avid reader of since I found out about it almost 6 months ago, and I'd just like to say that I look forward to every post you make, Jeff ;o)

Andrew Freemantle on October 18, 2007 5:47 AM

I think that the spoiled feeling in software in the same feeling Robert Pirsig had regarding society in the 70's when he wrote his famous book (Read it if you haven't). Nothing is made with quality , everything tends to be stylized crap. I think we are doing the same thing to software and computer that we have done to society. We are spoiling software and computer hardware. Sure some people will resist and continue to use command lines (grep, awk, sed, etc...) and small/ useful software (Total Commander, vim) but the vast majority will follow the death procession and upgrade their pc every 2 years or when it's unusable because of spyware. Like Metallica said it's "Sad but True".

Julien Grenier on October 18, 2007 5:53 AM

mIRC comes to mind - massive feature list if you're a script writer - and a huge amount of upgrade potential by loading scripts - but all conveniently hidden away from the every day user.

Most people just need to point, click, connect to some channels, and they're done. Then never play around with the option menu again.

Personally I think the extension system is brilliant - it can be applied to nearly any software. I think of Photoshop here. The craziest piece of software to use because of the abundant features. During setup you should be able to add a whole lot of plugins that you would use or potentially use, and leave out the rest. If you're missing something, do a quick search on what you need, add the plugin, and you're ready to go.

Same principle can be applied to most software. This [should be] the way of the future.

`Josh on October 18, 2007 6:06 AM

Good post.

For me, besides PSP, the other software that spoiled over time to the point of non-usability was MusicMatch. I loved it up through version 7 ("loved" as in "paid for the pro version"). I upgraded to 10 (paid for it, too) and they had changed the UI in ways that were non-intuitive. Then Yahoo bought 'em and completely and totally ruined it forever. I will not look back. Of course, since my home workstation and server are Linux, I have great alternatives, but I still have to administer (and find decent music playing apps for) my wife's and mother's machines, so it is still an issue for me.

Per the comments on emacs and whether it's bloatation has ended up in spoilage or the best software ever, I've always liked the old joke, "emacs is a great operating system, but it could use an editor." (NOT trying to start a "which editor is better" war here! :-)

Jim on October 18, 2007 6:11 AM


It's weird how you're able to keep coming up with interesting topics, and then present them with grace!


More On-topic:

Yes, Acrobat Reader is an abomination.. and the download for Microsoft LifeCam's "driver" was around 117MB! :)

Jugimaster on October 18, 2007 6:22 AM

Incorporating more and more features must not be bad in every way.

You need only 10% of the features, and so does nearly everybody.
But every needs other 10%.

With Office 2007 Microsoft tried to get things in balance between accessibility and feature-completeness - i think they did it very well for a first shot in this direction.
Of course all old users are complaining, but in the long run, it's the way to go.

CWissing on October 18, 2007 6:30 AM

"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 October 18, 2007 6:48 AM

In my view, the solution not only lies in plugins but in packages of plugins. I'm thinking about Eclipse, Firefox and LINUX package managers like apt-get.

Dependancies can be a pain to manage when the plugin system isn't mature enough and it may take some time to setup your software to your liking, but my guess is these issue can be solved with mature technology.

Imagine sharing configuration profiles instead of downloading and installing software...

Luis Parenthesis on October 18, 2007 7:04 AM

There must another law that was not enumerated above.
-Every application will expand until it can play mp3s.

I've used a Garmin GPS device that plays mp3s. !?!?!

Why does LG need to sell an 'Internet Refrigerator' that plays mp3s? If you are tired of winamp bloat, just buy a new fridge.

brett woodward on October 18, 2007 7:07 AM

It's driven by marketing. New features sell. Performance enhancements don't.

A brighter set of marketing "professionals" might figure out that adding new features isn't necessarily desirable, and that selling a suite of smaller, simpler targeted applications (or features) might just generate a more consistent revenue stream, particularly if enhancements to these applications are added only after rational, quantitative market research and an excruciating amount of testing.

But we're talking about marketing here. What are the odds?

Ian on October 18, 2007 7:12 AM

An example where the user himself spoils a software is Mozilla Firefox.

It works great when its vanilla. But as and when you start adding extensions, it starts to affect its performance. In this particular case, it is the combined sin of the extension developers (which apart from having the features that they are supposed to have, also have some that are not used much), and the user. Oops! did I call myself a user? OK. I mean the customer.

The collective in-efficiencies of the individual extensions and the greed of the customer to have all that he can, is what makes Firefox (mind that capital 'F') a spoilt kid.

The fix for that is in our hands. Choose your extensions wisely!

Daanish Rumani on October 18, 2007 7:14 AM

I too was a big Paint Shop Pro user throughout the 90s, but I switched to Fireworks around 2000. Unfortunately, Fireworks is now suffering the same fate - the last three releases have each doubled in size.

1970s Abraham Lincoln on October 18, 2007 7:16 AM

Winzip actually improved. The older versions had an annoying feature where if you opened a new instance, it popped up a message asking you if you're sure to open a new instance because one is already open. It's gone with v11.

The classic behaviour of right clicking and creating a new zip or doubleclicking a zip to extract it is still there. Now it handles rar files too so one doesn't need to have a copy of winrar. It's still Although I prefer to handle rar files with winrar myself. Winzip is still fast.

Abdu on October 18, 2007 7:19 AM

Anyone ever seen the toolbar from a recent version of TOAD? Yikes.

Steve on October 18, 2007 7:24 AM

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 October 18, 2007 7:27 AM

I loved paint shop pro version 7. Then with 8 they tried to make it a photo editing tool (to appeal to a completely different audience) , which completely and utterly ruined it as a tool to create bitmaps.

I tried version 10 as a trial.. and hated it also. So when corel took over.. they kept the photo editing direction.

gruckiii on October 18, 2007 7:28 AM

er not bitmaps in particular.. but pixel pushing all the same..

gruckiii on October 18, 2007 7:33 AM

I've used Paint Shop Pro 4.12 forever, well at least for the last 10 years. The last time I thought I might upgrade was around 8.0 and it was horribly slow and unusable.

Russ Turley on October 18, 2007 7:45 AM

re : Will never spoil:

- grep
- ls
- find
- tail
- less


If you think that, you don't use the GNU versions!!!

maht on October 18, 2007 7:57 AM

I make a distinction between feature-creep (It slices! It dices! But wait, there's more!) and increasingly fine levels of control and precision without sacrificing simplicity. Two products that I think display the later are :

TED Notepad - http://jsimlo.sk/notepad/
CSVed - http://csved.sjfrancke.nl/

jim-in-austin on October 18, 2007 8:01 AM

HP software anyone? Actually I can't think of a time that HP wasn't bloating software. Just last night I was working on a computer and opened the task manager to see EIGHT HP processes running. Any development team that sits back and decides it's okay to chew through the user's processor with EIGHT running processes while the user isn't even using the product should be beaten with large, wet cats.

All of the above also applies to Norton, hence my switch to Avast, which still annoys me on occasion because it runs something like 3-4 processes itself, but at least they seem to be fairly lightweight.

Mattkins on October 18, 2007 8:05 AM

The only apps I still use that have never spoiled are vim and mIRC. AppRocket is another one, but I've recently replaced it with Launchy to get... more features.

Runar on October 18, 2007 8:11 AM

I am still a Paint Shop Pro 9 user but I am wondering if going back to the version 8 would be a good idea or not.

leovernazza on October 18, 2007 8:24 AM

> The original MPC project is basically dead, look into MPC update (guliverkli2) and home cinema (mpc-hc).

MPC is a great example of this almost entirly because it IS dead. The version of it I use is from 2005, but as far as I can tell it's completly bug free, and has every feature I could possible want in a lightweight media player. What is there to update without going down the path of spoiling it?

Thomas on October 18, 2007 8:25 AM

Jeff, when and why did you dump Microsoft Money?

I'm using the '05 version, without the online functionality, and I'm fairly pleased with it. But it was my first foray into personal finance software, so I probably don't know what I'm missing.

On a related note, regarding extensions in Firefox... I'd say there's a small drawback in that unless people are "power users" who know to look, and where to look, for extensions, they'll never know what features or ease of use they're missing out on.

WaterBreath on October 18, 2007 8:26 AM

>ARE NEW VERSIONS WORTH IT?
Never underestimate the power of a "CUSTOM" install with liberal use of unchecking. Most new software can be trimmed and tweaked to their original greatness. (e.g. Nero, Winamp, ACDSee).

>SOFTWARE SPOIL
Here's another disturbing trend: Every new version of most major third party software wants to install yahoo/google's toolbar/desktop by default. Is Google/Yahoo just going around to every 3rd party software developer on the planet and paying them money to include their take-over-your-system bundleware? This isn't software spoilage, this is software DISEASE!

>Winamp 2.9x
To all you winamp 2.9x users out there: Hark! (I could be wrong but) I believe I can botnet your computer just by getting you to play an exploitative music file.

Matias Nino on October 18, 2007 8:27 AM

@dbr
> Instant messaging clients are the worst for this. I really liked the MSN Messenger 6.1 client

After MS terrorized me into switching to "Live" 8.1 from 7.5 I removed the MSN Messenger completely. Wait, you can't remove it completely because there's another incarnation of the messenger in the program directory - old good 4.7! It's just 2 MB in 11 files and it has voice conersation too! So I use it when I need to talk. For all the rest IM'ing there's Miranda. BTW Miranda is a good example of software extended with plug-ins - it has a quite small core and tons of plugins.

Another good exmple of not bloated software is IrfanView. I use it for many years and it's still neat and slim even in the last version 4.10. Most of the extensions are made as plug-ins. (And yes, it can send email too, but you need Email.dll to do it.)

@Krzysztof Ko&#378;mic
> 7-zip - fast small and open source.

It's still very young. We'll take a look at it in five years. Meanwile it's exactly a "do one thing and do it well" program. And it works perfecty with TotalCommander.

d0011 on October 18, 2007 8:33 AM

Yes, yes, yes. Wonderful article! I'll never stop saying this: the future of software is specialized apps. I'm a professional editor/writer, and I can tell you that the best commercial software for word-churners was WordStar. WORD-processing (as opposed to DOCUMENT-processing) software has gone steadily downhill ever since. With the very notable exception of WordPerfect for DOS; though even WPDos lost some of WordStar's word-twiddling power.

I can envision a new WORD-processing program finding a huge audience. Not everyone writes for living, but countless people write as part of their living - and they'd be immensely attracted to a compact tool that did it efficiently. Without crashing 5-6 times a day (MS Word).

Microsoft has worked hard to eliminate the learning curve for office workers. Professional writers WANT the learning curve. It's the price of control - as any Vim user knows - and control is eminently worth it. Give me a word processing rig that can do what WordStar, WordPerfect, and Vim could/can, plus OneNote-style content handling and search, and I'll pay $100 for it in a heartbeat - and I'll spread the word to thousands of writers in the appropriate forums. Big software just plain sucks, with few exceptions: Dreamweaver/Expression, Photoshop, Indesign. But those are highly focused, professional tools, created by people who're aware that professionals won't settle for shoddy performance.

runbei on October 18, 2007 8:36 AM

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 October 18, 2007 8:41 AM

I've gotten to a point where the upgrade is evaluated like a new product plus the cost of learning where the upgrade put the old feature. It was skip a version, but now it could be skip 4 versions or never upgrade. Good enough is better than a new learning curve of wading through useless crap.

Loved PSP 5 for years. No need to upgrade. Paint.NET replaced it because the setup wanted my license number every time I installed.

Tried to play an mp3 the other day on a new computer and WiMP wanted to go through the a 5-10 minute questionnaire setup. I just want to play the song I double clicked. Little feature bloat there.

We still use Installshield 7 and 10.5 at work, because upgrades cost money. There's no need. The new version does do anything worth the price of replacement.

Stephen on October 18, 2007 8:48 AM

How has nobody mentioned Trillian?! Trillin is quite possibly the most bloated and over-featured resource hog I have ever had the displeasure of working with. It only gets worse with their new Astra version that's planned. WTF? MORE features? . . you have to be kidding me . . .

Nick on October 18, 2007 8:54 AM

(please pardon my spelling errors above)

Nick on October 18, 2007 8:55 AM

Opera has continued to focus on their core features for about a decade. My Opera UI is exactly the same today as it was when I first started using it (I paid to remove the ads back then).

While they have added a lot of bloatware type features, I don't see them, they don't clutter my view, they don't SLOW down the app, and I can just ignore them. I know there are thousands of users who use all that crap though. So they seem to have captured the "best of both worlds" goal.

Other apps I use on a daily basis that have remained simple:

- Thunderbird
- Pidgin (aka Gaim)
- Picasa (my wife "gets" it, so that's a plus)

I don't use media players because my computer is not a stero system. My iPod replaced my stereo.

All office apps are full of terrible bloat, OpenOffice included.

Mike K. on October 18, 2007 8:58 AM

I've thought about this from time to time, and sometimes I wonder if the developers even realize it's happening. If you know whats going into the software, you can understand why it's taking a second longer to start up or where it's using all that memory, but for the user who just opens up AIM to send his friends a message, it just simply takes longer.

Interestingly enough, I think this is what also seems to be leading to these "Full Rewrites" of programs we've used for years, such as AIM.

Speaking of which, Lite AIM is a client developed by somone over at AOL. It's worth checking out.
http://x.aim.com/laim

Dave on October 18, 2007 9:09 AM

That's why I love services that are totally web-based: they can't really be bloated. The only thing that can be bloated is the browser / PC themselves.

jlgosse on October 18, 2007 9:15 AM

Paint Shop Pro 6.0 is 7.25mb

It's the highest version I will use, has everything I'd need to output web apps/icons or forms.

nick on October 18, 2007 9:22 AM

As the developer of a program that gets updated every 2 years for the income spike, I dread hearing "what new features are you adding to the new version?". This has been going on since '95 so I've managed not to kill the golden goose...yet. What the program really needs is a rewrite but that doesn't look good in the bullet points or the bottom line.

The other source of new features are the customers themselves. A day doesn't go by without hearing one of the following lines "This program would be perfect if you only added..." or "The ??? diagram is the industry standard" or "You really need to import/export the ??? data format".

MRW on October 18, 2007 9:28 AM

.Net doesn't really qualify (yet) as spoiled, but I could certainly nominate Visual Studio to that category.

Joel Coehoorn on October 18, 2007 9:34 AM

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 October 18, 2007 9:40 AM

Anybody has some good alternatives to ACDsee?

I'm looking for a fast & modern image viewer. Open source or freeware even better, but will take a look at commercial software too.

Thanks!

Michael G.R. on October 18, 2007 10:08 AM

I agree with some comments above that electronics are suffering from this as well. Every phone seems to want to be a camera, a media player, a phone, and an advertising platform. What it results in are messy UIs that are slow and cameras with too many things to break on them. I'm reminded of your microwave post a while ago.

Otherwise I tend to lean to systems that allow you to take out the bloat, like Linux or Firefox. A nice thing about package or extension based systems is that you can pull out the bloat if you want to. Maybe I don't want a fancy graphical configurator for something, so I can just remove it. I think this is one of the largest strengths of Linux as a desktop OS now.

Drew Haven on October 18, 2007 10:14 AM

This happens with businesses too. Look at mcdonalds. Started with burger (with/without cheese) fries & soda. All drive thru. But they had to sell more so they increased the menu options. Then seating. Then breakfast.
And now others are going back to the basics and undercutting them.
The rule is "shirtsleeves to shirtsleeves in 3 generations" for a family run & owned business.

Rich on October 18, 2007 10:22 AM

It's kinda like buying a house...

Initially you have this nice, clean EMPTY house so you go out and buy furniture and decorations to suite your taste and now you have this relatively sparsely furnished house that is easy to clean and maintain.

Years later most people wind up with a house that is chock full of old furniture, nick nacks, books, magazines, pantries loaded with old cans of who knows what or when it was purchased...

It's in our nature to add stuff and try to hang on to stuff. That's what we do and since software is no more than a reflection of the human condition (now there's a topic we could discuss for hours on end) it winds up like everything else that we touch. It's not about the features, the frills or even the task... It's all about the fact that most of us are packrats and we try to pack as much into whatever it is as we can and then hang onto it even when it's clearly to our advantage to get rid of it.

Trust me on this, I've been a developer for over 20 years and I've seen this pattern over and over and over again.

How many times have you had a user that just had to have a feature that they hardly ever use and could do it almost as efficiently manually or perhaps by reworking their work plan eliminate it altogether? More times than you care to count probably.

It's kinda like MS Word, it's got everything including the kitchen sink and they've added some really maddening stuff. Like the way the changed the default behavior of style sheets to update the normal style with changes that you make automatically so if you don't turn it off your document suddenly disintergrates right before your eyes when you change say the ruler in a descendant style and until you do turn it off the more you try to correct it the worse it gets! Who came up with that feature and why? Because some user somewhere thought it would be a good idea? It drives me, and everyone that I've ever talked to about it, absolutely mad! Changing word processors isn't the solution since Word has just about killed all of it's competition.


My advice is, keep it sparse, if you don't need it or use it once in a blue moon then don't add it.

Mac on October 18, 2007 10:28 AM

Anything with the word "Logitech" in its title. Guaranteed to also be designed for shit, as well as bloated.

Snagit. Holy fuck, snagit developers. Put down the compiler and step away from the computer. I'm all about Cropper for capping from the screen nowadays.

Also: orange.

mcgurk on October 18, 2007 10:35 AM

mplayer. Omnivorous. Plays video on anything with SVGA, 500mhz Pentium 3 and 256 mb of RAM. Nice config files. Nice CLI options. Encodes/decodes video. Can be wrapped in nice GUI for MacOS X, KDE, GNOME, Windows etc. Opensource.

BBEdit. Straitforward text editor, search and replace window built for GREP usage, minimalistic syntax hilite (I do not like angry fruit salad of TextMate and Eclipse). Universal Binary (which is, in fact, two binaries folled in single package for PPC and x86) is just 32 mb. Exists since cromagnon people riding mamoths with their old Macs.

(Total|Windows) Commander was good before they started stuffing it with graphic thumbnails and all the crap.

Evgeny Chernikov on October 18, 2007 10:44 AM

@FWHagen

"UltraEdit has been able to continuously upgrade itself without
becoming bloated or unusable. They seem to have got it right. I
can't imagine being a developer without it."

You're not serious, are you? It has a built-in IE rendering feature now. It has a built-in SSH/Telnet client now. What's really the big deal about having a browser or a SSH client open? Do it all without ever leaving your editor! It takes longer to load with each new release. No thanks. I have been a long-time fan of UE, but it's becoming the next emacs in a big hurry. I'm pretty sure Ian Mead was never a Unix type -- the "do one thing and do it well" philosophy is getting further and further removed from UE.

Then again, there's always exceptions to every rule... Emacs -- it's a great operating system, all it needs is a decent text editor.

KR on October 18, 2007 10:45 AM

"OSS software certainly seems much more resistant to spoilage based on what I've seen." -Jeff

I think one part of this may be because many of the popular OSS are developed by a smaller set of developers in their spare time. As such, they do not have a marketing and design team requiring them to implement 8 new features in record time to hit a release date, instead of implementing 2 new features and optimizing 2 existing ones and releasing whenever they feel like. They just don't have enough *funding* to spoil the software ;)

Rick Brewster on October 18, 2007 10:55 AM

Extend the bloated concept further:

Have you ever looked at source code that has been released to the market for more than a decade?

I have. And it's not pretty. New code is fresh, very easy to understand, straight-forward and obvious, etc. Old code has a lot of twisty/tricky hacks, handling of 999 corner cases, and begins to look like spaghetti-like.

Kashif Shaikh on October 18, 2007 11:00 AM

"The other source of new features are the customers themselves. A day doesn't go by without hearing one of the following lines "This program would be perfect if you only added..." or "The ??? diagram is the industry standard" or "You really need to import/export the ??? data format"." -MRW

Very true. I get tons of e-mails for Paint.NET asking for all sorts of features, changes, and file format support. Sorry, no, I will not be adding PDF or SVG support... sorry, not planning to add some kind of wizard for adding picture frame borders ... sorry, not planning to add a gallery browser (Microsoft already spent millions to write this thing called "Windows Explorer", why not just use that?), sorry, not planning to add features into Paint.NET that Vista already has (but that XP doesn't), etc. etc.

Right now I'm much more interested when I get an e-mail from someone asking "Why can't Paint.NET do X?" when X is a feature that's already there. E-mails like that are votes toward simplifying the discoverability of that feature.

Rick Brewster on October 18, 2007 11:03 AM

Jeff, keep posting! :)

Lets see drivers.

HP Photosmart B9100 series inkjet. Install options:
1) Full - 600 MB
2) Express (everything your device needs to work) - 200 MB

ATI display drivers, require .NET framework to be installed to set a few extended display options!

Ahto T. on October 18, 2007 11:07 AM

This is not a new phenomenon at all. The first article I read about this was in PC Week or Byte back in the mid 80's. I think it was Dvorak, butit could have been someone else. This was the first time I'd ever heard the term "slugs factor," and it definitely resonated with me -- even at that time, when a 10 MHz 80286 was smoking hot! Today's PCs are about 50 times faster, with multiple processors, and more RAM than hard drives had back then, and we're still talking about this same thing.

New law for consideration -- Software guys will ALWAYS be able to waste what the hardware guys provide.

To echo an earlier post - HP is THE WORST. Install a printer driver, and look at the process table some time. It's ridiculous.

JK on October 18, 2007 11:33 AM

The Google homepage hasn't spoiled, if you can consider that an application. If you can keep your interface simple then you can make the application as complicated as you like.

Justin Chase on October 18, 2007 11:45 AM

It has been commented on before, but I am a bit surprised you didn't mention Media Player Classic. It's interesting for two reasons. First off, the program is stable, and development is frozen. It hasn't been updated in the past year and a half, but noone cares because it performs its basic role of playing directshow filters correctly.

Second, and more importantly, it seems like MPC was designed with Software Spoiling in mind. It's a reaction to the spoiling of Windows Media Player.
"This multimedia DirectShow player looks like the old Windows Media Player 6.4, but has a lot more features like switching audio streams in an MP4 file."

James on October 18, 2007 11:55 AM

Some non-bloated apps in my opinion:

Ubuntu, Office 2007, .Net, Beyond Compare, TortoiseSvn

All of those get better with each release.

Daniel Lehmann on October 18, 2007 11:56 AM

> Notepad doesn't suffer from bloat :-)
> If you are tired of winamp bloat, just buy a new fridge.
> Emacs -- it's a great operating system, all it needs is a decent text editor.
> Snagit. Holy fuck, snagit developers. Put down the compiler and step away from the computer.

It's funny because it's ALL true.

> 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.

An interesting observation. It does seem that the commercialization of software presents some inherent problems, and one of those problems is definitely manifested in the bloat/spoilage over time.

> the future of software is specialized apps.

I think there's some truth here as well. If most apps become web apps, then distribution is no longer a problem, and this opens the door to the "long tail" of highly specialized applications.. maybe the "do everything" suite is no longer necessary?

> Software guys will ALWAYS be able to waste what the hardware guys provide.

Yes, but there are some bits of software that manage to waste that hardware power in USEFUL ways over their lifetime. Most don't. How do you walk this line? It sounds like a robust plugin ecosystem is the right way for most apps.

Jeff Atwood on October 18, 2007 12:02 PM

check Manny Lehman's laws of software evolution.....30 years old and still true
http://en.wikipedia.org/wiki/Manny_M_Lehman

henri on October 18, 2007 12:05 PM

I can't believe no one mentioned the poster child for software bloat: Quicken. This one useful program is now so bloated you can't do anything without 36 screen refreshes. And I'm caught in the endless cycle of buying a new version hoping they FIXED the damn thig, only to sink further into the abyss. I think it peaked 10 years ago.

Jeffrey Odell on October 18, 2007 12:06 PM

RE: Lett's Law - maybe an updated version should be: all programs evolve until they're a social network..
http://online.wsj.com/article/SB119266491901362735.html

id on October 18, 2007 12:07 PM

If you're looking for a decent text editor, Crimson Editor is the only one you'll ever need.

kevin on October 18, 2007 12:09 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 October 18, 2007 12:34 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 October 18, 2007 12:40 PM

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.

guven on October 18, 2007 1:02 PM

Some new candidates for laws :)

The time an application needs to load doubles every version.

The size of an application's minimal install doubles every version.

The number of unused features in a product doubles every version.

The number of clones of a product doubles every version.

Chaim on October 18, 2007 1:10 PM

not all software die with new features. Feature creep seem a synonym for bloat, but I've met two full-featured softwares that run slimmer, often better than other counterparts.

a) Opera. While I love firefox and its extensions, Opera still has tons of good features, and runs much smoother. Only problem are the pages that don't load correctly (whose fault is it though?).

b) MediaMonkey. So far, it's beat iTunes on (almost) every front, speed and control most importantly. Speed is essential to my 120Go mp3 collection, and control, it's more a matter of taste, but it doesn't do things without me asking the program to do them. It could use some help on cleaner, simpler menus... I guess the freedom from a big computer company behind it has left off the grip of propriatery corruption.

Also good: notepad++ (any structured edition), vim (console edition), and command line tools (the unix/linux ones.... never got a hold of those on windows cause the console access has been terribly neglected by microsoft.)

Marc-O on October 18, 2007 1:12 PM

Want a lightweight MP3 player that works just fine?

1by1 is a 65K executable

http://mpesch3.de1.cc/1by1.html

Michael Rainey on October 18, 2007 1:14 PM

I'll go along with FWHagen and steffenj and offer UltraEdit as a good example of a program that has certainly grown over time in terms of features, but the speed and size have stayed under control.

They've branched out with some other separate products like (suite, sentry, compare), but at the core the editor itself is still very solid.

Brian Cantoni on October 18, 2007 1:41 PM

Not to mention grep. I mean c'mon, grep 2.0 125Kb TARred. greap 2.5 668Kb TARred?!?!??!?!11 Where the heck is all that bloat coming from? What, now it supports --label and --only WHO CARES. "Users want those new features.". Tell that to my floppy disk man.

It's ludicrous to see what some programmers will try to get away with if you let them.

Scott on October 18, 2007 2:22 PM

Opera browser hasn't spoiled over the years. In fact it got better.

I, too, think a good plugin system is the only way (today) to avoid bloating like this.

Andrei Rinea on October 18, 2007 2:29 PM

@Michael G.R.
> Anybody has some good alternatives to ACDsee?

IrfanView
XnView
FastStone

d0011 on October 18, 2007 2:29 PM

Interesting to read all this, especially the comments about open source. I use an open source application every day for professional work, and it has nothing I would call bloat in spite of a very long and growing feature list. Blender. The user interface is so non-standard that the program is hard to learn, but once learned it is a dream to use, so they can keep it that way as far as I am concerned. Because it is for 3D modelling, animation and rendering and for visual effects it needs a lot of features, but it stands up remarkably well in the face of competition. I've been using 3D Studio Max while studying with some experienced professionals, and for what I do at home Blender is easier to use, far easier. Blender loads in a fraction of the time and yet has all the features I need for my 3D graphics modelling work.

And of course some open source software is crap; most of it probably. This also applies to commercial software too, that's why most new software companies last less than eighteen months. Just because you have an idea for some software doesn't mean the idea is any good, and even if the idea is brilliant, you might have ambitions much bigger than you or your programming team can manage to code properly.

Fire Angel on October 18, 2007 2:40 PM

Wow, have to agree on so many levels. I use WinAmp 3 light, ACDSee 2.2 and JASC Paint Shop Pro 7.0. If it ain't broken, don't fix it.

Casper Bang on October 18, 2007 2:47 PM

This is why I'm so glad notepad has never changed. Even DOS windows started to get cleverer to keep up with the cut-n-paste revolution, but if you just want to scribble, then Notepad.exe will always be available, no matter what version of windows you're using, no matter whose computer you're on (as long as it's a PC).

Reminds of a more simple life...

Neil Barnwell on October 18, 2007 2:58 PM

Although, to be fair, I did like it when notepad got the CTRL+S shortcut for saving post-NT...

Neil Barnwell on October 18, 2007 3:00 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 October 18, 2007 3:01 PM

Some software remains good because it supports the developer's business, but it is boring to them—they make it keep working for you without having to write press releases about it.

Apple's TextEdit in OS X is the first word processor with formatting that I really like since MS Word 4.1, I think. Basic text formatting, powerful typography and a ruler, the standard OS spellchecker. Reads and writes .rtf and .doc, and they are about to add OpenDocument and Word 2007, hopefully the basic interface stays simple.

Apple's Image Capture works just fine with any scanner, without being craptacular in a dozen different ways like every singe scanner manufacturers' Mac software.

Let's hear it for boring software!

In the tools of the trade category, I switched from Anarchie FTP years ago when it was becoming the kitchen sink to Panic's Transmit, which still looks the same and works great. The newer tabbed interface actually lets me multitask projects without clutter.

BBEdit is a bit like command-line software: they've added a lot, but it stays out of the way. Almost everything has remained fast.

Michael Z. on October 18, 2007 3:23 PM

>OK, then is all commercial software doomed to crush itself under feature creep eventually?

In a word: yes. But not just commercial software - open source software as well. In pre-internet days, new versions primarily consisted of bug fixes, algorithm improvements, and UI modifications with a few new (and typically useful) features thrown in for good measure.

Along came the internet, and someone somewhere had the (good) idea to offer bug fixes and updates to customers for free. Only afterwards did they realize that this reduced the substantial changes between versions (and thus the reason for the customers to upgrade). To combat this, you have the feature creep.

The underlying problem is the reproducibility of software. When an engineer designs a bridge, he designs it to the best of his ability and then he's done. He stops active development on that bridge and goes on to design the next one. That engineer can make a career out of designing the same bridge over and over again. In the software world, if you stop developing you're out of a job but your software lives on and continues to sell.

The same thing happens with most open source software only at a much slower rate because open source software development tends to be slower than commercial software.

Essentially, until developers (and their managers) learn how to say "okay, this application is done" this trend will continue.

That's my $0.02 anyway.

blake on October 18, 2007 3:44 PM

@Jeffrey Odell

I completely agree with you. I stopped upgrading to new versions of Quicken in 2000. At that point, it did everything I wanted it to do, and it did it well. I can't imagine what Intuit has been doing to Quicken over the last 7 years (man, that's a lot of development effort!), but I know I don't need any of it.

Martin Cooper on October 18, 2007 3:49 PM

I dig Notepad++, Paint.NET, FileZilla... If I think of more un-bloated apps, I'll post them.

Steven Rogers on October 18, 2007 3:56 PM

@Daniel Lehmann

Ubuntu?!?

Are you kidding?

Any Linux distribution that installs KDE or Gnome by default is by definition bloated. Then add in all the daemons for PnP and all that imitation-windows garbage...

Give me fvwm or give me death!

Alex Chamberlain on October 18, 2007 4:07 PM

Most Windows apps, including Windows, expand to fill the available CPU, memory, HD space.

Windows OSes have done more to promote hardware upgrade cycles than we realize. Hardware manufacturers would be nowhere without Windows bloat.

Steve on October 18, 2007 4:11 PM

I think ACDSee and NERO are the worst.

ACDSee used to be so fast, that's why I used now, it is just sucks. Image editing tools, etc.

Nero has to take the cake though for worst feature. A recent version included...A VOIP client. I've been requesting that for years for my burner software.

I think it stems from a problem of commercial software in general and how your typical company hiring typical developers operate. I firmly believe that a small team of developers can really build great software (great = efficient, and valuable).

Without sounding cliche' Have the problem that Microsoft faces with their bloatware is because they do listen to every person on the planet. The most destructive feature is "help microsoft track how you use your program anonymously".

To me, no respectable power-user ever turns this on. Just your typical low-end user. So what do you get. Software build by survey that has silly features in it that no advanced user really enjoys.

But then again, it's quite common for the Windows 'ecosystem', by definition it caters to the the common denominator.

Done ranting...

Webview on October 18, 2007 6:19 PM

I don't know if anyone mentioned it, I only skimmed the comments, but a related annoyance is programs that lock out old versions, or force the upgrade. I always wait as long as possible to upgrade but recently I've been "forced" to give up functioning versions of MSN, Yahoo messenger, Hotmail, Yahoo mail, yahoo photos and probably others. Trading them in for bulkier and buggier versions in most cases.

Toby on October 18, 2007 6:51 PM

Emacs

'nuff said.

Sam on October 18, 2007 9:35 PM

Michael G.R >> You want a lean image viewer?

Try irfanview. Great little program. Views images quite reliably, and provides you with options to do basic manipulations, batch file processing (convert to different format, resize, etc), and various other things. But VERY small and quite portable. Just don't let it take over your video preferances.

Rah on October 18, 2007 9:36 PM

This is so true, it's sooo annoying when programs have totally useless features. Acdsee ruined it when they started supporting videos, same way did go Winamp.
Why doesn't programs do what they are designed to do, and only that. Every program doesn't have to be a huge multimedia application.

Case on October 18, 2007 11:34 PM

Not really a program, but the upgrade from Windows XP to Windows Vista is horrible. Windows Vista sucks.

future3003 on October 18, 2007 11:57 PM

Holy crap. I decided to upgrade Winamp, which I haven't done in a couple months, and what a weird coincidence. Winamp has a new interface, which has become the textbook bloatware. It now has ads in it, and it's own web browser...what a sad day.
I'm so glad, though, that it still gives the option to keep it classic.

Matt on October 19, 2007 12:14 AM

NERO has become the piece of crap software that no one wants. The only thing I want from Nero is the burning ROM.

I don't like how software companies try and make their software do everything.

I want a different program for each of these:
videos
music
documents, i.e. txt and doc files
TV
pictures
internet

And that's how I like it. Who told these guys that they should include these "features" into our programs?

Matt on October 19, 2007 12:21 AM

>It has been commented on before, but I am a bit surprised you didn't mention
>Media Player Classic.

I find MPC incredibly frustrating because it can't seem to retain settings from one file to the next. Having to navigate down to the directory a file's in, set the zoom factor, and a pile of other things, for *every single file played*, gets old really fast. WMP using the "Classic" skin at least gets that right.

>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.

+ 1. I do usability design for a living, and whenever I want to provide an example of an atrocious UI feature I don't have to look further than OSS apps. I'm sorry, I really like the OSS philosophy, but most times the user interface is dreadful. For most of the apps I use I go for commercial versions (often shareware, but still commercial) principally because the UI doesn't suck.

>Anybody has some good alternatives to ACDsee?

XnView is quite nice.

>I think ACDSee and NERO are the worst.

Definitely, for Nero. There's a very long thread over on Neowin discussing Nero replacements, luckily there's some pretty good stuff out there that does what pre-bloat-explosion Nero did.

Oh yes, for Acrobat users there's a freeware app somewhere that takes a default Acrobat install and strips it down to what the pre-bloat-explosion version was, around version 4 (but with full functionality). It's amazing seeing it load almost instantly with all the crap stripped out, there's no noticeable loss in functionality but it's a fraction of the size. Sorry, can't remember the name at the moment, something with "Acrobat" and "Light" or "Lite" in the title I think.

Dave on October 19, 2007 2:25 AM

Old time developers used to seek the maximum performance and the smaller resources footprint.
Hand optimized code, "real" natively compiled executables, assembly code in parts are just some of the technics nobody use today.
Today, most developers don't want to get dirty. Coding using bloated VM, crappy interpreted or pseudocompiled languages and huge libraries don't help to create really minimalistic and fast apps.

Athan on October 19, 2007 3:17 AM

these comments

Joe Beam on October 19, 2007 6:12 AM

Jeff,
You hit it right on the head when you targeted Paint Shop Pro - this used to be one of my favorite apps to use.

What about Media Player? I think Microsoft is just as guilty at this as everyone else.

Dave on October 19, 2007 7:15 AM

Textpad. I think the reason is company problems. I thought for a long time that Helios had gone completely out of business.

Brad on October 19, 2007 8:02 AM

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 October 19, 2007 8:08 AM

Foxit is my favorite reader since the time it is released. I had a very slow connection, so as you specified it was difficult for me to download a reader which is of15-20 MB. Foxit is really handy and much lightweighted.

Sarath on October 19, 2007 8:26 AM

"If you're looking for a decent text editor, Crimson Editor is the only one you'll ever need."

Ditto. And the developer has abandoned it, so it'll never get any new features either. Although there is a project aimed at duplicating and replacing Crimson (Emerald Editor). They also have the source to the last release of Crimson and plan on making bug fixes.

BA on October 19, 2007 8:44 AM

The biggest reason I see bloating in an application is when someone else buys the company and push out those who put in the original killer app. The new owners do not have the same vision that the original team had. Because of this, they can't keep the ball rolling the same way.

GeneralSQL on October 19, 2007 9:13 AM

Those photographs of Hyalophora cecropia (never heard of 'em before reading this posting) are stunning. I was going to ask where you found them, but decided to do the detective work myself. In case anyone else is curious about those photos, they appear to be from here--
* http://www.treklens.com/gallery/North_America/United_States/pho42849.htmto1
* http://www.flickr.com/photos/unpredicable/189434979/

dh on October 19, 2007 10:05 AM

One comment that no one seems to be addressing:

A software developers use of abstractions for less coding using huge libraries contributes to the code bloat.

For instance, if you want to create a quick and dirty .NET application, as someone pointed out with ATI drivers, you need to install the whole .NET framework.

Or if you wanted to create a simple python application -- great. But for everyone else, that means deployment of the python run-time.

And as time progresses developer's are always going to be attracted to massive frameworks, libraries, and runtimes. All it means for us, is that it results in more memory hogging, bloatware, etc.

Finally we developers ourselves always want to put all common/shared code into a single library. When that is done, if you need an application that only needs a function or two from that library, the application needs to deploy the whole library. Of course, the OS can be smart to demand-load only the necessary pages of that library, but it more stress on the OS VM layer.

Kashif Shaikh on October 19, 2007 10:32 AM

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 October 19, 2007 11:33 AM

As has been mentioned, features are added to sell and make money. Marketdroids drive adding new features, and since in most companies they generate the revenue, they have the control. I've fought over stupid additions (although nothing to compare with NERO with VOIP???), but in the end I still need a paycheck.

Another annoyance of upgrading is that features I did use no longer work. In Visual Studio 6 I had a set of macros to do a project setup that took 30 minutes manually in ten seconds. Along comes VS 2003, and the macros don't work.

Web apps are ok, but I've forgotten so many user ids and passwords that I tend to avoid them. Apps like Gorilla help, but only if I save info there.

Tim on October 19, 2007 12:03 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 October 19, 2007 12:20 PM

An application that hasn't gone down the bloated path? I'm hard pressed.

Probably Irfanview and possibly KDE, which, despite being chock-full of features, it still feels quite right to me and its speed has actually improved over time.

Fogbank on October 19, 2007 1:13 PM

I think the answer to 'why' is not in the long term evolution, but in the nature of the small steps.

At each stage, decisions have to be made about what to add to the software. That's fine as far as it goes. Any released piece of software leaves behind a few engineers saying "It would be so much better for people if I just had time to implement X. Oh, well, there's always the next version." I don't think that attitude is a bad thing.

The real problem is the decision about what to *remove* from the next version. The answer is always, and can only ever be, "nothing." If the software is at all widely used, if there is any kind of ecosystem of supporting applications, then anything you remove is going to break a lot of things for a lot of people. Some will be inconvenienced, some will lose money, and they will all complain. This costs a lot of money and good will.

I think the only solution is to generate new slim products on a regular basis. A good example of this is Photoshop and LightRoom. In 10 years, I'm sure that LightRoom will be bloated and impossible to change, just as Photoshop is today.

rselph on October 19, 2007 1:55 PM

I'm kind of surprised you haven't said much about code at GRC.com.

This guy wrote Windows programs in Assembler that are <100K.

Steve on October 19, 2007 2:56 PM

As a software developer I pay my bills by programming in .Net. That means that if I write a 100k executable that uses 10% of the functions in .Net, and my user does not have .Net installed on their machines, I still have to install all 100% of the 20+ Meg. platform.

I know what you'll say: Most PCs already have .Net installed as part of the OS. Really? Which version? 1.1, 2.0 or the new 3.5 coming soon?

If I develop using the new 3.5 version guess what? I have to install that runtime on the user's machine. All 100% of it even if I only use 10% of its code. How big is it? 33 Meg.

When I program for managers that understand software development and aren't swayed by the shiny lights, I program in PureBasic (www.purebasic.com and http://www.purebasic.fr/english/index.php) which is a compiler(s) for Win/Mac/Linux that compiles into true .Exe's which need NO runtime. Oh and the cost is $99 for life-time upgrades in ALL versions. How's that for an indie programming language?! Read more here: http://en.wikipedia.org/wiki/PureBasic

Devildog on October 19, 2007 3:05 PM

For a PDF reader, I recommend Sumatra PDF: http://blog.kowalczyk.info/software/sumatrapdf/ which is even smaller than FoxIt (803kB d/l).

For a CD burner app, I recommend cdrtfe: http://cdrtfe.sourceforge.net/cdrtfe/index_en.html (1417kB d/l)

And if you want a really small OS, try FreeDOS: http://www.freedos.org/ if you install the ripcord distribution to your hard disk, you could boot in well under a second: http://www.fdos.org/bootdisks/

freemips on October 19, 2007 3:32 PM

I've never liked ACDSee, and don't get why people like it too. IrfanView has been saved from this "spoiling" you described and kept to itself.

Try it if you haven't, I've been using it since 1996.

John Lawson on October 19, 2007 3:41 PM

My approach is to not upgrade - I managed to get a refund on PSP12 (partly because the "license" was objectionable). I'm using PSP9, ACDSee 3 (which doesn't save its settings any more under XP but still works better than FastStone view viewing jpegs). Plus 7-zip and foobar2000 for playing music (it handles large playlists and searches them well). For things that get really desperate I use virtual machines. My slide scanner, for example, cannot install under XP for some reason, but it's fine in a Win95 VM. Since it's a Canon POS driver screw-up anyway that is actually a fine - some of the new Canon stuff won't install in a VM but still requires a c:\canoscan directory to live in and has other flaws too.

Why upgrade if what you're getting is not actually better?

Moz on October 19, 2007 4:14 PM

I have used MS Office '97 (since 1997, ha ha). In my opinion the best version. Only the new machine with Vista on it forced me to go sideways to OpenOffice.org, which isn't too bad by the way, but is getting bloated as someone above (below?) mentioned. The new Office prices are insane.

Armando on October 19, 2007 4:43 PM

With respect to rselph, who makes a critical point, that part of what contributes to feature bloat is existing users clutching pet features with a death-grip: here's a suggestion that might help to keep this under control. Discipline. Figure out the ideal number of feature points (measured however you like, scored however you like), and once your product reaches that number, any new feature has to crowd an existing feature out of the product. I think it would tend to lead to better features; developers would look for ways to consolidate features down to make room for new ones, and that would lead to conceptual abstractions that make software more powerful.

Carl Manaster on October 19, 2007 5:47 PM

"re: 7-zip; there's one thing I'm missing, and that's shift-clicking to drag the files literally out of the archive so the original file goes *poof* and you're left with only the contents. WinRAR does this, 7-zip does not. Or is this implemented in a newer version?"

The cool things you learn from this blog.

@steffenj,
There's a new plugin interface to virtualdub, allowing it to open wmv, mpeg2, and later other formats. Since the author has never been interested in anything other than perfecting avi, this will help with the recent proliferation of formats, and it's healthier than putting it in the core anyway.

@Thomas,
guliverkli2 just builds the old MPC with newer versions of libraries, which home cinema adds EVR renderer, better Vista support, x64 support, support for new HD formats, and a lot of internal bug fixes. (See http://tibrium.neuf.fr/) The forkers are completely uninterested in trying to take the project in a direction it was never meant to go, so it's a worthwhile update.

I work on ffdshow from time to time, and open source is not immune at all, heh.

I think XnView could handle much of what it tries to do with a better interface, the last facelift really helped, but some vocal users would rather push in new features without regard to how well they fit. It just requires a bit more "what does paint.net do, what does x do, etc, that we do but worse, and should we improve, integrate, or kill them" deliberation. But no features are ever really axed, which is the root of all bloat. =\

Foxyshadis on October 19, 2007 7:32 PM

>For a PDF reader, I recommend Sumatra PDF

Sumatra looks very promising, but unfortunately at the moment it's still at about the 0.8 stage of completion, the most notable thing missing being text search. Ironically this is one of Foxit's weakest points, the text search is rather slow and sometimes doesn't work at all. It's worth keeping an eye on though, definitely a worthwhile competitor to Foxit.

>With respect to rselph, who makes a critical point, that part of what
>contributes to feature bloat is existing users clutching pet features with a
>death-grip: here's a suggestion that might help to keep this under control.

I think what users clutch at isn't the features themselves, but the belief in the features. If you ask a bunch of users "Should I drop X", most will claim they need X every day. If you quietly drop X and wait for complaints, you won't get any (and if you do get one or two, you can claim it's a bug and will be fixed in an update. Then wait a few months and see if anyone still complains). We've managed to get rid of quite a lot of legacy junk in our code through this method... I shudder to think at some of the prehistoric functionality we'd still have to support if we didn't do this.

Dave on October 19, 2007 10:53 PM

I was just reading another forum and a post there reminded me of the applet-developers answer to the Nero bloat effect: Everest, a PC temperature/voltage/fan-monitoring program. Microsoft Word, a full-blown word processor, consumes (on my PC) just over 8MB of memory. Everest, a program to display your CPU temperature in the system tray, consumes between 15 and 20MB of memory (!!!). What's worse, the developer has stated in response to repeated requests to produce a cut-down version that he doesn't consider this excessive. The depressing thing about Everest is that there's no alternative, things like Speedfan and MBM don't even come close...

Dave on October 20, 2007 12:34 AM

Lately I don't hear about Wintel.
There was a time when we started to suspect that software (and os's) were trying to convince us that we *always* need to upgrade our hardware. Bloated software, by chance, brings us silently a thought to our minds: "My computer is too slow...". And hardware industry is probably happy with these thoughts.
Is there an intention, or is only coincidence? I hope it's the latter.
May be a majority of us like big bloated things. Seems like if the bigger, the better. In Spain we say: "Get a big donkey, don't care about it walks or not". If its big, then for sure it's good, isn't it?. Must be primitive instinct, as when our common sense says: "Expensive things ar always good things".
Industry knows how to ride our minds and reach our pockets.

oscar on October 20, 2007 9:22 AM

Paint Shop Pro stayed as version 7 on my system. I just could not see a reason to upgrade (particularly given my limited graphical skill!)

However, for the monster of bloatware and feature-ware, Microsoft Word and Excel are hard to beat. The latest versions are seen as appalling by most people that I speak to. The new toolbar is very clever but for some reason just takes up more screen 'real estate' and actually hides many useful functions.

BlackWasp on October 20, 2007 12:20 PM

Just want to drop a more general comment. Several years ago, I was listening to a talk about software metrics, when I heard about "entropy of software". Sine then I believe there is one and it is something you must care about.

Given a minimal entropy at design time, we observe an increase in entropy with time, because of changes due to business needs, market changes, cognition, hardware improvements, social habit changes and many other exogenic factors and that is where the need of a continous re-design comes from. It is something you must do, in order to get the application back to its original entropy of design or idealy to a lower entropy, assuming that we permanently learn and improve the our mental models.

Lothar on October 21, 2007 2:21 AM

The software bloat epidemic in three words: Catalyst Control Center.

Mikey on October 21, 2007 3:12 AM

Total Commander (formerly Windows Commander). For three major versions as of now, and that's at least 4 years back, it remained a nimble and feature-endowed file manager.

However, over 7 years since Unicode has been introduced -- the proper support for it is still missing in TC, and that is my only major gripe with it.

MaxVT on October 21, 2007 9:52 PM

Another example is Photoshop, which has steadily gone downhill since 3.0. Fortunately, there's Pixelmator now (at least for Mac users).

LKM on October 22, 2007 4:11 AM

I just read the article. Funnily enough, the complaint about all three Apple apps is that they took features away, not that they added too many new features. The prime example for this is iMovie '08, which is actually a totally new, simplified version of iMovie. So not only do people complain when too many new features are added, they also complain when companies try to fix that complaint :-)

LKM on October 22, 2007 4:13 AM

don't forget software spoils because for profit companies stop supporting it, in one way or another, sometimes that means changing the technology to force it to fail

shane on October 22, 2007 6:07 AM

What I hate is that in using Gentoo Linux, I can't use XMMS anymore - and all other players suck in playing MP3's. VLC is a perfect video player, but it's playlist capabilities are teh suck, and most MP3 players have become playlist managers / music servers / bloatware. XMMS is no more in the gentoo portage tree, because it is "surpassed" by other apps. Yet I want XMMS! (yes, I know I can install it using CMMI - been to lazy to do so)

Tijmen

IIVQ on October 22, 2007 7:59 AM

Yup, PSP - bang on. I just upgraded from 10 to 12 for Vista support - and now it's larger, more intrusive, slower, and charcoal coloured. Great.

What ever happened to software that just does what it says on the tin? Or just installs what it says on the tin? Why does every second application seem to want to install Google Toolbar for me?

Andy Burns on October 22, 2007 9:16 AM

I don't mind new features being added to programs; sometimes they'll add something that I didn't even know I needed until it was available in the program.

What I really mind is not being able to decide (in some sort of configuration screen) what features I want and which ones I don't want to see on the interface, menu, etc. And I don't mean disabled; I mean not visible. I want to be able to not only decide what appears on a menu, I want to be able to create my own, containing the functions that I use. That way, if I'm only using 5 of the features, they'd be sitting on one menu (not scattered in 1's and 2's across the original menus).

I wouldn't mind being able to move things around on the interface to suit me, too. Being able to drag controls up to fill in gaps created by non-selected functions in order to reduce its desktop footprint would make me smile.

I don't program using compiled languages, so maybe this isn't possible to do. But it once was possible, because I've worked on apps in the '80's that did just that.

Rob on October 22, 2007 12:11 PM

Pov-Ray (Persistance of Vision - Ray Tracer) is keeping to minimal bloat. There is a lot in the way of add on pieces or other applications that can work with it, but the engine is solid. If you want the fluff, you have to put it there yourself.

GeneralSQL on October 22, 2007 1:49 PM

Still use Money 98, it has its limitations and its bugs but I can do what I want and do it quickly. PSP v3.12 vs PSP v7 is a tough call - I use both, but PSP v11 hit the bin after 60 days ran out!

Have you noticed how all of the latest software now requires more and more use of the mouse? Haven't software vendors heard of RSI? Also, using the mouse is so slow compared to using a keyboard. Thank God (not MS) for the Office 2k3 keyboard shortcuts in Office 2k7.

You mention resources, what about CPU usage and hard disk activity. I have a 20k (60GB+) photo library on my laptop and whenever the screen saver kicks in ("blank" only) the hard disk activity and CPU usage goes through the roof with Windows Photo Gallery running in Vista. What the ???? is it doing? It can't possibly be spending months indexing the same (none changing) photos. And what's all of the "thumbcache_??.db" files about - let's see how quickly we can fill a hard disk with ????

Finally for Vista, have you seen the minimum hard disk space requirements for Vista SP1 - MS are you kidding??

Marcus on October 22, 2007 2:02 PM

I was using Winamp 2.95, but had to upgrade to the newer versions because of a memory leak that occurred when I was using a 3rd-party global hotkeys plugin.

I am using the 5.x Lite version at the moment, with a classic skin. The memory usage is slightly higher than that of the 2.95 version. The delta is acceptable; first of all, there is a native hotkeys plugin, and nowadays I use several other plugins that increase memory usage (last.fm, CUE file parser).

In my case Winamp uses 2.5 MB when playing an mp3 in the background, and that's a pretty good result. YMMV, but if the delta is huge, I'd turn of useless plugins and features (especially modern skins).

Alex Railean on October 23, 2007 5:37 AM

It's the business model.

If we rented software then there'd be a steady revenue stream for developers, and a lesser feature incentive.

Since we buy software (sort of) developers have perverse incentives. They have to "break" the prior version by not maintaining it, introducing new file formats, and they have to add features to hide the fact that the updates are driven by vandalism, not value.

Of course software rental completely screws customers unless the file/data formats are completely public and interoperability is assured. I'm sure customers will realize how important that is.

Thirty years from now.

John Faughnan on October 24, 2007 8:27 AM

I'm surprised and happy that ACDSEE comes up here and in PC World, I didn't know many people were aware of it.

I loved the app! I had the office buy ACDSEE "Classic", which was available at the time, after trying the new one. Some auto-update did change my UI to some awful thing full of tabs and icons and I lost where the JPeg rotate is now. In any case, that app really went to hell and become just another bloated image browser, instead of the cool efficient one that sold me in the begining.

I'm still using Winamp 2.7

Is Windows Live Messenger really bloated? Doesn't seem like it here.. I just find they were really stupid to drop 'msn' because like 'google', 'msn' is so popular it has becomed A VERB! God, these idiots haven't realized the strong brand they had there. What's the point of calling this "Windows Live"


ulric on October 24, 2007 1:18 PM

Instead of winamp, foobar2000.

Instead of winzip, 7-zip (really functional file manager as well).

Instead of nero, infrarecorder (truly a gem!).

Jonas on October 25, 2007 12:10 PM

Success begets failure.

When a product becomes successful, you can afford to hire more people. The more people you have working 40+ hours a week on something, the more bloat you're going to have. You'll also have more decisions made by committee rather than someone with a vision for the product.

If you have version 8 or above, hang around in the About box for a while. For earlier versions, Google "Paint Shop Pro" "Easter Egg" and follow the instructions. Count the number of names you see.

Former PSP dev on October 26, 2007 12:55 PM

I still use Windows Notepad for quick editing/viewing of text files.

As a couple of people mentioned, the core functionality hasn't changed in over a decade. IMO, the only noticeable changes (circa Windows 2000) have been for the better:

1) Ctrl-S for saving the file
2) Status bar with current line number (off by default -- word wrap must be off for this feature to work properly; this may be an new feature with XP instead of Win2K -- I don't remember any more)

Without these two features, I would probably have stopped using Notepad about six years ago.

Kenneth Love on October 26, 2007 2:56 PM

The size and slowness of programs grows exponentially because in nearly every program you write you combine at least two programs/libraries from the last 5 years.

It leads into exponential program size and exponential slowness as we go forward in time.

Now you can call me clever ;)

Dramenbnejs on October 31, 2007 7:05 AM

I think applications sometimes lose their sweet spot. We then have to find a way to make the jump to a different sweet spot, or maybe abandon ship.
http://porcprint.blogspot.com/2007/11/software-and-great-gazoo-effect.html

Brandon on November 5, 2007 9:42 AM

I definitely find 'feature creep' to be one the most annoying aspects of software development. Apple's recent overhaul of iMovie is, in my mind, the best example of such.

I also feel that Facebook is doing the same thing - focusing too much on other, less important features. Instead of stupid applications to clutter up your profile, why not focus on better displaying pictures and making some sort of live Wall chat application - logical progressions of two of Facebook's killer (and original) features.

Dan Romero on November 5, 2007 10:20 AM

Some developers at Adobe thinks this way...
Have a look at the post from John Nack about how old (bloated) Photoshop is and what can be done to improve the situation.

Definitely worth reading:
http://blogs.adobe.com/jnack/2007/11/photoshop_as_se.html

aranud on November 9, 2007 12:17 AM

Very true! Have you seen the sizes of CD writing applications?!

The size of the latest versions two best cd writing software in the market -
Nero: 178 MB
Roxio Easy Media creator: 771 MB ?!! (wtf)

This link shows the how nero has bloated in the last 3 major releases
http://www.oldversion.com/program.php?n=nero

CDBurnerXP is a nice open source version, but crashes quite frequently on my XP laptop. It would be nice to have something with paint.net's quality, and let me do some basic CD writing.

Shivanand on November 9, 2007 9:53 AM

aranud, thank you for that great link on Photoshop bloat from Adobe staff! Two more related posts from Mr. Nack:

http://blogs.adobe.com/jnack/2006/12/simplicity_vs_power.html
http://blogs.adobe.com/jnack/2005/10/psst--wanna_see.html

Jeff Atwood on November 9, 2007 2:05 PM

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 PM

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

Rak on June 18, 2008 5: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 4:17 PM






(no HTML)


Verification (needed to reduce spam):


Content (c) 2009 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.