Feature
Post

Category
Column

Web 2.0, Future Creep, and the Irony of Frameworks

I was recently accused of over-implementing my projects at work. How audacious! How un-Web 2.0! How true. The fact is, over-implementation is one of the big downsides to Web 2.0. We have more frameworks than ever, for example:

  • CSS: YAML, BlueprintCSS, and YUI
  • Javascript: jQuery, Prototype, MooTools
  • PHP: CakePHP, Zend, PHPDevShell

There is a ton of functionality packed into each of these frameworks—most of which are geared toward speeding up development. However, with all this added functionality has come the tendency to overbuild everything.

Gone are the days of single-function onClick validation scripts. Now you must load an entire library, call anonymous functions, focus on reusablity. Before you know it, what could have been handled in 3 lines is now p,a,c,k,e,d into a 30kb JavaScript file that includes plus an extra CSS file as a dependency and 275kb of PNGs.

I find it ironic.

Web 2.0 was founded on simple, elegant design and code. It was feature shy. I bought into it wholesale and went along for the ride and now I am using it to over-implement my projects.

The solution comes (unsurprisingly) from 37Signals who have managed to stay the course all these years. They are still preaching the same message they have been preaching since day one: Less is more.

  1. Never implement more than you need to
  2. Never plan further than you can see
  3. Don’t be afraid of imaginary work

Don’t get me wrong—I think frameworks are extremely useful. However, next time I sit down to write some sweet app I will be thinking a little harder about whether I can get by without one.

  1. By Ashley Williams posted on October 28, 2008 at 3:37 am
    Want an avatar? Get a gravatar! • You can link to this comment

    Well the 37Signal guys are behind the Ruby on Rails framework, and the Prototype JS library founder Sam Stephenson works there — so I think its safe to say they are massive supporters of frameworks (except CSS ones anyhow, although apart from resets I personally don’t know anyone who uses them anyway).

    If I was you, I would tell the guy who said that hes an idiot, unless he technically is better at your job than you. (actually, no — I’d probably hand in my resignation and go find a job where my opinions and decisions are respected.)

  2. By Dan Lee posted on October 28, 2008 at 9:58 am
    Want an avatar? Get a gravatar! • You can link to this comment

    Lets not get that carried away, Ashley.

    You can still use frameworks but cut back on needless implementation. It shows most when working on big projects, that of which would take endless hours if it weren’t for frameworks.

  3. By Nick Palacios posted on November 6, 2008 at 12:56 pm
    Want an avatar? Get a gravatar! • You can link to this comment

    Interesting take on frameworks Dustin. Not in total agreement. How can you plan for something if you are not sure what it is? I agree with Dan that frameworks are most beneficial when used for large projects. I have used frameworks for large projects that had functionality that I didn’t think I would need….two years later I was sure glad to find the functionality was already in the framework I choose. It may not have been available when the framework was initially released, but thanks to aggressive framework communities they are constantly trying new things. Blah blah I am done now.

    Next time I sit down to build a web application I thankfully don’t have to think “how can I do this without a framework?”.

    Also, frameworks saved my marriage. ha ha

    All-in-all great article Dustin!

    ~Nick // Me <3 jQuery

  4. Trackback