Thursday, March 01, 2007

Do you bloat?

I found Steve's 'the end of an era' blurb an interesting one, where he asks "Oh computing world, where did we bloat out and go wrong?" I'm sure Steve knows the answer: with massive amounts of computing power at our disposal and requirements to deploy rapidly, developers no longer need (or have time) to optimize for efficiency. This is also true about apps deployed to the web, where a web application often needs to scale up to, and perhaps even beyond the number of users it's expected to serve.

Yesterday I witnessed two instances where Bloat Prevailed for a few professional, competent developers I know well. The examples here are simply to illustrate that everyone is "guilty as charged" when it comes to bloat. Hey, I do it too, so let's all poke fun at ourselves as we read this:

Case #1 is the EclipseCON website. I had noticed that the server's load was climbing rapidly -- which is normal, in the days leading up to the event -- but I was worried that the site would crumble come Monday morning. The site, as written, ran swimmingly on a laptop by one person, but could potentially collapse when accessed by dozens (hundreds?) of users simultaneously. After optimizations, the bloat was removed and server load dropped considerably. Crisis avoided - I think we're in good shape for Monday.

Case #2 is with the website itself, where bug 175875 suggests that the links in the Phoenix templates become absolute URLs (such as, not relative (/legal/), so that the PHP templates can be deployed on other Eclipse websites without modification. It's a great idea, and it seems insignificant enough when you forget that often transfers over 20 million pages/month. After a few calculations, I concluded that this change could involve sending an additional 4GB/month to the Internet. It's not that the number is outrageously big, but it's an extra 4 GB travelling on Internet backbones, fiber links on the bottom of oceans, and expensive Cisco routers everywhere. Worst of all, it's 4 GB that doesn't *need* to be there. We all discussed, and we're investigating possible solutions to avoid some bandwidth bloat (at the cost of CPU cycles, of course -- but one needs to choose the lesser evil).

Of course, this blog post isn't meant to mock the EclipseCON site developers, nor Karl who opened bug 175875. We're all guilty, so let's all say it loud and proud: I bloat, you bloat, we bloat. The unfortunate reality of all this is that, in today's computing world, it's all too normal and acceptable to bloat.


Anonymous Denis Roy said...

Heck no. I'm saying you must have written fat code at some point, and you will do it again ;-)

3:38 AM  

Post a Comment

<< Home