Software’s Obesity Epidemic

So I’m trying to streamline my software life today and one of my pass-times is to fish around and listen to new music before it "graduates" into the hyper-organized world of iTunes. My need was simple: a lean, low-overhead MP3 player that can load in a snap and not be in my way or slow my system down. I fished around a lot and couldn’t really find anything to my liking.

Then I thought about Winamp. For those old enough to remember, Winamp set the bar years ago for media players way back when MP3 had come into our lives. It was small, fast and completely badass. It did what it was designed to do beautifully. Here’s a snapshot of what Winamp looked like for years:

oldWinamp

Nothing crazy. A media player. Shuffle. Playlist support. Worked just fine. So I decide to go to Winamp.com to grab it. Well, it turns out Winamp has grown up a lot since version 2.0 (pictured above). The new version has all kinds of features and a "Pro" edition with even more features. But in looking for something lean, Winamp’s svelte physique was no more. In fact, he’d gained a lot of weight:

 

winamp

The above is a chart of Winamp’s installer file size as it has evolved from version 1.0 through today’s version 5.5. The bars represent kilobytes. Version 1.5 of Winamp comes in around 350kb in size. The current version nears 9MB (or 9000kb) nearly twenty five times the size.

Now I know, there are all sorts of new features in Winamp 5.5 that are missing in 1.5. And some of them may be worth a boost in size. Let’s say version 5.5 is, oh I dunno, five times better (a tall order if you ask me). That still doesn’t warrant a 25X increase in installer size…which will translate into a larger memory footprint, a greater demand for CPU cycles, and so on.

The unmitigated piling on of features is an evil thing. It’s like a Chinese all-you-can-eat buffet. Yeh, its great to be able to eat as much as you want for one low price. The problem is your stomach is only so large and you start feeling gross after awhile. When I wear my product manager hat, I like to follow one particular rule: before adding a new feature, weigh its benefit against its cost. It’s cost in terms of complexity, dilution of the broader value of your product, its performance impact on your product and…is it adding to the overwhelmed (gross?) feeling of using unnecessarily bloated software.

Digging around, I was able to find a huge list of all the old versions of Winamp on oldversions.com. I grabbed version 2.0. It has the one feature the newer versions don’t: it’s slim and fast and loads in a split second. And yes, it actually feels good to use something so lean and efficient.

8 Comments Software’s Obesity Epidemic

  1. Hamish M

    Quite true, Winamp has gained some serious weight over the years. Though, they still offer a lite version, albeit almost completely hidden:
    http://www.winamp.com/player
    (bottom of page > Winamp International Downloads >English > Lite)
    It’s basically the latest Winamp core without all the fancy fluff.
    But if you’re looking for another nice lightweight mp3 player, I find foobar2000 works very well.

    Reply
  2. John Dowdell

    I agree with your observations, and understand your conclusion, but I wonder if the picture may be even bigger.
    Some people argue “Memory and broadband are cheap, so size doesn’t matter as much”, and there’s definitely some validity to that argument. On the other hand we’ve got mobile and embedded and fast-start user experiences as arguments to the contrary. “The best filesize” is a contentious topic, and varies with the speaker’s needs.
    But for the evolution of a particular piece of software, a lot seems to depend on the creator’s need for satisfying user needs. Someone who wants repeated customer contacts (whether for upgrade fees, website ads, or just personal desire) will want to give customers the features they ask for. Attempts to satisfy these needs lead to increases in application filesize.
    You could keep filesize constant by not adding features. In some cases it’s possible to keep filesize constant while adding features by adding ongoing optimization, but filesize will still eventually creep up.
    When people ask, when should you say no…?
    jd/adobe
    PS: If using a back version of WinAMP, have you checked for recent security fixes against that generation, or outstanding exploits? Some old stuff is safe.

    Reply
  3. Richard Leggett

    Something else to consider is that UI’s are now very graphic heavy so that they can liquid layout on very high-resolution displays, in many small applications the bitmaps the app uses can easily outweigh the rest of the program files. Not sure whether winamp suffers from this but being highly skinnable they are using PNG bitmaps over vectors and that should bloat filesize and RAM usage over using more CPU.

    Reply
  4. Mike Bravo

    I have to agree with #1 about foobar2000. It’s EXTREMELY light, fast, and if you are really into quality, they have some neat Kernel and ASIO drivers that you can download…
    I recommend it whole heartedly… not to mention it’s open source.

    Reply
  5. Jason Belanger

    i remember a great web based mp3 player from a while back called the ‘juke’ … now that thing was great … wonder what ever happened to that thing … any ideas, rich? … :-)

    Reply
  6. Yaron

    You may also want to try XMPlayer.
    About 360KB open and running, after installation. It takes a little getting used to, some things are different than WinAMP, but it’s small, fast, and plays audio very well.

    Reply
  7. Tom D

    Old winamp is still amazing software, but I’ve upgraded to the newest version (though I still use the original skin) because of the ipod support. Winamp 5 is still a lightweight powerhouse compared to that fat quicktime infected pig itunes.

    Reply
  8. Tom D

    Still, compare Winamp Full at about 8MB to itunes at about five times that size and I think winamp does more (better) than itunes.

    Reply

Leave a Reply to Jason Belanger Cancel reply

Your email address will not be published. Required fields are marked *