18 November 2007

Frameworks: it’s the fidelity, stupid.

Jeff Croft asks:

  1. What is it about CSS frameworks that bothers you so?

    What bothers me about frameworks in general is that they fool inexperienced users into believing that their tool of choice can solve any problem efficiently, when in fact one-size-fits-all tools wind up being so complicated to learn that the student is better off just learning the fundamentals of the underlying technology anyway.

    When I limit the answer to the scope of CSS, the same objections raised by one of my own A List Apart articles rear their proverbial head: by pouring your work product into a framework, you’re building around the abstractions it creates, rather than the objectives and specifications of your project.

  2. Do you want CSS and (X)HTML to be easier for everyone, or would you rather it be a highly-skilled craft that requires the assistance of experts?

    I want Web publishing to be easy for all of those who want to engage in it, a desire which I hope is adequately expressed by the fact that I’m publishing this post on Blogger (of all possible platforms). Ideally this publishing will be done right, and I fart in the general direction of tool developers who are too lazy to ensure that their tool will, in fact, do it right.

    [I am far from convinced that framework developers in general are undeserving of that particular wrath.]

  3. Why is this just coming up now? Why did no one mind when Yahoo released their CSS framework, but people are bothered by Blueprint? What’s the difference?

    …The responsible parties at Yahoo have made a number of good faith efforts to engage with the WebDev community generally and the standards advocacy community in particular, while Google does things their (secretive, paternalistic) way and expects everyone to like it, no matter what. It stands to reason, then, that Google attracts criticism from the people who accommodate Yahoo.

  4. Do you simply oppose the idea of frameworks as a whole? Do you also dislike the JavaScript frameworks that have been so popular recently? Do you also dislike backend frameworks like Django, Rails, and CakePHP? Or is there something specific to CSS that renders it somehow inappropriate for these frameworks?

    Yes, yes, yes, no. See my answer to question [1], and don’t forget that when given a tool that permits laziness, lazy people will take full advantage of that permission. This is partly informed by my own experience: the vast majority of Web application developers I’ve worked with are lazy as hell when it comes to learning client-side fundamentals, and limp along on crap markup unless and until their jobs require them to take things up a notch. To this I can add that during my recent week in the Bay Area, I was surrounded by people who have been going toe-to-toe with just the sort of lazy developers I’m railing about here.

The bottom line of this argument is not about the accessiblity of the technology, but rather about the work habits and professionalism of the people who work with it daily.

Jeff’s post closes with the following:

“…[Top tier CSS experts are] realizing, quite frankly, that their skill set may be less valuable in the future than it has been for the past couple of years.

“I’d love to be proven wrong, but until someone speaks up with some good reason why CSS frameworks shouldn’t be used, instead of simply asserting that they shouldn’t, I’m convinced these folks are just trying to drum up some false job security.”

Congratulations, sir, you’ve just maligned as cowards people whose only wrong was disagreeing with your position. That is not the way to win an argument.

I ask you to win against this argument:

Until adequate compiler-like tools exist that make possible automagic transitions from two- to three-column layouts (to say nothing of more sophisticated evolutions) in the course of (re-) designing a site, frameworks serve the purpose of allowing the lazy to be even lazier, the ignorant to be even more clueless, and the shortsighted to be even more thoughtless toward the poor s.o.b.’s who will be forced to live with the unintended consequences of their implementation decisions. Furthermore, it is unconscionably irresponsible for framework developers to tout their work as broadly useful, even in the hands of inexperienced people who haven’t learned any better.


Jeff Croft said...

Ben, the fact that you've brought Google into this discussion shows you clear misunderstanding of all the issues at play. What does Google have to do with ANYTHING here?

Until you fully understanding the problem domain, there's not a lot of point in me having this discussion with you.

Abhimanyu Grover said...

Personally, I dont like CSS frameworks - they just dont fit in the conventions. They kill the readability of CSS, doesnt matter how much re-usability they encourage.

But backend frameworks like CakePHP are the great master works, which are built to keep conventions in the mind. Infact Cake has its own conventions which makes rules even strict - so we have no space for lazy newbies here. Such frameworks saves you a lot of time by avoiding you to code same thing again and again.

So, My point is there's a lot of difference between a CSS framework and a backend framework.

SM said...


It's not like he insulted your mom or anything.

Tamer said...
This comment has been removed by a blog administrator.