Why Does Software Spoil?

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.

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

“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 :wink:

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.

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

Jeff, keep posting! :slight_smile:

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!

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.

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.

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.

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

Some non-bloated apps in my opinion:

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

All of those get better with each release.

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

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.

Notepad doesn’t suffer from bloat :slight_smile:
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.

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

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.

http://online.wsj.com/article/SB119266491901362735.html

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

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.

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.