The online playground of Andrea Schwandt-Arbogast:web design, university web development, animals, books, and other slices of life.

The great CSS framework debate

I’m a little late to this conversation, since I am on vacation for Thanksgiving, but I thought I’d weigh in on the CSS framework discussion started by Jeff Croft.

I’m pretty sure the only reason why this is getting so much attention right now is because of the final few paragraphs of Jeff’s original article, which suggest that the only reason folks are against frameworks is that they are afraid frameworks will make their jobs obsolete:

My gut feeling is that many folks who make their living off writing semantic (X)HTML and CSS are getting scared. They’re realizing that CSS and HTML are actually pretty darn easy, especially with the aide of tools like frameworks. They’re realizing that the only hard thing about writing CSS is troubleshooting lousy browsers — and they’re realizing that lousy browsers are fewer and farther between than ever, and getting fewer every year. They’re 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.

This is a bit of hyperbole and flame-bait, and it’s not surprising to me that it has been met with some anger. But I have made posts like this myself, and am not going to hold it against Jeff, who I’m pretty sure didn’t mean to offend lots of his friends and colleagues in one fell swoop.

My experience with CSS frameworks is limited to Blueprint. I have briefly looked at YUI, and felt that the logic behind that system was at odds with the way I think. Just a different approach from what I am used to — nice looking shoes that just don’t fit me. Blueprint fit a bit better, and I had decided to use it for the redesign of this site that has recently launched, so that I could evaluate it in a real-world situation.

The most potentially useful part of Blueprint for me was the grid piece. I already have preferred ways to do a global reset and typography that work well for me and are well-honed. According to Jeff, this is in fact a personal framework. Well, maybe, if you want to start playing with semantics. To me, a framework is a standard that folks from all over the world agree on and utilize, like Rails or Django or jquery. But whatever. What I found missing from the grid piece, and also from the grid generator and layout generator, was a way to create a liquid grid. This was an important requirement for this site, which has always been liquid, and has been a place where I could show that liquid sites can be designed well and that the issues commonly cited as reasons not to go liquid can easily be overcome with a little thought. I belong to the Jeremy Keith school of liuid design. :)

So, I ended up writing my own grid and not using Blueprint. For professional front-end developers, I suspect that this is a common occurrence — there are well-established specifications for a project that make the use of a framework impossible. I have found that the exceptions are more common than the rule in the work that I do, and CSS frameworks may work best for the rule. I may try to work with a framework again in the future, if I have a project that is suitable for them.

For the record, I don’t feel threatened by them. Even for front-end folks, there’s much more that goes into what we do than the simple chunking out of code, and most folks that I know are constantly on the lookout for tools that make the code writing process more quick and efficient. If frameworks turn out to be one of those tools, they will happily be adopted by me and my colleagues.

Commentary

1

Jeff Croft writes

Nov 19 at 04:29 PM #

Hey Andrea-

Thanks for the comments! A couple things:

1. The Blueprint guys are working on a liquid version of their grid tools. Let’s not forget that Blueprint is at 0.6 right now. :) There’s definitely still work to be done, and liquid support seems to be at the very top of their list of things to accomplish.
2. You can call it whatever you like, but the point of Blueprint, YUI, Django, Rails, Prototype, jQuery, and all the others is to abstract common tasks into reusable, portable, and simple pieces that you can take with you from site to site so that you don’t have to reinvent the wheel each time. If you’ve already developed your own way of doing the same thing, that’s awesome—you’re getting the benefits of a publicly-available framework using your own code. I call this a “personal framework”—you can call it whatever you want. The point is the benefits, not what you call it.
3. I don’t actually think most people feel threatened by CSS frameworks. I said that with tongue planted firmly in cheek, and apparently it wasn’t obvious enough. That’s my fault, and I’ve since apologized for it. My point was simply this: If you’re going to tell people at workshops and conferences they shouldn’t be using CSS frameworks, you’d better have some solid reasons to back it up. I can give you several reasons why CSS frameworks will make you more efficient, and just saying, “don’t use ‘em” isn’t going to be a very effective counter-argument.

When I said the thing about job security, I was simply trying to be provocative enough to get people to come out and explain what they had against CSS frameworks. It backfired on me—many people took it seriously and focused on that comment, rather than answering the question: what is it you don’t like about CSS frameworks? In hindsight, I don’t blame them for taking it seriously—I didn’t make it obvious enough that I was being light-hearted.

The few people that have outlined why they don’t want to use CSS frameworks seem to come from two camps: those who have already developed their own abstractions (like you—these people simply have no need for Blueprint or its ilk), and those who are very focused on Blueprint and its grid component (also like you? :), rather than the core concepts of code portability and reusability. It’s too bad this one bit of one framework has been so polarizing, because I think a lot of people are throwing the baby out with the bathwater, here—that is, ignoring the good ideas thee frameworks are showcasing because of a few issues with a very early beta product.

It’s a bit like saying, “I hate operating systems!” because you don’t like the OS X dashboard.

2

Andrea writes

Nov 19 at 10:00 PM #

Hi Jeff,

Thanks for your comment. Yes, I don’t feel like I have enough experience with CSS frameworks to say whether I like them or not. I think the focus on the grid piece is because that is the most unique part of Blueprint—one that folks are least likely to have developed for themselves. It is also the part with the controversial class names—I’m not hung up on that, and when the crew comes out with a liquid version I will definitely check it out.

So I am reserving my judgement until I have some real experience using a framework system. I think the concepts are sound.

3

Elaine writes

Nov 20 at 02:37 PM #

I find that “exceptions are more common than the rule” too. I’m considering trying Blueprint or one of its derivatives, for a possible upcoming project. I’m very much an old-skool hand-coder, so I’m curious to see how much it helps.

I have no particular objection to having tools that help. I’ve made jobs that were too big into ones that were manageable with all sorts of tricks.

What I do worry about is that when something breaks because of an exception, that I know enough to get under the hood & fix it.

Commenting is not available in this weblog entry.

In: Coffee at my Desk

This is the section that contains all of my professional articles — serious, no-nonsense stuff that you may need caffeine to get through.

Cocoa on the Couch

SXSW 2009 wrap-up

I’ve been trying to figure out how to sum up SXSW 2009 since I got back, and I’m still not sure I can do it. It was a much …More »

Margarita on the Rocks

poodle, purse, & pumps

Right. I realize that I haven’t blogged in over a year. I am working on remedying that, and have a bunch of half-finished projects to prove it. More on that …More »