When I saw the headline for Jen Kramer’s article “Responsive Design Frameworks: Just Because You Can, Should You?” on Smashing Magazine, my first response was worry. I thought that she was going to say how great frameworks are and that we should use them all the time. I quite strongly believe that the answer to the headline question is no (and not just because of Betteridge).
That’s not what she says, though. Kramer’s article is well thought-out, well reasoned, and sensibly pragmatic. “It depends” is the most common answer to software questions for good reason.
Am I saying we should ditch customized solutions for frameworks? No, of course not. A fully customized solution has its place in the Web development world, just as canned CMS themes have their place. If your client has the time and money to achieve perfection and a fully customized solution is a sound approach for the project, then why not?
The price concern is very valid, but even when I was freelancing I wouldn’t use off-the-shelf templates unless I could help it.
Browser support
Another thread of her argument is around not needing perfection for every client, and “Can we get something that’s “pretty good” instead?” (by using a framework). This bit is complicated for me. I completely agree that we can’t achieve perfection, but for different reasons: browser support. It’s interesting (and a little scary) looking at Boostrap’s support table and Foundation’s compatibility table. Bootstrap is actually not so bad: it goes into a bit of detail and explains that some of the features (e.g. CSS3 things) are more granularly supported.
Bootstrap is built to work best in the latest desktop and mobile browsers, meaning older browsers might display differently styled, though fully functional, renderings of certain components.
Of course, it’s all a bit complicated. Some of the support / compatibility table data is about what has been tested and really works, rather than what will be kind of okay. Even having a “supported browsers” list feels a little like it’s sending the wrong message, though.
As builders of things for the web, we have a duty to support every browser, and to build things in a future friendly way. Our sites might not looking as amazing on the stock browser on a Nokia Asha as they do on the latest Chrome on a high-end MacBook (dwsntbeetsieb refers), but it should work on both (and everything in between). We can then use stats and experience to guide us in where we then optimise the experience.
Flexibility
Over the past few weeks, I’ve kept coming back to John Allsop’s classic A Dao of Web Design.
The journey begins by letting go of control, and becoming flexible.
It’s difficult to accept that lack of control, to accept the ebb and flow and move into thinking about proportions rather than pixels, but it’s essential for building sites that will live in our multi-device world.