Jeff Croft

I’m a product designer in Seattle, WA. I recently worked at Simply Measured, and previously co-founded Lendle.

Some of my past clients include Facebook, Microsoft, Yahoo, and the University of Washington.

I’ve authored two books on web and interactive design and spoken at dozens of conferences around the world.

I’m currently accepting contract work and considering full-time opportunities.

Blog entry // 11.18.2007 // 3:36 PM // 64 Comments

A follow up on CSS frameworks

Wow. Less than 24 hours after my last post, there have been nearly 100 comments posted, and I’ve seemingly managed to piss off half the Internet. It seems some people took major offense to my thoughts, although no one has came forward to told me why (Andy Budd said on Twitter, “you’ve managed to tick off quite a few ‘limeys’ with your post,” but he didn’t answer when I asked why.

Of all the topics I’ve ever written about, I would have thought CSS frameworks would be one of the most non-controversial. Apparently, not so. I thought I’d follow up by trying to detail what I’ve learned after a century of commentary on the past in question.

The first thing I learned from the comments is that different people have very different ideas of what a framework is. In my Frameworks for Designers article at A List Apart, I defined a framework as follows:

…a set of tools, libraries, conventions, and best practices that attempt to abstract routine tasks into generic modules that can be reused. The goal here is to allow the designer or developer to focus on tasks that are unique to a given project, rather than reinventing the wheel each time around. Generally speaking, this is the approach taken by the aforementioned JavaScript and web application frameworks. To be clear, we’re not necessarily talking about something that is built, packaged, and released to the public. Rather, a framework may be solely for you or your team.

The point of the article, and my point every time I’ve said that I think CSS frameworks are a good idea, is that by abstracting commonly-used CSS into reusable bits of code and coming up with reusable class/id naming conventions, designers and developers can enjoy increased productivity. This seems so obvious and stupidly simple to me that I almost didn’t write the A List Apart article — I remember telling Erin Kissane (ALA’s Editor-In-Chief) that I wasn’t sure there was enough “meat” to this topic to even make it worth writing about. But I was wrong — within hours of writing the piece, there was quite a discussion going on about it, and several “haters” (for lack of a better term) coming out of the woodwork to denounce the idea of CSS abstraction. I was surprised — as I said, it seemed to me that the concept of reusing CSS code for efficiency was entirely non-controversial.

Part of the reason I was surprised is that I thought this kind of abstraction was something all experienced CSS developers already did. I didn’t think I was saying anything revolutionary — I thought I was just outlining some ways you can do it, and how it can increase your efficiency.

After reading the comments, I think I was right. Most top-tier CSS developers do deal with a framework of sorts — they just don’t call it that. They call it a “library,” or “snippets” or “defaults” or “baseline” — but it’s all the same thing. It is, as I defined above, “a set of tools, libraries, conventions, and best practices that attempt to abstract routine tasks into generic modules that can be reused.”

The second thing I learned from the comments is that people seem to confuse the idea of CSS frameworks with the individual implementations of one or two popular, publicly-available frameworks.

Since I wrote the A List Apart piece, CSS frameworks have gotten a lot more play, in large part because of the release of Blueprint CSS, a framework which is largely based off non-released code I wrote (along with my co-workers) at my previous job (if I thought the code was appropriate for everyone, I would have released it myself — but I didn’t, so I didn’t). Unfortunately, it seems as though people are now unable to separate the basic concepts of abstracting CSS for time-saving from the product that is Blueprint CSS. Some folks don’t like certain aspects of Blueprint, and are denouncing the entire CSS framework concept because of it (as I said in the comments of the last post, this is a bit like saying you don’t like automobiles because Hummers are total gas-guzzlers).

In my recent post, I was very conscientious to write about the concept of frameworks and not about any particular framework. I have some qualms with every CSS framework I’ve looked at (and I’ve looked at all of the publicly-available ones — and some private ones, too). None of them are perfect. But they all strive to meet the same basic goal: to establish some reusable methodology such that developers don’t have to reinvent the wheel on every site they build. My opinion is that this is a very good thing, even if none of the publicly available frameworks quite do it exactly the way I would if I wrote my own, all by my lonesome.

It shouldn’t be any surprise that I like Blueprint a lot. After all, the concepts included in it are mostly my own. But it very well may be that it doesn’t work for you. This doesn’t mean the time-saving ideas behind CSS frameworks are dead to you. It doesn’t mean you should publicly denounce the entire idea as ridiculous. If you’re interested in getting these benefits without using an off-the-shelf CSS solution, consider writing your own framework. It can be as ambitious as you like. Maybe you just need some basic reset styles. Maybe you just need to come up with a consistent class naming convention. Maybe you want a much-larger, more all-encompassing solution. The point is the same in every case: if you write a lot of CSS, you’ll probably save yourself a lot of time in the long run by putting some short-term effort towards abstracting some of your commonly-used ideas into reusable bits. That’s really all I’m suggesting. It still doesn’t seem very controversial to me.

The third thing I’ve learned is that: g’damn some people need to get out more. Seriously, folks. As a friend said over IM, we’re not talking about landing jets here. We’ve basically won the web standards war, and now some people are trying their hardest to create other little wars they can wage and win, because it makes them feel important.

Why can’t we all just hold hands and sing kumbaya or something?

Comments

  1. 001 // Sam // 11.18.2007 // 5:49 PM

    I shall light two lanterns if they come by sea, and one if they come by land.

  2. 002 // Keith // 11.18.2007 // 5:59 PM

    I’m surprised you generated some much feedback period. I mean, seriously, are people really concerned with something so seemingly trivial (to me anyway) as a debate on CSS frameworks?

    I don’t see how something like this can be controversial. It’s technology. It’s a tool. If this is what web professionals are thinking is important, you can this hurting the “learning” part of web design. Honestly, whether or not you use as CSS framework seems like the most minute of minutiae. I don’t even see how it’s remotely interesting…

    Anyway - maybe it’s cause you singled out Brits? I still don’t see why, exactly, you did that. But whatever. Also, you might be taking some of the responses the wrong way - I didn’t really see anyone who was angry over this. Then again, I got bored after scanning the first few comments and didn’t read any of them in detail. The fact that there would be any emotion involved in this kind of debate is pretty silly and frankly very surprising as well.

    As far as that debate itself, I don’t really have much of an opinion. As long as the final outcome is high quality, I don’t really care how you get there. How you do your CSS is probably one of the things I think people should care the least about. Worry about markup? Sure I get that, kind of. But CSS?

  3. 003 // prisca // 11.18.2007 // 6:03 PM

    Jeff, nice follow up :) been reading the comments and found it quite odd how single-minded some of those opinions were… thought we were all open to suggestions in the first place and up for a debate on working methods any day - hope you opened some minds :)

    (PS: please excuse the double submission in case it shows up - I left my comment via my iPhone initially but kept being asked to correct errors which were not there or indicated… )

  4. 004 // Jeff Croft // 11.18.2007 // 6:05 PM

    Anyway - maybe it’s cause you singled out Brits? I still don’t see why, exactly, you did that. But whatever.

    It was a joke, intended to lighten the mood. In hindsight, it was a joke I shouldn’t have made.

    Also, you might be taking some of the responses the wrong way - I didn’t really see anyone who was angry over this.

    Oh no, there’s definitely anger. It’s not all in the comments. It’s been coming my way via Twitter, e-mail, IM. Even Digital-Web magazine made a joke about how “provocative” the post was.

    The fact that there would be any emotion involved in this kind of debate is pretty silly and frankly very surprising as well.

    Ayup.

    As long as the final outcome is high quality, I don’t really care how you get there. How you do your CSS is probably one of the things I think people should care the least about.

    I basically agree. I mean, it’s all a means to an end. But, I do still think discussing the methods of different folks is interesting, and I am always interested in hearing about new methods that might help me save time and/or produce higher-quality output.

  5. 005 // Keith // 11.18.2007 // 6:07 PM

    hmm, some of my comment got munched.

    What I was trying to say about learning is simply this. I think we’re worrying about the wrong things if we’re concerned about a framework hurting the learning of CSS. I get that point to a point, but CSS is just a means to an end, and frankly, as a technology, it’s not all that hard to learn. I think a good web designer will understand it well, and wouldn’t certainly recommend learning it in such a way that it’s not tied to a framework. However, I feel like there are far more important issues that I would want my employees to work on mastering and it’s kind of shocking to see how things I think are truly important go un-talked about and something like CSS-Flippin-Frameworks generate all kind of heated, opinionated discussion.

    I’ve been saying this for years - we, as a community, need to focus less on the tools we use and more of what we do with them.

  6. 006 // Jeff Croft // 11.18.2007 // 6:08 PM

    but kept being asked to correct errors which were not there or indicated…

    Dammit! Who built this pathetic site, anyway!?

    :)

    Sorry about that. :)

  7. 007 // Colly // 11.18.2007 // 6:09 PM

    If the distinction matters at all, I reckon that we could define the difference as follows:

    The “snippets”, “libraries”, “defaults” and “baselines” etc that many of us claimed to use in those comments are (I think) very personal. These things are our own, which we each devise through trial, error and practice, and are unlikely to mean anything to anyone else. I don’t think anyone else could make sense of my “snippets”.

    In turn, the term “frameworks” strikes me as something more universal - a tool or implementation devised to act as a starting point for many people.

    Then again, worrying about such things is a matter of semantics, and nobody I know is out-and-out anti-frameworks. We’re just interested in discussing their merits, like anything “new”, which is a healthy thing to do in our industry.

    And for the record, I don’t think most people are trying to make you feel like shite here Jeff. I guess it was partly the “limey” thing that turned readers into commenters, that’s all. Without that, things might have been calmer.

  8. 008 // Dan Shields // 11.18.2007 // 6:13 PM

    Jeff, to be honest the only problem people have with the frameworks are the grid files. Thats all I have seen from the debates is that they can’t get over the class names and way people have designed it to make basic columns. If we remove the grid.css files from any of these frameworks, none of the people bitching would have anything to say.

    They all use a framework and you know they do, even in Andy Budd’s CSS Mastery he shows you how to create a template CSS file to knock out some of the usual bugs. And we all know people use Eric Meyer’s reset or * to reset crap. Maybe people don’t have a nice typographic stylesheet that is provided with most frameworks but I’m betting soon most people will if they don’t already somewhat include it in their base stylesheet already to a lesser extent.

    I think it is truly just a matter of the non semantic class names for the grid, which is just an added benefit to help make columns, nothing to complex behind someone couldn’t create their own version using semantic names for their projects. Also the fact that you called out the British guys and they didn’t understand your humor, but I would bet 90% of them have the reset file and typography defaults in all of their sites they have built.

  9. 009 // Jeff Croft // 11.18.2007 // 6:17 PM

    The “snippets”, “libraries”, “defaults” and “baselines” etc that many of us claimed to use in those comments are (I think) very personal. These things are our own, which we each devise through trial, error and practice, and are unlikely to mean anything to anyone else. I don’t think anyone else could make sense of my “snippets”

    While I get what you’re saying, I’m not so sure everyone’s snippets would be all that different. I mean, could we really not all agree on a reset stylesheet, for example? Are each of ours really that different? I’d say they’re 90% the same — so I see no harm in putting it out there and telling people, “use it if you want to, or make your own.”

    Then again, worrying about such things is a matter of semantics, and nobody I know is out-and-out anti-frameworks.

    I hope that’s true, but the folks who I’ve heard are railing aganist them still haven’t come along to say so. In fact, one person — a member of WaSP — came along to very clearly say that they hate frameworks — all of them, for any language. So there are influential people out there who are out-and-out against them.

    We’re just interested in discussing their merits, like anything “new”, which is a healthy thing to do in our industry.

    I agree completely.

    I guess it was partly the “limey” thing that turned readers into commenters, that’s all.

    Let’s not forget that I never used the word limey in the post. Never. I was just joking around with you guys on the other side of the pond. If it came across as anything other than simple teasing, I sincerely apologize.

  10. 010 // Jeff Croft // 11.18.2007 // 6:20 PM

    Jeff, to be honest the only problem people have with the frameworks are the grid files.

    That does seem to be the issue. It’s unfortunate, because it seems to me people are ignoring good concepts because they don’t like the details of one particular implementation of them.

  11. 011 // Baxter // 11.18.2007 // 6:21 PM

    I’ve said it before and I’ll say it again… I don’t care if it’s pixels or pixie dust, so long as I get what I want done - and done right - by deadline. The rest is irrelevant, and anything that can help me make that goal is fair game.

    Personally, I’ve never used any of the CSS frameworks, but after fighting the grid on my latest site every step of the way, I’m rethinking exactly how I use my time quite a bit.

  12. 012 // ben // 11.18.2007 // 6:45 PM

    On preview, I’m finally left with the impression that all y’all are mired in hyperbole. A pox on both your houses!

    If I’ve said it before, I’ve said it a million times:

    Spiffy tools are no replacement for knowing WTF you’re doing, and cheerleading to the contrary is professionally irresponsible, even if it’s merely tool users rather than creators who are leading the cheers.

    For you to be broadly and bluntly dismissive because I raise up my objections to the source of a tool is… well, the less I say about my reaction to that, the better. Google’s cheerleading for you - good for you, but automatically guaranteed to earn a gimlet eye from Yours Truly. Deal with it.

    Write off the actual discomfort about Blueprint to any one of a number of other causes: the fact that YUI was there first, perceived over-reliance on presentation-oriented class and id keys, whatever. One man’s trash ‘n allathat.

    In terms of engineering, I don’t think there’s anything wrong with frameworks for any platform, and I’m having a hard time finding anyone else here who thinks otherwise.

    Per your apparent confusion about “pissing off half the Internet” (nice rhetorical use of your own hyperbole there, by the way), read the end of my earlier reply. If you think a cadre of very smart folks is wrong, explain why, rather than jumping up and down, waving your arms around, insisting both that you’re right and they’re wrong, and insinuating that said Wrong Folks are elitists and/or cowards:

    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’m convinced these folks are just trying to drum up some false job security.”

    Looks to me like you went out of your way to piss people off. But hey, it brought traffic, right?

    Hell, it even got me riled up. Good job!

  13. 013 // Jeff Croft // 11.18.2007 // 6:52 PM

    Spiffy tools are no replacement for knowing WTF you’re doing

    Yeah, but: Who the hell said it was?! Nobody was “cheerleading to the contrary,” as you put it, Ben. Jesus.

    Google’s cheerleading for you - good for you, but automatically guaranteed to earn a gimlet eye from Yours Truly. Deal with it.

    Google is cheerleading for me? Where? When? I have no idea what you’re talking about when you bring Google into the picture, Ben. I’m also not sure why you associate Blueprint so strongly with me. I didn’t release it. I never would have released it. I’m not involved with the project in any way. YOu keep calling me a “framework developer.” The only frameworks I’ve ever developed were private, and never released to the public. You need to get your facts straight before you lay into me, man.

    In terms of engineering, I don’t think there’s anything wrong with frameworks for any platform…

    No? That’s in drastic contrast to what you said on your site. I asked:

    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?

    And you said:

    Yes, yes, yes…

    Ben, you seemed like such a nice guy when I met you in person. Why must you now make this matter personal, instead of about our industry? How does this help us get anywhere?

  14. 014 // Matt Robin // 11.18.2007 // 6:58 PM

    The man D Keith says it like it is:

    The fact that there would be any emotion involved in this kind of debate is pretty silly and frankly very surprising as well.”

    I agree, this topic (which seemed to be just a curiosity about people’s views on CSS Frameworks originally) got blown way out of proportion!

    Jeff, my fellow countrymen are a precious bunch, obviously, so they all got a bit defensive about the article…which is crazy. I hope you don’t think we’re all like that!

    CSS Frameworks seem very useful, it also seems to be very similar to what a lot of web designers/developers are using already (and they are just not calling it a framework)…so it’s not much different to a lot of stuff that’s happening - and I don’t think it merits anyone (British or otherwise) grumbling about whether it’s semantic enough or not…that’s just nit-picking!

    We need to move along from this topic…and quickly, it’s had it’s moment of infamy and even that was undeserved.

    Last point: I don’t think the ‘Web Standards War’ has been won yet though Jeff, I mean…just look at how much crap is still being made out there: that’s not a war that’s being won…not by a mile! Having said that, I do understand what you meant by your comment. Hey, some people are just war-mongers (that seems to be human nature for some people, irrespective of nationality)…it makes them feel important and they obviously have small dicks. Luckily, we’re not all like that eh? ;)

  15. 015 // Andy Budd // 11.18.2007 // 7:02 PM

    Jeff, it’s got much less to do with what you say and more to do with the way you say it. I really don’t care if you want to use frameworks or not. What does annoy me is when you start to make general allegations about unspecified people and then demand an immediate response to your criticism.

    In the past you’ve alluded to this horde of standardistas who haven’t written a line of code in years, making me wonder if Eric Meyer dropped you on your head as a baby. You then snap at people in your comments without actually listening to what they’re saying.

    This time you talk about a mythical bunch of largely British designers who are obviously running scared of framework. To add salt to the wounds you decided to call all your British friends on Twitter Limeys, which is generally considered a pejorative term. And then when people choose not to “feed the troll”, you get all indignant and demand answers. Frankly I’ve got better things to do on a Sunday evening than be forced to comment on a post I really didn’t care about in the first place.

    Where we do agree is when you talk about people creating little wars they can wage and win. The problem is, where I’m standing it seems to be you who’s starting the wars and then trying to involve as many people as possible. Well congratulations, you’ve just managed to rope somebody else in who really didn’t want to be involved!

  16. 016 // Jeff Croft // 11.18.2007 // 7:11 PM

    …and then demand an immediate response to your criticism.

    I’m not sure that I did this. But, okay.

    In the past you’ve alluded to this horde of standardistas who haven’t written a line of code in years

    Do you think that horde of standardistas doesn’t exist? They’re good people, and many of them are friends, but let’s not kid ourselves. Some of the leaders of the original web standards movement are no longer relevant. Period.

    To add salt to the wounds you decided to call all your British friends on Twitter Limeys, which is generally considered a pejorative term.

    If you took offense to my use of that term, then I sincerely apologize. I had no idea any of you would take offense to it, and quite frankly, I don’t think you would have if it was anyone but me saying it.

    Frankly I’ve got better things to do on a Sunday evening than be forced to comment on a post I really didn’t care about in the first place.

    Yeah, I’m really sorry about handcuffing you to the desk chair and making you comment. I’ll be sure to never do that again. rollseyes

    The problem is, where I’m standing it seems to be you who’s starting the wars and then trying to involve as many people as possible.

    Fair enough, Andy. I’m not above admitting that I’ve lowered myself to that level at times.

    Thanks for your feedback. I’m sorry you took all this so personally. It was really intended to be a discussion on CSS techniques and not a personal attack on anyone. Clearly, you didn’t take it that way (which is odd, because you were most certainly not someone who was ever in my mind when I was talking about people who oppose frameworks or irrelevant standardistas).

    I’ve never, ever said a negative word about you, your partners, or any other British web worker. I have the utmost respect for all of you professionally, and I’ve always enjoyed our more personal meetings, too. I guess I figured since we’ve been friendly in person, I could throw around a joke or two without getting slammed for it. Clearly, I overestimated our relationship.

    My apologies.

  17. 017 // Patrick Born // 11.18.2007 // 7:16 PM

    Wow.

    Web Standards has won the war and is now the dominant Religion in Web Design. We are now in Denominational phase where everyone thinks there understanding or thinking about how to implement Web Standards is the best. Conversations about topics such as these can be severely handicapped by the communication challenges on the web. These topics would be a good conference topic or round table discussion that gets video tapped and distributed. At least in video we could figure out tone and humor a lot easier.

  18. 018 // Jeff Croft // 11.18.2007 // 7:27 PM

    Web Standards has won the war and is now the dominant Religion in Web Design. We are now in Denominational phase where everyone thinks there understanding or thinking about how to implement Web Standards is the best.

    That is about what it feels like. I guess it’s natural. When a religious group becomes dominant, they start tearing each other apart, and segementing further. This sucks for two reasons:

    1. It’s painful for the person being turned against.
    2. The group becomes much less strong as a whole.

    Oh well. Human nature and all that.

  19. 019 // Dave McNally // 11.18.2007 // 7:55 PM

    Wow indeed - This topic has stirred up quite the debate and appears to have annoyed a few people.

    I have never thought about frameworks as such until reading your last two entries but, from my understanding of the term, I have been subconciously using them for a while. By that, I mean I have a collection of code snippets which I return to regularly when starting something new.

    I can’t see how anyone would be against something that can only possibly make their jobs easier. If you don’t like something or some part of it - Don’t use it! It’s as simple as that.

    PS - I didn’t take offence to any comments, I’m British and everything that was said appeared in a friendly manner to me at least :)

  20. 020 // Joshua Works // 11.18.2007 // 8:16 PM

    Per your AListApart definition of “framework”, I think you’ll find very few people to disagree with your thesis. But considering the colloquial understanding of the word “framework”, I think you’d have (had?) a hard time simply wrangling an opinion out of people.

    If you call those first 20 lines of CSS I slap into every site design a “framework”, so it goes, but I doubt you’ll find me marching to my boss and bragging that I built a CSS framework for all of our sites — makes me feel like I’m inclined to name it: WorksCSS Framework? Nah. Instead, I’m just going to keep on using them, occasionally refining those styles, and just get the work done. If someone else writes and publishes a CSS framework that just personally ‘clicks’, I’ll investigate the best way to put it to work for me. But I don’t think that happens for most people — like many commenters have previously said, writing CSS can be be a very personal thing.

    If I (we all) spent the time and effort creating as lush a framework for all our future sites as you & the gang did, of course we’d be excited about using and perhaps even evangelizing about it. But it’s that intimate knowledge — and only that — that makes it profitable and efficient to use. It just seems that the ratio of efficiency-gained:cost-of-use (learning a second-hand framework and dealing with personality nuances) is a hell of a lot less for CSS than it is for, say, back-end development.

    You used the (understandably hyperbolic) example of OS/Apace/PHP-as-framework in the comments of the first post, and while it might be a salient comparison, you & many commenters agree that CSS is already a comparatively-easy skill to learn. Why add the extra layer of abstraction on top of something that’s already close to super-efficient? Django saves me literally DAYS of work (weeks, in some cases) for every project with its Python abstractions. Even the most complete, docile, and personally-agreeable CSS framework would save me only minutes. While I’m personally excited and open to the future of these CSS frameworks, I can definitely understand where the roar of apathy is coming from.

  21. 021 // Jeff Croft // 11.18.2007 // 8:20 PM

    While I’m personally excited and open to the future of these CSS frameworks, I can definitely understand where the roar of apathy is coming from.

    A roar of apathy would be one thing — a roar of anger and denouncement is something else entirely.

    That having been said, I generally agree with all of your comments. Thanks for taking the time, Josh.

  22. 022 // Lea // 11.18.2007 // 8:28 PM

    I read your initial post and never thought for once you were mean-spirited and was completely light-hearted for “singling out” the Brits (on top of which, I think it also had an interesting point about CSS frameworks). I think this is once again an example of how limited text really is in regards to context for conversations over the web. It’s easy to assume everyone “gets” where you’re coming from, but alas, the reality of the internets is people sometimes read the wrong “tone” no matter what the original intent is.

  23. 023 // Will // 11.18.2007 // 8:30 PM

    Hello. I’m British and would just like to go on record as saying that I don’t give a shite.

    P.S. Does anyone else have a problem with the display of Helvetica Neue in Firefox 2 on Mac OS X?

  24. 024 // Joshua Works // 11.18.2007 // 8:35 PM

    A roar of apathy would be one thing — a roar of anger and denouncement is something else entirely.

    Agreed, and I think that’s clearly uncalled for. Opinions can be a pretty expensive thing to have as a blogger.

  25. 025 // Dan // 11.18.2007 // 9:27 PM

    I don’t know what this has to do with ‘Web Standards’.

    Nor do I see where someone would get the idea that there is some sort of war between Web Standards and everyone else.

    There’s really only each of us trying to find the best way to make websites.

    If we can share those best ideas/methods/resources with others, then that’s great - people can learn more, become more productive, and what-have-you.

    But no-one (not even Jeff, here) is forcing anyone else to do anything they don’t want to do.

    There are heapsa different contexts, applications, environments where all sorts of various standards and/or practices are most appropriate - anyone tried to make a nice-looking HTML email that works across as many email clients as possible?

    Don’t let’s take this personally.

    As far as CSS frameworks go, whether you use them or not (I don’t (yet)), it looks like the CSS3 grid positioning module (not to mention all the work that good people like Cameron Moll, Khoi Vinh, and many of you (yes, even you, Jeff :P ) have put in over the years) is going to give the kind of grid capabilities that many of the CSS frameworks provide, so, whether you use someone else’s framework, your own framework, or no framework at all, the grid paradigm seems to be a generally well-accepted means of site layout.

    We gotzta chill.

  26. 026 // Jeff Croft // 11.18.2007 // 9:34 PM

    …it looks like the CSS3 grid positioning module … is going to give the kind of grid capabilities that many of the CSS frameworks provide…

    Absolutely. And most certainly, when those future CSS tools are readily available and practical, the grid components of today’s frameworks will be obsoleted. There may be opportunities for frameworks to do even more at that point, but the components as they exist today will be obsolete.

    Since we all know it’s going to be several years before we can practically use CSS3 advanced layout and grid positioning, it seems to me that the current frameworks are a noble idea, and worth the effort to fill the gap until…2057, or whenever it is. :)

  27. 027 // Cory // 11.18.2007 // 10 PM

    Wow, I never thought a topic like CSS Frameworks would stir up such a discussion.

    As for the Brit comment…most of the well-known “Brit” CSS guys out there are far too snobbish for their own good, so it stands to reason that you probably touched a nerve. They’ll live……..

  28. 028 // Jeff Croft // 11.18.2007 // 10:03 PM

    As for the Brit comment…most of the well-known “Brit” CSS guys out there are far too snobbish for their own good, so it stands to reason that you probably touched a nerve. They’ll live……..

    Now, now. I’ve said over and over again I want to keep this non-personal. I don’t want people attacking each other on my site.

    And, for what it’s worth, every single British web professional I’ve met has been extremely nice and friendly in person. That hasn’t always held true online, but I suspect we can simply blame it on passion, and on the inadequacies of simple text for communication, as Lea pointed out.

  29. 029 // Jina Bolton // 11.18.2007 // 10:03 PM

    I don’t think anyone was pissed… If anyone was truly pissed over this, they have serious problems. You’re entitled to your own opinion on frameworks, just like they are entitled to their opinion against frameworks.

    Anyway, a debate is a good thing. I wouldn’t feel depressed or upset about any of this. We need good debates to help keep us on our toes, otherwise the internet would be a boring place full of everyone agreeing on everything. yawn

    :)

  30. 030 // Jina Bolton // 11.18.2007 // 10:11 PM

    Okay, okay. So reading back over comments, maybe someone did get pissed. But I don’t think it was about the framework thing, it seemed to be just how it was worded.

    Anyway, I’m gonna get back to working on my framework now… ;)

  31. 031 // ben // 11.18.2007 // 11:31 PM

    The reason I’m coming out gangbusters is because I’ve been saying the same thing for years, and today at least it doesn’t feel like anyone is listening… people claiming to be professionals are out there billing hours even though they don’t know asses from elbows. Frameworks are, in my opinion, just so many more pretty toys for them to fu^H^Hplay around with, barring the Radiant Future I described at the end of my reply post.

    It’s not even about standards per se - it’s about good work habits and knowing the technologies you’re working with. I.e., I would expect someone whose stock in trade is F500 intranets to know IE’s featureset to a fare-thee-well.

    The Google bit is a simple induction: you’re listed as a contributor to a tool that’s Google-labelled, I (and other high-level folks, from what I can glean) trust Google about as far as they can be thrown. Scorn upon them, not upon you - you and the other Blue Flavor guys I’ve interacted with are regular guys who put on your pants the same way as the rest of us, fersure.

    Where I come across as Mr. Crankypants can be expressed as three strikes:

    1. Frameworks allow the lazy to be lazier.
    2. The principal framework under discussion is being distributed as a Google tool.
    3. The light in which you cast the opposing faction was gracelessly unflattering, per my quotes and Andy Budd’s feedback upthread.

    On technical merits and principle I fully believe that frameworks are Good Things in the hands of people who know how to use them properly. Presentation based class and id keys are minutiae to the point of being a straw man (search-and-replace, anyone?) and my beef is with the past two years of fanboying that started with Rails and just keeps getting worse. Now practically everyone and their distant uncle has a framework allegiance - perhaps one they had a part in writing - and the discussion has turned so far away from fundamentals that are still sorely overlooked.

    My position is that categorically, frameworks do more harm than good because they are touted as timesavers rather than process-trimmers, and as a direct consequence put n00bs in a position to really zark things up.

    When a framework comes out that offers the timesaving benefits and rewards those willing to learn the underlying technologies, I will be the first in line to start using it. However, the abstraction enforced by most frameworks and template systems winds up punishing developers for asking too many questions.

    …To which I should add, I think it’s going to be a long time before we get past the hurdle of destructive abstraction.

  32. 032 // ben // 11.18.2007 // 11:41 PM

    Also, by way of explaining if not excusing my hairy ‘tude:

    • I’ve gone to lot of (originally inadvertent) effort to come across as that kid in the corner who occasionally says really insightful things, but spends most of his time o’er there in the corner eating craft paste. It probably won’t make me famous, but I seem to be good at it.
    • If you think I’ve been unreasonable here, I invite you to extrapolate my opinion on IDE’s with easily-abused Design View functionality. Scary, innit?
  33. 033 // Jeff Croft // 11.18.2007 // 11:48 PM

    The Google bit is a simple induction: you’re listed as a contributor to a tool that’s Google-labelled, I (and other high-level folks, from what I can glean) trust Google about as far as they can be thrown

    Ben, Ben, Ben. Where have you been the past two years? Google Code is a publicly-available subversion setup for people to host open source projects. The project has nothing to do with Google, it simply use Google Code to host the project (instead of SourceForce or any of the plethora other options). It’s one of thousands upon thousands of projects hosted at Google Code that have nothing to do with Google. This can hardly be construed as Google Cheerleading for me.” Google is no more responsible for Blueprint than it is a message you wrote with a Gmail account.

    And, I’ll say it again, I am not responsible for Blueprint. The only reason I’m listed as a “contributor” is because the person that is responsible for Blueprint borrowed some concepts from me (without me knowing he was going to).

    If you think I’ve been unreasonable here, I invite you to extrapolate my opinion on IDE’s with easily-abused Design View functionality. Scary, innit?

    I have no idea what you’re taking about, nor why you are talking about it. :)

    Ben, I appreciate your insight. Thanks so much for all that contribute to our community. It’s hard to imagine someone so plugged-in as yourself was unaware of Google Code, but now that I understand that you were, it all makes a lot more sense. Thanks for coming by.

  34. 034 // Andy Croll // 11.19.2007 // 1:15 AM

    I’m not massively into using CSS Frameworks (capital F) purely due to the use of my own frameworks (little f) using my own coding techniques, the Meyer reset et al. I guess that the dotted A4 pad I have on my desk is my preferred framework for rapid prototyping of websites…

    As for singling out us Brits, maybe it’s something about the national psyche that makes us love the smell of hand cut pixels in the morning? It did read as if you accused the Brits of elitism and protectionism, which was bound to raise some heckles. You insult a tiny island nation, with delusions of grandeur, at your peril!

    Given the forthright tone of the post (and some of the comments) and taking into account the amazing misunderstanding power of text, an emoticon could have gone a long way.

    :-)

    I have not doubt that all of the British ‘poked’ use their own resets, and standard styles and thus little ‘f’ frameworks - hell you only have to look at the code of a site to see it’s a Malarkey, or a Hicks. If you’re saying that my snippets are a framework it means that you are merely encouraging reusing stuff you’ve done before. I don’t think you’ll find anyone sensible who advocates against reuse.

    More specifically, using someone else’s CSS Framework doesn’t provide me with as much assistance, as say the OOP frameworks (Rails, CakePHP, Django, hell even ExpressionEngine). The abstraction of data relationships, objects and the typical MVC architecture helps save a lot of time and thought. I think mainly visually so perhaps I understand CSS better than some and thus am less inclined to find a Framework useful. In short, I’m with Josh W.

    If a framework (perhaps built into something like Dreamweaver) helps a novice produce code thats a more elegant and understandable then I’m all for it. A professional will always pick and choose their own bits and pieces to assemble into whatever toolkit/framework they need. You only have to look and see how a user customises their own desktop to see how different everyone’s workplace frameworks are.

    As for the web standards war being won… it’s an interesting viewpoint but I totally disagree. I can tell you there’s a huge amount of terrible, inelegant, inaccessible and downright ugly code in the world, and more being produced everyday. There’s an awful lot of old versions of Dreamweaver out there, and no inclination or encouragement to improve skills. This is particularly true in the local market out here (Singapore) bar a few exceptions.

  35. 035 // Jeff Croft // 11.19.2007 // 1:22 AM

    Given the forthright tone of the post (and some of the comments) and taking into account the amazing misunderstanding power of text, an emoticon could have gone a long way.

    Umm, this is the direct quote from my original piece (note the emoticon at the end):

    They’re British. This is totally irrelevant and doesn’t mean anything — I just think it’s interesting. They’re not all form the UK, but it does seem like most of them are, which is just a little weird. :)

    I’m still completely confused as to how this little paragraph got turned into me “insulting a tiny island nation” and calling people “limeys,” but if that’s what I did, then I most certainly apologize (for about the 14th time now).

    …it means that you are merely encouraging reusing stuff you’ve done before.

    That’s exactly what I’m encouraging. I’m glad you were able to get the signal through all the noise.

    More specifically, using someone else’s CSS Framework doesn’t provide me with as much assistance, as say the OOP frameworks (Rails, CakePHP, Django, hell even ExpressionEngine).

    Absolutely not — and I don’t think I ever suggested it did.

    I’m really sorry if I offended you, or anyone else.

    (Why doesn’t anyone just say “apology accepted” and move on?)

  36. 036 // Andy Croll // 11.19.2007 // 1:36 AM

    Apology accepted, though not required.

    Realise you have taken a lot of flack for perceived insult, which I did not intended to add to, but seemingly have. I appear to have illustrated my own point, nice moves Croll you dimwit.

    Curious I didn’t see the smiley, even on the third time of reading, despite not really taking offense. I think maybe I need some time away from the screen.

    My point about the Web Standards War stands, however off topic I might be.

  37. 037 // Jeremy Ricketts // 11.19.2007 // 2 AM

    What good can be gained from discussing this further? With Jeff’s posts and our commentary, our collective opinions, interpretations, and musings about the proper use and/or value of CSS frameworks could fill a small book.

    Jeff, your style of writing is aggressive, somewhat whimsical, and nearly always highly opinionated. All the marks of a great blog. Your one fault in this last post was making a joke that didn’t work. Oh well. No more twitters, no more comments, just leave it. Relationships shouldn’t have to sour or suffer because of it. The sooner you drop it, the sooner it will melt away into the mound that is the archives of jeffcroft.com I don’t mean to lecture you.

    Let’s not bee like some lame, never ending soap-opera or reality-TV show in its 7th season. We had a great run and people will continue to bring up these posts in google searches whenever they are considering using a CSS framework. I’m happy that when they do get here, they will see get to see some lively discussion going on. And they will make up their own mind just like all of us have.

  38. 038 // Jeff Croft // 11.19.2007 // 2:07 AM

    Well-said, Jeremy. You’ll hear no more from me.

  39. 039 // Olly // 11.19.2007 // 6:09 AM

    I’m still completely confused as to how this little paragraph got turned into me… calling people “limeys,”

    Heh, that wasn’t even you - it was Mr Mike D, in the very first comment ;-)

  40. 040 // Dan Shields // 11.19.2007 // 7:07 AM

    @Ben - You talk about frameworks as if it is something new with backend development. You are mad about people hyping up rails so much and it seems as if it has made you be biased against frameworks. Every Backend language has had frameworks for years. People coding java have always had lots of frameworks to choose from, the same goes for ASP.NET. There weren’t a lot of frameworks for PHP and see how much hacked up code and negative opinions people have obtained about the poor implementations of it.

    The thing about Rails or Django is the efficiency of them. I work with Java developers everyday and have started using Rails for a lot of their one off scripts because if they coded it in Java it would have taken them a week instead of a day.

    I’m not sure what company you work for or what type of large scale enterprise applications you work on, but deadlines are always tight and functionality is almost always more complex then the time given. To say someone is lazy because they choose to code something faster and most likely better quality because of help from a framework is just a little ignorant to me.

  41. 041 // Charles Roper // 11.19.2007 // 7:16 AM

    By way of trying to drag some sense out of this minor furore, I wanted to offer a little analysis for the framework developers to take away:

    It seems that those who think frameworks are “a bad idea” actually think it’s presentational mark-up that is a bad idea, rather than the concept of a framework as such. I think most (worthy) professionals would agree with this, whether we use a framework or not. So that’s something positive framework developers can take away from this discussion. And, to give them credit, some Blueprint developers are working on this very issue already. Further developing and refining frameworks seems like a very positive approach to the criticisms.

    As for CSS being easy; yes it is. But creating complex, grid-based layouts in a robust, flexible, semantic way isn’t, especially when you consider that CSS in its current form wasn’t ever designed to be used in such a way. Frameworks make it easier and more efficient to work with CSS. If we can pass on these efficiencies to clients while maintaining our professional integrity, then that’s a win-win situation. As Jeff originally asked, what’s not to love about that? I see current frameworks as being not far off from that goal, so the current negativity towards them seems to me to be a little myopic.

    As for the whole ‘brit’ thing, I’m a limey and wasn’t offended in the slightest by your light hearted observation. I did pick up on a sense of frustration, though. It seems that this frustration stems from the fact that the the opinions of several eminent bloggers in this community could potentially sink this really progressive idea of CSS frameworks because of a general lack of support or interest. That, I think, would be a tremendous shame. It would also be a dreadful shame if friendships were soured over this issue.

  42. 042 // Joe Teixido // 11.19.2007 // 7:28 AM

    OK, First and foremost I’m writing his as someone who lives by designing and writing CSS for actual clients and companies, not as someone that writes ABOUT designing, or tries to define new standards or enforce current ones. This is my real world perspective as a business owner, recruiter and contractor developer.

    As someone who charges clients for the time spent on any given project, any and all means to lower the time spent will make me a better option for my customers. I do care about quality so I won’t deliver a lesser quality product just to be “on budget”. If Frameworks are indeed a faster way to produce good quality product why not using them?. Mind you I’m talking about “perciable” quality, most clients don’t care about how they site was coded as long as user experience, project goals and deadlines are met.

    Any extra time testing or debugging a layout glitch on a particular browser it is at MY expense. I cannot go to the client and say, “Look I had to spend another 6 hours working on this glitch so add XXX US$ to the final bill”, unless I advised forehand against the use of that particular feature. So if Frameworks addresses the problem and I get to spend more time developing and less time debugging whats not to like?

    I had some experiences with people that said they were an “advanced PHP programmer” but all he knew was Codeigniter. I mean he had the basics but the project at hand needed someone that was really versed in the inner workings of PHP. I also found myself dealing with companies that needed a site made using “XHTML/CSS and DOJO” because all the company “Webmaster” knew of Javascript was DOJO. At the time I was kinda pissed of. So I can see where the “not good for learning” guys come from.

    As someone that took the hard core way of learning CSS/Perl/C/PHP/Javascript or whatever a Framework is perceived like somewhat of a “shortcut”. But there is nothing forbidding Us to take that Shortcut if the project needs one. I’m not saying we all should make a main stream out if this path in the woods, but we don’t need to shot arrows at those who use it either.

    So in my experience Frameworks allow you to achieve things that would have been hard, if not impossible in the given time frame. They DO make some things easier but they are NOT a “one size fits all” kind of solutions BUT they work extremely well when used along a certain scope.

    Just my 0,02$ and now I’m putting on my nomex and diving for cover!

  43. 043 // Jim // 11.19.2007 // 7:55 AM

    I’ve never, ever said a negative word about you, your partners, or any other British web worker.

    You said:

    I’m convinced these folks are just trying to drum up some false job security.

    The idea that somebody would deliberately try to hold others back in order to protect themselves from competition is a pretty nasty thing to accuse somebody of. When you point that accusation at one particular nation, it becomes even nastier. And then the first and second comments made it worse:

    Mike D:

    Ouch… shot across the bow to the limeys! Maybe it’s the food.

    You:

    Mike D., always the instigator!

    Imagine the roles were reversed, and you read something like:

    Commenter: That’s the Yanks for you! Maybe it’s because they’re so fat?

    Blog owner: LOL! Good one!

    Do you think the blog owner would come across as playful and friendly, or would you think he was being insulting?

    And quite frankly, the word games are annoying regardless of the nation stuff. A framework is when you cede overall control to the framework and supply code that the framework calls. It is not any and all code re-use. You seem to be twisting the meaning of the word to try to imply that anybody doing code-reuse is either on your side or a hypocrite. Pretty disingenuous. You can re-use code without it being a framework, and just because the majority of developers do that, it doesn’t mean that the majority of developers are in favour of a framework.

  44. 044 // Charles Roper // 11.19.2007 // 8:11 AM

    A framework is when you cede overall control to the framework and supply code that the framework calls

    That’s not true; you’re giving an overly specific description there. Frameworks are a conceptual structure used to solve a complex problem. Nothing to do with ceding overall control. The arguments for a CSS framework are clearly arising from a disagreement over whether the problem of CSS - specifically CSS grids - are complex enough to warrant a “framework”. Some think the problem does warrant a framework, others don’t.

  45. 045 // Jim // 11.19.2007 // 8:53 AM

    Frameworks are a conceptual structure used to solve a complex problem.

    That is a description so vague as to be meaningless. Practically all code fits this description.

    Don’t take my word for it. Consider Martin Fowler’s opinion on the matter:

    Inversion of Control is a key part of what makes a framework different to a library. A library is essentially a set of functions that you can call, these days usually organized into classes. Each call does some work and returns control to the client.

    A framework embodies some abstract design, with more behavior built in. In order to use it you need to insert your behavior into various places in the framework either by subclassing or by plugging in your own classes. The framework’s code then calls your code at these points.

    http://martinfowler.com/bliki/In…

    Or, from the Portland Pattern Repository:

    The HollywoodPrinciple is what distinguishes a SoftwareFramework from a “library”. When using a framework, the application-specific code written by the programmer gets called by the framework.

    http://c2.com/cgi/wiki?Hollywood…

    The arguments for a CSS framework are clearly arising from a disagreement over whether the problem of CSS - specifically CSS grids - are complex enough to warrant a “framework”.

    The thing I have a problem with is that Jeff seems to consider any type of code reuse to be a “framework”, thus any developer reusing code, by his definition, is in favour of frameworks. He’s redefining words until the statement “frameworks are a bad idea” cannot possibly be considered true.

  46. 046 // Charles Roper // 11.19.2007 // 9:27 AM

    Yeah, I see your point there Jim. I don’t know about anyone else, but I now find the word “framework” to be as vague, annoying and meaningless as “web 2.0” or “ajax”. It’s become a buzzword. Like all buzzwords it serves as a neat way of encapsulating a complex concept and can be interpreted in many ways. What’s important to me is whether a specific framework (in my case Blueprint) serves my own and my clients’ needs. It doesn’t serve those needs completely but shows great potential. I don’t particularly care what it’s called, and to be honest, I think the creators called it a framework because there’s a certain amount of cachet associated with the term at present. It seems this decision may have done more harm than good. I personally think it deserves to be more highly thought of, but to each their own. :)

  47. 047 // Grant // 11.19.2007 // 12:46 PM

    I really enjoyed both of these last posts and the ensuing conversation. Much of it is comical - often when people aren’t even intending to be. The most enlightening thing to me though was the parallel Patrick Born (comment 17) made to the religious “denominational” fractioning that seems to be happening. One of the blessings of the web is how there can be so many ways to essentially achieve the same thing - but this is also, often, the curse of the web. In print design there are only a couple ways I can design and implement a layout for print, but I’m just not bound in this way on the web.

    That said, I think 1) we should be able to have these types of discussions as a community both lightheartedly and even comically-in-jest at times without vitriol, and 2) at the end of the day, we need to make better sites - no amount of discussion will help us achieve that goal if the discussion/conflict itself becomes the goal (hence the religious parallel again)

  48. 048 // Mike D. // 11.19.2007 // 2:41 PM

    Jim: I still hold that British food is awful. But then again, I’m not sitting here saying American food is great either. Basically, we are both guilty of having pretty unhealthy cuisine. Yours is just a little blander. :)

  49. 049 // ben // 11.19.2007 // 4:35 PM

    @Dan Shields 40:

    At the enterprise level, investing in a framework makes more sense, particularly when the developers in that organization are inclined to learn that framework inside and out.

    For anyone who does more than two projects a year and goes through a platform reset every time (e.g., hired guns such as myself), libraries are much preferable to frameworks.

    There is also the question of resource usage with respect to framework twiddling on the orders of control-freak project sponsors, but it costs a lot less to buy a server than it does to hire a developer who knows how to optimize your framework install. *shrug*

    On the client side, meanwhile, I figure that frameworks are trouble waiting to happen, unless the going institutional culture supports the kind of investment in testing and tweaking that’s needed every time a new version of BrowserX ships.

    Finally, there’s the everything-but-the-kitchen sink nature of the things. Why am I loading a twenty-thousand-line app for a job that only requires a five-thousand-line app, again? …But as I said above, this is much more palatable in companies that have the money to throw at resource purchases.

    @Joe Teixido 42:

    Any extra time testing or debugging a layout glitch on a particular browser it is at MY expense. I cannot go to the client and say, “Look I had to spend another 6 hours working on this glitch so add XXX US$ to the final bill”, unless I advised forehand against the use of that particular feature. So if Frameworks addresses the problem and I get to spend more time developing and less time debugging whats not to like?

    Ohh, but you can go to the client just so. The contract language should definitely specify that if an automatic update causes rendering issues that take a browser’s experience out of its intended support tier, the site gets fixed at the client’s expense. The invoice line item can be haggled down, but by insisting on this provision you take the upper hand negotiation-wise.

    As for debugging known issues, once you’ve got the hang of them, you bill a higher rate, but make sure that the client knows what’s going on. What’s such a challenge about that?

    I see a lot of this as going back to the faster-better-cheaper rule: pick two. And for certain (not necessarily high) values of “better” I’m not convinced that better doesn’t take the hit when frameworks are brought into the picture.

  50. 050 // Dan Rubin // 11.19.2007 // 8:44 PM

    Not that it needs an additional comment, but I’ve found it curious that people have been having a negative reaction recently when the word “framework” is mentioned in discussion (face to face or via IM). I’ve always viewed the concept as a practical timesaver.

    It has been interesting catching up on the posts and comments after a weekend offline, though I still don’t have much of an idea why people would be against the concept of frameworks, other than the possibility of them encouraging more “lazy” developers (which Dreamweaver and other wysiwyg apps could be blamed for in a similar way), but that’s just silly: a responsible developer is free to use whatever tools and tricks make their professional life easier, and an irresponsible developer can do just as much damage coding everything by hand as they can with assistance from frameworks, plugins, etc.

    Some people use Photoshop plugins without modifying the default settings. Is that wrong? Nope. Do most professionals do it that way? Not the folks I know. Does that make it wrong to use plugins? Not in the least.

  51. 051 // Mike D. // 11.19.2007 // 9:36 PM

    I would just like to say that I love you all. AND… I’m cooking up a potpie right now. So British… and so tasty!

  52. 052 // Charles Roper // 11.20.2007 // 1:58 AM

    @Mike D: A potpie?? Bah. Go read the Wikipedia entry. And remember, there’s no bad food, only bad cooks. We have rather fine food in this country due to the temperate climate, concentration of farmers, regional variety and a lot of sea and coast. Our cooks, in the 1950’s, weren’t great but I think you’ll find things have changed since then, especially due to the healthy dose of multi-culturalism present in modern Britain. Our service ethic is still terrible, but at least we can get a good beer. ;)

  53. 053 // Henrik Vendelbo // 11.24.2007 // 12:25 PM

    Clever people say have stupid notions, usually founded in a lot of frustration from trying to make things work. I don’t think it is surprising that some people are wary of the word framework. Most programming language frameworks end up being a straight jacket, with the distinguishing factor being whether you you can get out of it when you need to or not. In terms of grids I get reminded of a lot of simplistic layout concepts seen in GUI app libraries. I can make a whole talk about how much the Java Swing layouts suck. Now you can make your own layouts, so potentially you can make the concept suck much less. With grid css you can of course use the grid classes to the extent that they apply. So of course they should never be a detriment to your ability to make a good layout. I suspect that some people have the typical corporate policy approach looming in the back of their head and can all too easily imagine a future where you are not allowed to define new CSS classes, but only use the “standard” classes from framework X. That of course would be a terrible policy, and should be dealt with rather than claim it as an inherent fault of the framework idea.

    On a side note of clever people entertaining stupid notions. At a panel discussion this week Douglas Crockford stated that CSS was a terrible piece of technology. When asked whether he meant the implementations, he said, no the whole thing….. Go figure. (As much as I can imagine the frustration with doing certain forms of layouts, it is a downright stupid and counterproductive statement to make)

  54. 054 // Jonny Frodsham // 11.29.2007 // 5:32 PM

    I must say I’m british (well english, don’t put us all in one pot, jocks, taffs, paddys, sassenachs are all very different species my friend, don’t get us started) and I embrace frameworks.

    I’ve been so busy I’ve not even checked out css frameworks, but I certainly will be doing so. I’ve embraced code igniter and jquery, which allow me to achieve things I want to in half the time it used to take me.

    I think tools are something which help you achieve a task. The result will be good or bad dependant on the person using them.

    END OF

  55. 055 // gowner // 02.23.2008 // 4:26 AM

    Well-said, Jeremy. You’ll hear no more from me.

  56. 056 // Keehun Nam // 03.31.2008 // 8:02 AM

    Let me just throw this in to the fire of arguments back and forth.

    Why reinvent the wheel, when you already have a valid and functional CSS code? Sure it might be just a bit bigger than what you actually need, but is that tiny increase in file size, worth reinventing the wheel?

  57. 057 // Keehun Nam // 03.31.2008 // 8:03 AM

    I’m very sorry. Jeff, you can edit my comment to be a little smaller. Didn’t think H1 would be so big in just a comment.

  58. 058 // tauflanda // 05.29.2008 // 6:13 PM

    Take, it is here…

  59. 059 // Benoit Deziel // 06.11.2008 // 10:52 PM

    I don’t mean to piss some of the “haters” (like you called them), but how many of them have done print design before? I’ve learned print design in college and everything was based on grid system. Web Design courses was only about knowing how Golive was working. No link between Graphic Design and Web Design. They both have things in common: structure, consistency, efficiency… Why bother on debating on if those frameworks are good or bad? We should debate on how we can make them more robust and flexible to start a great design.

  60. 060 // James Bavington // 07.04.2008 // 2:07 AM

    Isn’t the nickname ‘limeys’ a bit World War 2? You americans don’t still call us that do you?

  61. 061 // Jesse // 09.03.2009 // 12:04 PM

    I used Blueprint CSS for a major website: the Canadian Centre for Architecture (http://www.cca.qc.ca). The site has a minimalist aesthetic with a lot of varying templates - over 18 basic configurations in all - that all adhere to the same basic grid - which is wrapped in a semi-liquid, multi-column layout. For the liquid elements of the site, I created my own solutions. But for most of the site BP was the obvious choice, it really saved a lot of time and was very easy to work with. I really think CSS frameworks are the way to go on any major project that needs to handle multiple layouts, dynamic pages of any significant number and needs to be easily upgraded in the future - and needs to be coded by more than one peron. The price you might pay in code overhead (minimal) is easily offset by the coherence many frameworks, namely BP and YUI, offer.

    I agree that the controversy over frameworks in CSS is totally overblown, and in my opinion seems to be driven by egos. As in PHP, Ruby, and especially JavaScript, developers have come to realize that they often do the same things over and over and over again. #frame #container, #header, #content, #footer look familiar? Of course there’s always a way to do things more efficiently, and ‘semantically’ better, but ultimately I believe that we’ve more or less worked out the solutions to a handful of common problems. Some people I guess would rather believe that their custom solutions are uniquely qualified for the tasks at hand. This is an illusion, born in my opinion from the seductive quality of a blank css file at the beginning of each project. Like anyone else, everytime I begin a site I have rapturous fantasies of being able to write the CODE - it best possible, most minimal, and most flexible code imaginable. Staring at that whitespace I feel like I’m just about ready to right the Bible for the specific project I’m working on. Its a bit of God complex - or is with me anyway. But as always, I become humbled as my once pure code becomes tangled and obtuse, and I realize I need some sort of abstract framework to handle all of the crazy layouts our designers have come up with. Enter the framework.

    One last note in defense of frameworks: As I noted above, #headers, #footers, and #nav divs have become so ubiquitous that HTML 5 is including them as new tags! The conventions have become so clear that W3C has absorbed them - looks like a framework to me.

  62. 062 // Wood stoves // 01.07.2010 // 4:45 AM

    As I’ve gotten more into designing websites I find the idea of CSS frameworks common sense. When I originally read your post I found myself agreeing all the way through. I’m pretty surprised there’s been such an uproar. For me, although I like to design properly to standards where possible, I’m mainly interested in the end result, and CSS frameworks seems like a logical place to start.

    James

  63. 063 // Power Home Solar Review // 01.26.2010 // 7:43 PM

    Great site, I will be back. Well done

  64. 064 // vintage shoes // 02.24.2010 // 11:45 PM

    Keehun, I think your type style is a LOT bigger than what you actually need :)

    But I like your tie-in.

    Jeff, I’m diggin’ the color palette of this site. It’s very vintage / retro. great work!

Tags for this entry
Links in this entry