Designers tend to hate Bootstrap…
…and I understand this. I understand this because graphic designers are Artists who believe that a site’s “design” emerges from the organic values it represents coupled with the refined sensibility that only they have achieved through years of experience and education. Do the core values of your brand suggest the rounded corners and subtleties of Bauhaus or Art Deco? Or does the internal tension of your product’s subtext call for buttons that resemble primitivist surreality? Your web site is more than just a static entity it needs to be a “bold statement.”
Right? Because web site design is Great Art.
…and then I just install Bootstrap and the designer flips out.
Using Bootstrap is like “serving McDonald’s at a fine restaurant” – people don’t love a brand because it looks like all other brands, they love a brand because it provides a unique experience and style. The look and feel of every element is as important as the functionality of a site. Or that’s what the response is. The designer then proceeds to tell the client that “Bootstrap dilutes the brand… the most valuable asset you have…”
…and while I understand this, I also believe that this response is complete bull$#%# (unless you are really, really good, and most designers aren’t). To me this boils down to risk, money, and time.
- Unless you have Rune Madsen or Edward Tufte on your team, there’s a risk that you are going to end up with awful custom CSS. (If you are this good, then go for it, this post doesn’t apply to you.)
- It’ll cost you an arm and a leg to reinvent the wheel, you will literally be paying for someone to reinvent the button.
- Instead of focusing on requirements and functionality, you will be wasting your time on visual minutiae.
“Use Bootstrap or Foundation: I Don’t Care Which One”
Let’s take Bootstrap as an example. I view Bootstrap the same way a Java programmer would view the java.util package or a Ruby programmer would view the Array class. It is a guaranteed baseline of functionality – I know what is in there, I can easily make use of a standard interface, and, if a designer really needs to, they could go and customize it however they wish. If a Java programmer on my project came to me and told me they were going to reimplement the HashMap class because they had a better idea, I’d quickly look for a replacement. No, full stop. Don’t reinvent the wheel.
If a project needs a web site, I gather requirements and start to implement a prototype using some standard libraries: Bootstrap or Foundation, jQuery… the usual suspects. I will select these libraries because they support a set of standard requirements I know I’m going to have to satisfy,…
…but I’m not asking permission to use these features.
I’m not going to stop and engage in a dialog with a designer about whether the site should use a navbar or pagination… I’m not going to stop and consult “the designer” and ask them how the form should work or whether the site is going to use color coded labels to convey importance (I may ask them what color the labels should be… maybe).
The “Web” is beyond this stage. It used to be “Art”, but in 2012 we’ve all agreed on a basic set of visual cues… haven’t we? Every site worth using has converged on a set of standards, just like every iOS application or Android application provides a set of common design elements.
“Don’t tell me that, in addition to creating a web site to deliver online training for Chiropractors that we’re also going to take a few weeks to reimplement standard libraries for multi-select buttons.”
Is that what the Designer Wanted?
Then it happens. Then the designer somehow convinces the client that, like Apple, they need to give the designer total control over the look and feel of the web site. Because, you know, Jony Ive is the real reason behind the success of Apple’s products. They appeal to the CEOs yearning to be Steve Jobs and tell them that Jobs made a bold bet on designers that ultimately paid off in spades.
You’ll be moving along at a fast pace when your client will interject: “that menu looks nice, but have you asked the designer what they think yet… you should really let them own the look and feel of those buttons”. That’s when you try to explain that these are standards…
You, “These are the same buttons that Twitter uses, that Square uses.”
Designer, “That’s the problem, we’re diluting our brand.”
You, “Bullshit. You can add a customization layer atop Bootstrap.”
Designer, “That’s not the point. The point is that the overall look and feel of the site will look like Twitter.”
You, “Have you used WordPress or Google or Chase… you know all these sites have navigation elements and dropdown menus that look strikingly similar. Are you saying you don’t want…”
Designer, “None of those sites use Bootstrap, they have a custom…”
You, “You can add a layer of CSS to customize Bootstrap, don’t you…”
Designer, “We’re already developed these components in house.”
You, “Your argument for not using Bootstrap is that you’ve already implemented it internally.”
And, the client often buys this line of argument less based on the merits of the argument, and more because the “business stakeholder” feels less threatened by artistry than he is by technology.
What you do as a developer is a mystery, but what the designer does is very accessible.
The Disconnect: Web Design is No Longer “Art”
This is often what it all boils down to – a disconnect. Designers see frameworks like Bootstrap and Foundation as encroaching on their turf. I compare it to a Java programmer who avoids ever using Maven or Gradle because they really want to “own the build” and “understand the build from the ground up”. Except it is a bit worse for graphic designers.
When it gets to this point, I usually just stop and give the client some simple advice: “Fire the Designer and Choose One: Bootstrap or Foundation”