Alert: Code green

While a lot of green responsibility lies with the hardware vendors, the companies that deliver the apps and platforms that run on those boxes have a responsibility, too.

I don't much like waiting, and I don't much like waste. Hence, Neil McCallister's article "7 reasons why software is slow" piqued my interest. I delve a lot into hardware in this here blog, but I don't much write too much about applications and platforms in the context of green technology. But it's an important subject, one that I expect IT admins with an eye on energy efficiency will start paying more attention to.

The gist of Neil's article, as the headline succinctly suggests, is that various factors contribute to slow application performance, including code bloat and excessive bells and whistles. And if you think about it, those superfluous lines of coding, whether in the form of inefficient database calls or pointless features like, oh, talking animated paperclips, put extra burden on hardware. They're making desktop and/or server processors do unncecessary work. They're adding an extra burden to network traffic, too. And that not only adds up to wasted time for users, but it's a waste of CPU cycles, which means a waste of energy.

Moreover, as companies roll out new versions of applications and platforms, customers who are being pushed to adopt them face the expense of a mass hardware upgrade. There, too, is potential waste, even for a company that's diligently recycling its hardware. Yes, it's conceivable that the new version has some much-needed additions that wouldn't be possible without the new gear (e.g. that can make the most of a quad-core processor). You can justify the expense of not only the initial investment but the long-term power costs of higher-end server boxes or desktop systems.

But it's also conceivable that you're getting a new platform that's bogged down with a super-slick, graphically intensive UI and a feature set that you really doesn't make sense for your users -- who may not even be taking full advantage of the previous version's features.

My takeaway from all this is that while a lot of green responsibility does lie with the hardware vendors, the companies that deliver the platforms that run on those boxes have a responsibility, too. They need to hone their wares to efficiently take advantage of the ever-increasing computing power the industry is enjoying. Just because there are marchines out there that can support enormous system requirements doesn't mean you have to make your software swell to that footprint.

Application developers out there, I'd especially like to know what you think about this.