Twitter Bootstrap
benhowdle.im
benhowdle.im
I find these criticisms regarding the ability to recognize a "Twitter Bootstrap site" to be inconsiderate of the audience for which the sites were really created.
Generally speaking, the startup development community exposes themselves to new websites on a pretty frequent basis. Just because we can recognize a particular CSS framework, doesn't mean the intended audience of the website can.
I would be surprised if it wasn't an extremely small percentage of website users that would be able to recognize "just another Twitter Bootstrap site."
Don't let yourself get caught up in the bubble of the ever-critical development community. If you're building a site just to please folks within that community, you should probably do a bit more research on who you really want your target demographic to be.
If it's an intro page, a FAQ, a contact page and it's aimed at people who don't give a shit about if it looks like 1000 other websites then there's nothing wrong with that.
1) Do something 2) Tell people 3) Iterate
Sometimes you can swap over 1+2. Do not get hung up about not using the standard theme just because 0.1% of your visitors might recognise where it's from. Are they your target customers ?
But I had a friend check out the site recently who went out of her way to praise the UI; she had expected something much more utilitarian. And I think this is more common; there are still so, so many BAD sites on the net that even a standard Bootstrap site is of pretty good quality/usability.
So while I still do plan on upgrading from a fairly default Bootstrap experience in the future, I'm no longer quite so embarrassed about using it now.
This is all a little uppity coming from a blog using the Svbtle theme.
I hate Windows, iPhone, Android, OSX and Linux apps that try too hard to look and behave "different". Much of the hate for flash was because that was the standard tool people reached for when they wanted to make their sites fancy and different. I think we'd all be a lot better off if more sites used Bootstrap rather than less.
Seriously? You never release anything until you cannot think of a single improvement? Everything is time-constrained, and some of us would rather spend no time or attention at all on how things look, if only we could get away with that. Since we can't, we'd like to put something acceptable with the smallest time investment possible. The technical term appears to be "half-decent". :)
As such, maybe use Bootstrap when designing for a general audience, but consider going in a different direction, when your audience is developers? Because they - and only they - seem to get their knickers in a twist when you use Bootstrap.
I disagree. Bootstrap is there precisely for the people that do not wish to spend their effort on re-implementing reasonable web design techniques, yet wish their website to look "good". Sure, if you're selling yourself as a web-design expert you'd want to either completely customise it or make your own, but I did not get the impression you were restricting your comments to those.
Perhaps you're aiming your criticism at a completely different type of person, but I'd be interested in your critique (or otherwise) of these two, who clearly did not go the extra mile, and have not even used Bootstrap:
http://www-cs-staff.stanford.edu/~uno/ (seems to be down atm, as does Google's cache... http://cc.bingj.com/cache.aspx?q=knuth&d=460252651572473... )
This isn't a product you need to sell. It's a tool that people either need or don't. And if they need it then the GitHub readme will probably suffice.
I know the author has a valid point in there somewhere but this is a terrible example. Don't make developers feel like they should be ashamed to release anything until they've paid a designer to slap Kanye West on it.
For values of "people" equal to "people who closely follow and are knowledgeable about web site design trends". For a site like LiberWriter, that's probably about 1% of our customers.
The others see a better site than I would have done on my own.
I am not interested in spending weeks and weeks learning how to do quality web design, nor am I interested in spending weeks and weeks learning Javascript just so I can make something Not Bootstrap that looks about as good.
The goal of my (barely used) websites is to look clean and present the requisite information. Not going to lie, they look horribly cookie-cutter, and I could change that. But it doesn't matter (at least today). If it mattered, I'd change it.
Personally, I think it takes years.
Most art does, yeah. So... that only goes to make my point: I'm not skilled in the art, I am focusing on being skilled in other arts. If I wanted skill in that art, I'd hire someone who had skill in the art. Bootstrap serves as a cheap way to "import skill".
That assumes that you're making a product that designers will be interested in. Maybe it's just a crud app for doing finance stuff, or any number of utilitarian apps. And if it's a non-flashy open source project (projects geared towards designers don't count) then chances are slim that you'll find a designer willing to work with you on it. Design also has a very different collaborative model than development. You can't just have tens of random designers drop by and contribute patches.
I think Bootstrap is a net win for the web because it raises the baseline. If Bootstrap didn't exist, would all of those developers instead become/hired designers?
Why should I suffer attempting to design something that I know 100% will be classed shit, when I can use Bootstrap, a decent base look and colour scheme.
"Just ship!" is something I hear all the time. The app works and it's useable what else matters?
We have specific front-end designers & css/markup developers for "front of house", but for "Admin" sections - i.e. the backend that staff/etc will use to manage an app/site/etc - something like Bootstrap (i'm interested to try Zurb Foundation/similar for this role too) is perfect, because we aren't trying to sell a brand to those users, we're trying to deliver functionality, and it's nice to be able to just put pre-built components together and get functional dashboards, record lists, CRUD screens, etc.
Some people are not designers; they want to code and are in need for a tool that's like boilerplate, like something, that they can quickly grab so that they can start to actually code; a bootstrap! A tool that allows to create temporary, but working and good looking design in minutes.
I'm happy we have such tool; it is very useful!
I think people shouldn't blame Twitter Bootstrap, but the people that are using Twitter Bootstrap. They shouldn't stop with styling and design after Twitter Bootstrap is implemented. They should make the design their own.
Note: I'm one of those people. Sometimes I make a design with Twitter Bootstrap at it's core, and not change the styling of the input fields etcetera to make the design not look like Twitter Bootstrap. But that's MY fault, not the creators of Twitter Bootstrap.
Sometimes the software is a means to an end. I've made small utility web apps for clients before, and throwing Bootstrap in improves the experience of the site without taking more than a few minutes of time (which the client pays for). Spending time customizing Bootstrap or designing from scratch gets in to diminishing returns almost immediately, while that first quick step from 1994-style to Bootstrap pays off big.
Pride is one thing, but when it's somebody else's money you have to consider hubris too.
TL;DR: Use it where appropriate. Misuse is not Bootstraps fault.
Any grid-based CSS framework breaks content/layout separation - one of the best features of HTML5/CSS. Instead of naming elements based on document role, they are labelled by row and column position. After the prototype was finished, the designer wanted to add a banner at the top of the page. With normal CSS/HTML this would have been an insignificant change, but because we were using a grid, all HTML had to be rewritten because row 1 now equaled row 2, etc.
#2, The CSS in Bootstrap changes the global defaults of all HTML attributes. I have probably written as much CSS to undo bootstrap styles than to add new. I hope you like writing "line-height: normal" over and over again.
I could conclude saying that bootstrap should only be used to build prototypes, then throw it all away before developing the production app, but I don't know why you need fancy formatting in a prototype app. I'd recommend you build the first version in black-and-while/wireframe style, then hire a professional designer for the final decoration. If you are not a graphic designer, focus on writing maintainable, compliant HTML and CSS.
I'd be interested to see what "normal" CSS/HTML you would use to achieve a fluid, responsive grid in a relatively cross-browser fashion, that maintained all of this semantic magic. As much as the "content/layout separation" ideal is lauded, it's pretty difficult to achieve in reality - and just because something is in HTML, I don't believe that makes it "content".
Addressing your two examples: first, you shouldn't have to rewrite "all" of your HTML to add a banner to the top of the page. There aren't any "row1", "row2" etc classes in Bootstrap. If that was a requirement, I think someone's done something funky with your layout.
Second, part of the appeal of Bootstrap is that it changes the global defaults of HTML elements. Such resets are commonplace and give you a consistent look and feel across browsers. If you're looking to "undo" Bootstrap's styles, then you probably shouldn't be using it in the first place.
Separating content and layout takes a little effort to learn but I assure you it is possible and effective. In my opinion, grid-based layouts are table-based layouts with a coat of paint.