Remove Extra Bloat For the New Year
The year 2010 is beginning, and this is the time when everyone is making New Year's resolutions. One resolution that I always hear is to be healthier. While that's more of a long-term resolution that you'll probably forget the next day, you can help the "heath" of your website, project, or anything by removing the extra bloat.
What I mean by "removing the bloat" is getting rid of extra features or components that aren't absolutely necessary for something to be what it is. Whether it is caused by feature creep, scope creep, or poor planning in general, removing excess bloat can be helpful for everyone.
Decide What Features are Necessary and Unnecessary in a Project
Before you add something extra to your project, think to your self "Do I really need this?" If it's not completely necessary for your project to work properly, you probably don't need it. When working on a project, be sure to keep in mind the Unix philosophy:
This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.
This can be summarized as "Do one thing and do it well." If you're writing a program that does one thing, and you're thinking of adding a somewhat-related feature to it, consider creating a new, smaller program to go with it. That way, the user has more control over the extra features that a program has.
Use the Tools You Already Have
When starting a project, there's usually no reason to start completely from scratch. If you're figuring out how to do something that involves programming, be sure to check if there's already a library that does what you're trying to accomplish.
If you were building something, and needed say, a hammer, what would you rather do? Borrow one from a friend (assuming you have nice friends), or build a new one from scratch?
For example, post thumbnails are a common feature of WordPress themes, to easily include an image to go along with each post. This was (and still is) often done using special plugins, custom fields, or with other clever tricks. But now, it's a feature included in WordPress since version 2.9. You might notice that I implemented this at FWebDe only recently, because post thumbnails were one of the features that I was waiting for in WordPress 2.9.
By the way, if you'd like to know how to include post thumbnails in a WordPress theme, you can take a look at this guide on how to do it.
Unclutter Your Design
Websites often add new features and expand, and that's completely normal. If all of those new features are relevant to your main goals, go ahead and keep them as long as feature creep doesn't get completely out of control. But a common side effect of new features is more clutter in the design and layout. After all, those new features have to go somewhere, right?
A good way to make clutter less visible is to make effective use of whitespace. A common place to add new features is in the sidebar, which is made easy with widgets. If that is the area where you've been adding in new features, go through it and think about what you need and what you don't need in your sidebar.
Uninstall Unused Software from your Computer
Have you ever installed a little game that was fun for a day, or a little tool that you used only once, and just left it on your system? You might want to go through your installed programs and sort out which ones you rely on, which ones you use occasionally, and which ones you haven't used in over a month.
An added benefit of removing unused software from your computer is that your desktop or your applications menu will be less cluttered, easing your workflow and increasing your productivity.
Remove Unused Plugins from Software
Whether it's an extra Firefox plugin, or another plugin for your WordPress blog, we all have little addons to software that we don't really need. So I suggest that you go and decide which plugins to keep, and which ones to remove. Doing so will help to speed up the software, and help to reverse user-inflicted feature creep.
I'll use myself as an example here. To show my devotion to the Vim text editor, I decided to try out the Vimperator plugin for Firefox. That turned out to be a bit too much for me, and I simply disabled it. So I just left it there, taking up space and slowing down my web browser just a little bit. I feel relieved after finally removing it.
Remember to Stay Planned in the Future
A common cause of feature creep and scope creep is poor planning. When planning out a new project, remember to be well planned to avoid these problems, creating unnecessary bloat in software, or other projects.
- Plan out exactly what features you will include.
- Maintain good communication between people involved in the project.
- Always consider exactly what the user really needs.
Keep these three points in mind, and that will help to prevent extra bloat in the future, saving time that would otherwise be spent removing the bloat.
Bloat can be found in everything, from software, to personal projects, to Swiss Army Knives. Do you have extra bloat to deal with, or have you ever gone and removed components from something?
Also, what are your plans for the New Year? Be sure to leave a comment, I'd love to hear!