Is The Future Of All Software – Bloatware?

With the release of the Chrome browser, I heard a number of people describe how fast the browser was, how lean and mean the browser was, and when compared to FireFox, FireFox was labeled as bloated. So far, it looks like WordPress 2.7 will contain a number of integrated plugins into the core leaving some to believe that WordPress is becoming bloated. Although I am not a software developer, this had me thinking on whether or not all software is doomed to become bloatware.

From the outside looking in, this is how I see software progress. First, you have an idea. You turn that idea into some code that at some point, is released to the public for testing. During the testing phase, you discover that the idea along with the execution flows really well with what a number of people want. Version 1.0 is released then 2.0, 3.0, etc. During the time of development, you take suggestions, feature requests, etc, and implement them into your software to satisfy more people. After three to five years, everything you have implemented into your idea has turned it into a giant mess because you implemented this and that in order to please people and their requests. So, what was once a lean mean piece of software that accomplished a specific task better than anything else has evolved into a useless hunk of junk that contains a ton of stuff you’ll never use but at least one other person just might.

This makes me wonder, what really makes software bloated? What does bloated software mean? Is it a means of perception? If you’re not using a group of features for a particular piece of software but yet, other people are, does that mean that piece of software is bloated to you? Also, if what I describe above is in any means accurate to the progression of software, why is it like that? Why can’t a great piece of software continue to be great without succumbing to the notion of being bloated? Is this just an endless vicious cycle?

11 thoughts on “Is The Future Of All Software – Bloatware?

  1. Jeff, it is decided whenever it is decided, but the longer things go on for without a proper decision and the more popular it gets the harder it is to change.

  2. @Richard: Thank you for the awesome comment. Windows is a classic example of bloatware but in my opinion, it is bloatware because of backwards compatibility. They have to keep and maintain all of that extra old code while adding news features, services ect to newer versions of Windows. Not a very good future if you continue on that path no matter what piece of software you use. At some point, you have to break things even if is difficult to do.

  3. @Ptah: I’ve been giving this some thought from the perspective of WordPress and the way I agree with your statement about WordPress being a framework. This is what Matt and the core devs have prided themselves on from the beginning. WordPress being a framework. If popular plugin after popular plugin is integrated into the core code of WordPress, is it only a matter of time before a fork happens or a WordPress Light is released?

  4. In The Mythical Man-Month, Fred Brooks describes this as the second-system effect. The first version of a software program is simple and basic, just getting one job done. Then the developer(s) keep adding more stuff to make it better. Eventually it becomes slow.

    Software becomes slow if more stuff has to be loaded into the memory even if it isn’t used. The trade-off of avoiding features is that if there’s a feature someone needs that isn’t there, the user can’t implement it himself. Broadly speaking, it’s more important to cover everyone at the expense of speed, than to have speed at the expense of functionality.

    On the other hand, lots of bloat comes from backward compatibility or just keeping things the same way. That’s why on Windows, we have so many keyboard shortcuts that are redundant or make no sense. It’s also why Windows Vista is like 13GB.

    Firefox was supposed to be the lean, fast replacement for the Mozilla suite. Now it’s becoming the same bloated project all over again. I think all of Firefox’s features can be implemented with less memory usage, fewer bugs and crashes, and more speed. But they have plugins to keep compatible with…

  5. I have read those comments and in fact, I just created a thread in the hive with each of the links you provided in the comments. Those in the know who deal with Perfads read that forum. Hopefully, they resolve your issue along with everyone else’s soon.

  6. If you read the comments on those two posts, this has been an ongoing issue. This isn’t directed to you, it’s directed to your company. I’d pass this along to Ryan.

  7. I doesn’t have to be, but it takes pretty strong organisation to prevent it becoming so and, ultimately, you need to have decided what product you want to offer.

    If you want to offer software that everyone wants then it will become bloated, on the other hand if what you want to do is build a platform that can be made to fit everyone then that is a different matter.

    It is all about perspective, and realising it before you go too far down a different road.

  8. I think the road to bloat ware comes to all software projects at some point during the product’s lifespan. I’d even so inclined to say that it comes multiple times too. In order to keep your software lean, clean and lightweight, developers need to rethink and refocus the core goals of the software that they’re building. As software ages and technology advances, I think that software developers need to continuously refactor there code, set strict guidelines and core values for that software so there’s no confusion whether feature X should get added into core. There wouldn’t be any discussion on whether extra commenting functionality should be a part of the core software or be better served as a plugin, it’s already decided in the mission statement, or the set of core values.

    I think software such as WordPress should only serve as a foundation to be built upon. As a solid framework that others can easily extend. As software that stays up-to-date with modern technology and continues to innovative in whatever it’s trying to accomplish (that is, blogging).

    In the end, it’s all about the discipline the developers have and whether or not they have strict policies in place for when situations like handling feature request etc. After each Major software release, developers need to rethink, refactor and reinnovate the core goals their software is trying to accomplish and that will guarantee it stays cutting-edge and above the competition.

  9. Hello there. First off, I am merely a content producer/manager for the Performancing.com website. I have no jurisdiction when it comes to Perfads, Pmetrics or the various other services that Performancing offers. My job is to write content and that is what I do.

    However, your concerns have been duly noted and I can forward them on to the people who I believe can fix the issue.

Comments are closed.