Fog Creek Software
Discussion Board

Define bloat: by examples

Reading the thread that mentioned various products and their 'bloatitudinous' qualities:

So let's get this out of the way.  Bloat is one of the following:

a) A program that now requires {huge amounts} of HDD space to install.  It used to take half, or less than half that amount.

b) A program that is labeled a 'memory hog'.  Use your own definition of 'memory hog'.

c) The new version is perceptibly slower on newer hardware than the older version runs on older hardware (how much moreso on the newer hardware!)[1] 

d) Newly introduced features, bugs, or forced integration with other products/services -- let's just call this "New stuff I don't like"

So everyone complains about software bloat, but they don't define bloat well enough.  It's just bloated.  You know what I mean, right?

No, not really.  Let's define bloat, starting with Microsoft's DOS-based operating systems:
                              bloated feature
OS NAME        a)            b)            c)            d)
Windows 95 -  80MB      4MB (32)  386DX      *95
Windows 98SE195MB  16MB (128)486DX      *98           
WinME            320MB  32MB (128)P5-150    *ME

These are the official minimum requirements, as set forth by older MSKB articles and harvested by me via Google Groups.  Recommended RAM, in parentheses, was added by me.

*95 - limited networking support.  Does not include USB. 

*98 - Ran your programs "about 33% faster", if you remember the interviews/advertisements.  Positive new features included USB, LBA hard drives, and Better Networking Support.  Oh, and better Plug-'n-Play.
Power saving features.

*ME - Removed many/most of the DOS/command-line features and compatibility as a tradeoff vs. stability. (ex: SYS.COM will only move files from C: to A:, not from anywhere to anywhere; autoexec.bat & config.sys don't run)
System Restore - new.

So.  What does all this crap matter, anyway?  It's just to show that when people are angry about bloat, they're never really angry about some aspects of bloat, like the hard drive gobbling and the memory hogging.  They're angry at the intangible, incommunicable c) and d)'s of bloating.  they hate the fact that IE6 takes forever to load  They HATE Winamp3, so much so that lavasoft has acknowledged that Winamp3 was too slow.

With the Microsoft consumer-grade OS's, everyone generally regards WinME as the worst of them all.  Why?  Did ME have much higher requirements than Windows 98SE?  It didn't, as a matter of fact, not in any real sense.  Did WinME introduce new, positive features?  Yes, it is more stable, as these go, and it has some new features like System Restore.  So why does everyone hate WinME?  Because of d).  WinME introduced a few positive (+) features, and a boatload of negative(-) features.  Most people can't seem to get a grasp on why they hate WinME so much--they just do.

They despise many programs, and don't know why.  "I hate Word, it's bloated." probably means "I hate the fact that when I'm browsing the Internet, and I accidentally click on a Word document link, it attempts to open the document -inside!- the Internet Explorer window.  On the underpowered lab machine, this can take up to a minute."

Or if they say "IE is slow and bloated.  Use Firebird.", they may mean "I use IE on my 64MB Win2K machine at work, and it's noticeably slower than my 512MB XP4000+ running Firebird."  Firebird is faster than IE, but who's to say if it's because of bloat?

Or the linux guy says "Galeon on Gnome runs rings around IE.  IE is so bloated," he probably tried to access on MSIE6 and got the special "Folder View" display.  By the way, IE hangs for a minute or so if you use this feature.  Awful.  So he's entirely justified in saying this, from his perspective.  PS--your retort is "Yeah, but your sweat has run rings around your deodorant, and has left pit-stains.  When did you last shower, anyway?"

So whatever.  When you're getting angry at your computer and curling your fingers into a fist, so as to angrily shake them, first think: why is this so bad?  Am I angry that Steam requires a 750MB installer, or uses 20MB of RAM at all times and stays resident, all the time?  Does that really matter?  Or am I angry that it's running a new key-checking system.  And I am forced to upgrade to this new version to play online.  And that the third-party server browser I purchased is now worthless, and that I am no longer able to play the game as a LAN-only multiplayer.  And that the game is perceptibly slower on startup, and that there is in fact an additional sequence to startup, and the fact that the original goal of this project, to reduce cheating, has completely and utterly failed, and that all the menus have changed, and that I don't know where to install newly-downloaded maps anymore, and that I can't even run the single-player Steam games without the internet turned on!

So just remember this: what are you REALLY angry about?  Certainly, there's a lot of material to draw from.


[1] "I don't know half of you half as well as I should like, and I like less than half of you half as well as you deserve."

Wednesday, January 28, 2004

I don't define "bloat" in terms of either disk space or memory footprint. Capacity on both, in terms of available size and speed, are ever increasing and well within the limits of being able to keep up with disk bloat or memory bloat.

I define bloat in two dimensions directly related to my job: source code volume, number of features -- the two are highly correlated: more features ==> more source and conversely, more source ==> more features. (NOTE: gross generalization, but pretty accurate with the source code base I work with from day to day.)

Neither disk, nor memory have really affected my use of the computer. Managing features and source is what I do. More of either makes my job more difficult.

As far as what I'm really angry about: "Must-have" features that users request, with urgency, interrupting existing commitments, that complicate things and bloat both the feature space and the code base, and here's the kicker -- these "Must-have" features are seldom used. That really pisses me off to no end. Good for the bottom line though. More billable hours for me! <grin>

Sgt. Sausage
Wednesday, January 28, 2004

Yesterday I had to download a 100+ *Meg* "Driver" to install an HP printer.  Granted, it was one of those copier/fax/kitchen sink models, but still.

Wednesday, January 28, 2004

The only people who complain about bloat are techies. Many techies tend to focus on how lean & mean the code is, how well a program or app is architected, how clean the API is, etc. When a program requires mountains of code, libraries, large disk/memory footprint, etc. they cry out in disgust-- even if it's a successful, high-quality app.

Users don't have a clue about what bloat is. They just know if their experience with a program is good or bad.

Likes long walks, short piers
Wednesday, January 28, 2004

Right now on my main PC, I have two HDD - a 160gb and 120gb. The PC that I had circa. 1995 had 500mb HDD. That's a gain of 56,000%

Now, consider the latest version of foobar, say foobar XP. Let's assume that it needs a 500mb of HD space to install as compared to 50mb of foobar 95. Do I care? No, as though it has increased by factor of 10, my hardware has increased by a factor of 560.

As with money and shop prices, there is inflation. What £5 buys me know could buy me a lot more 50 years ago. However, £5 is worth a lot less now. Similarly, 500mb is worth a lot less now.

Bloat defined in terms of size is as bad a measure as comparing prices on their raw price tag.

Wednesday, January 28, 2004

Reminds me of my Introduction to Computers class.  You know the one where they show you how to use a mouse and stuff and everyone is board to death... umm yea anyway.  The teacher was rambling on and on when all of a sudden he said something that struck a cord.

He said, "Everyone who is going to be a programmer raise their hand."  Only a couple of people raised their hands, including me, most of the class wanted to work with computer networking.  He continued, "Software is bloated because of sloppy programmers like you writing sloppy, sloppy code."

I thought to myself, what a jerk.  Software bloat has almost nothing to do with programmers.  It has to do with the folks who determine all the features that will go into the product (granted this could be the programmer).  It has to do with including all of the libraries that are needed to run the program.  It has to do with customers that "need" this or that feature.  It has to do with marketing.

Programmers can do their part by optimizing their code, but this certainly does not decrease the size of the code so dramatically that it would decrease a 20 MB package to 5 MB.

If you want to use a computer with a GUI like Windows and you want to be able to surf the net, play a MMORPG, run Fractint, a database server, a web server and host your own NeverWinter Nights server all at the same time... well yea it's gonna get a bit crowded.

I think the effects of "bloat" are dimishined by Moore's Law.  Then again a neighbor of mine just upgraded to a brand new machine 80 GB HD, 2 GHZ processor, Win XP etc.. from an old 386 computer w/ Win 3.1.  She asked me, "Why is this new computer so slow?"  I just had to laugh.  I suspect she just has to get used to using Windows based programs instead of the DOS based ones she was used to.

Wednesday, January 28, 2004

>your retort is "Yeah, but your sweat has run rings around your deodorant, and has left pit-stains.  When did you last shower, anyway?"

LMAO because it's so true.  Showering is such a waste of time when you could be compiling last night's build instead.

Wednesday, January 28, 2004

Looking just at the average cost of storage based on new disk drives misses the point.  Particularly on laptops, where you can't just upgrade the hard drive, the cost of the next few megabytes can be the cost of a whole new system.  Or (on a system with plenty of free space), it can be almost free (though don't forget the hassle costs of  backing up the new space).  It all depends...

Dave W.
Saturday, January 31, 2004

The reason programs load slowly is because they load a lot of stuff you may, or may not, need.

Acrobat Reader is one notorious example;  and look at all the plugins that load with Netscape.

ME was hated because it was much less stable then Win 98SE, and introduced needless changes for minimal gains.

Stephen Jones
Saturday, January 31, 2004

*  Recent Topics

*  Fog Creek Home