105 comments

[ 4.8 ms ] story [ 116 ms ] thread
I love it. If you're offended by this, you take life way too damn seriously.

I use a lot of bootstrap for internal web apps so that I can spend nearly zero time on thinking about the UI/layout and all my time just gettin the damn tool built.

If it's public facing I rarely use Bootstrap- but good lord Bootstrap is handy for getting a UI on something quickly or for prototyping a layout.

That's exactly how I use Bootstrap, and 2.3.2 at that, since it's too much of a waste of time to upgrade what just works already. I get a not dog-ugly app with easy directions on how to implement 99% of what I want to accomplish and I don't have to spend 12 hours twiddling CSS for a design that I think is barely passable and everyone else thinks looks like crap, which allows me to focus on features? Sold.
Same here. It's really really nice for administrative interfaces: forms, buttons, table grids, error states, labels, etc.

Everything looks good and the people that actually have to use it don't even know what "Bootstrap" is, but they aren't looking at the result of a programmer doing a half-assed job styling something only 10 people will ever see.

Seriously, this is clearly a joke and he even says the template is nice at the bottom. There's nothing wrong with using this template, and I don't think the creator of this site would disagree. People seem to be taking the blunt tone as them telling us not to use this template, but it seems more like good-natured ribbing to me.
I use a bootstrap theme I worked on which basically removes all the graphical stuff and leaves just the grid system. It makes dead easy to compose a layout and it can still be tuned to suit any design.

The only thing that I find hard to tune is the navbar, as you can see here it's the only thing giving that bootstrap vibe https://vimeo.com/147455840

All in all it's a good tool to tame browsers.

ROFL but true.

Bootstrap has become a sign of a lazy developer.

It is insane that this thread got downvotes. WTF guys, it's just a Joke-website. That comment seems like a joke about it. I don't understand why it got downvotes. Edit: typo
Hey, I see you are new here. Don't take the downvotes personally, it's just that Hacker News users prefer to keep conversations focused. Thus, the following types of comment tend to get downvoted somewhat quickly:

* jokes

* complaints about downvotes

* downvote predictions (thus self-fulfilling prophecies)

* single word / single expression

* simply (dis)agreeing (there are up/downvote buttons for that)

* condescendence, insults, etc.

This is very different from Reddit where numerous threads end up littered with jokes and puns. On the other hand the following types of comments tend to get upvoted:

* insightful and well structured (as in: cut in several paragraphes)

* food for thought

* counter-point (politely worded, obviously)

* sourced

----------------------------------------

Your first comment was probably mostly perceived as a joke:

* “ROFL” just expresses your personal reaction to previous information, and the common use of this acronym usually signals a low quality comment

* “Bootstrap has become a sign of a lazy developer”: this reads as both condescending (“lazy developer”) and unsupported; a more constructed argument with the same idea would have been fine

Your second comment contains the word "downvote", which is often enough to get downvotes.

----------------------------------------

You might want to have a look at:

https://news.ycombinator.com/newsguidelines.html

https://news.ycombinator.com/newsfaq.html

Fact is, all what my comment was is "downvote". The others wasn't mine( "rofl, lazy Dev"). But Thanks alot for the info :-)
My bad. I was confused by the two green nicknames and did not notice they were different. Glad it is useful!
A great developer is an efficient developer. An efficient developer is lazy by habit. It's a sign of a developer focusing on the core of their problem.
Ok, bootstrap (as well as jquery) has become a sign of lazy AND inefficient developer.
Inefficient according to whom? Money or CPU cycles or being able to get someone to enhance it later on?
You cannot enhance Bootstrap itself easily. Moreover, you cannot rewrite any core functionality clearly done wrong. I don't need a widespread virus called jQuery, I want to write pure JS, and I definitely have no need in that virus to make my website truly responsive. Why use a plugin to make a hamburger menu when you can do it using pure CSS3 and a hidden checkbox? Why all that overhead?

http://codeofrob.com/entries/you-have-ruined-javascript.html

If all you needed was a hamburger and a hidden checkbox, it would be a waste to pull in jQuery. But even still, if you were familiar with the plugin and it would take you 5 minutes to do it that way, why not? If page size or load times are excessive at some point, trim the fat then. So many things already require jQuery it's likely that the project a developer will be on already has the framework, so they may not be impacting the page size at all.

But what if you want to use a form wizard plugin, validation, a calendar picker, AJAX form posting with backward compatibility and can't use FormData because you have to support those older browsers? Well, all of those cases are covered and VERY well documented for jQuery and the different plugins you'd need. So now you're being very efficient with your time and you're making the smarter choice of giving yourself more time to focus on the problem you're trying to solve, because I doubt rolling your own calendar picker is the goal of the project.

Again, why would you build your own grid and responsive layout/break points when you can just pull in Bootstrap? If the goal of your project is to build a responsive grid, then obviously, go build it. But if your goal is to deliver a web application for desktop and mobile that may already be facing some budget or time constraints, the you're wasting your client's time and your employer's money.

If you're picking Bootstrap or jQuery you're not trying to enhance them. Your using them to jumpstart your project to build the parts that you need to build.

jQuery is bloated and big, but it (and prototype/mootools/etc) lead the way for cross browser compatibility from the time that making an AJAX request required 20 lines of code and a bunch of cascading if/else blocks to make sure which request object you were going to get. It's been around and grown to the size and usage it has exactly because it was/is useful and brought some level of efficiency.

I'm playing a bit of a devil's advocate here because I don't use jQuery for much of anything these days. I'll use it if it's already in a project I've got to touch. But I won't bring it in to a project I start unless there's a real compelling reason.

I absolutely love someone who is interested in making better, specific solutions for things, that is able to really understand the problems that come with building a grid, or a calendar picker, etc.

Once that person has built up their own library of those things, then absolutely they should use them over the jQuery and Bootstrap where it makes sense. But that is also assuming that the developer actually did a better job with what they built than what is offered in Bootstrap or jQuery. It's a bit narcissistic to think you will always be better than what a team of people has been working on for years, but it doesn't mean you're not wrong either.

Often though we are mid project when we realize we need a calendar picker or some other widget for some three forms. I would have a very serious problem with one of my developers careening off course and holding the project up for 6 days so they could build the widget from scratch when they could've gotten one of many jQuery plugins and had all three forms done in two days.

At the end, you bring in the overhead of code maintained by somebody else because you think it will let you finish faster, higher quality, or with features you otherwise wouldn't be able to build.

> But even still, if you were familiar with the plugin and it would take you 5 minutes to do it that way, why not?

Because I believe these kind of things must be solved with no JS at all, let alone a bloatware lib.

> If page size or load times are excessive at some point, trim the fat then.

jQuery is THE fat.

> So many things already require jQuery

... that I try to avoid them as virus spreaders.

> a form wizard plugin

Wut?

> a calendar picker

<input type=date>

> AJAX form posting with backward compatibility

XMLHttpRequest (probably with some wrapper functions).

> and can't use FormData because you have to support those older browsers

If a thing happens we must enable front-side file uploads for unterbrowsers without FormData, then we use our custom iframe-based solution and charge the customer additionally. Unterbrowser users must suffer, as well as those who want to support them.

> because I doubt rolling your own calendar picker is the goal of the project.

All the things we need were already rolled long before the project start.

> Again, why would you build your own grid and responsive layout/break points when you can just pull in Bootstrap?

Because my grid weighs 999 bytes. How many kilos does Bootstrap weigh?

> the you're wasting your client's time and your employer's money.

Nope, because the grid is already built.

> If you're picking Bootstrap or jQuery you're not trying to enhance them. Your using them to jumpstart your project to build the parts that you need to build.

Since they don't meet my needs 100% of the time, I would end up with some modules that do the same as the ones written from scratch, but slower and with buggy underlying code. Why would anyone prefer that?

> making an AJAX request required 20 lines of code and a bunch of cascading if/else blocks to make sure which request object you were going to get

How hard is it write it once, the way YOU see fit, and then use it all your projects? Or you believe only jQuery authors are allowed to do that?

> It's a bit narcissistic to think you will always be better than what a team of people has been working on for years, but it doesn't mean you're not wrong either.

I'm not trying to be better than them. But yes, I'm trying to do _things I need_ better than they can offer.

> At the end, you bring in the overhead of code maintained by somebody else because you think it will let you finish faster, higher quality, or with features you otherwise wouldn't be able to build.

In the real world though, "finish faster" and "higher quality" are almost always mutually exclusive.

I did an ugly UI for a mobile app I did for personal home use. My daughter said "Haven't you heard of Bootstrap?". This is getting insane.
Listen to the youth. There is wisdom in what she says.
He forgot to break the Back button.
How come this didn't highjack my scrollbar?
There is noting lazy or bad about using bootstrap. In fact it has made HTML far more readable and maintainable. It has also made web in general more beautiful than it use to be.
I can understand the part on the "more beautiful" but I for the html part I suppose you don't have to deal everyday with things like :

  <div class="row">
        <div class="col-lg-3">
          <ul class="list-group">
I fail to see the issue here?
Same, this is a million times more legible than the HTML Google Material Design uses.
Exactly! Those three lines of Bootstrap HTML tells me lot more than any other three lines of a non bootstrap site.
You can always replace the divs with more semantic markup, just with the Bootstrap classes attached. I mean, using a main element for the container, a div for the row, then an article and various aside elements for the columns (depending on the layout and structure) will at least make the source code somewhat easier to parse.
Looks quite nice, at a glance. What am I missing?
(comment deleted)
Seems a vast amount of new, tech websites look identical to this one as it was a bootstrap template. So it's making fun of those who use the same template, tweak a few things and boom it's a "super awesome website that we worked hard on".

Bootstrap has its uses. Being non-creative and using the same template over and over like everyone else just comes off as unimaginative.

Most designers could never create something that's better than the basic bootstrap framework, which makes this site incredibly ironic. There's nothing wrong with a common design language or layout system for the web. I shouldn't have to sit there for 5 minutes to guess how to navigate a website.
> Most designers could never create something that's better than the basic bootstrap framework

Maybe? Are you meaning 'most' in the more general of terms (in which case I'd argue most programmers couldn't even use bootstrap because most implies > 50% and many programmers are terrible at front end web development)?

Maybe I'm just used to high quality designers but I haven't worked with one yet that couldn't do just that.

I'm not talking about developers. Most designers on the web are neophytes from a UX standpoint because they got their start in print in college and are making a transition lest they become unemployable. Furthermore, the nice thing about bootstrap is that I can look at the code and immediately understand the intention of the designer. Custom rolled CSS isn't that obvious, usually.
> "making fun"

Like this? "Ha ha, you chose the most cost effective web-design option. What a dummy you are."

Hey I never said it wasn't cost effective just unimaginative :). Not everyone has the time nor money to be more imaginative than a default and there is absolutely nothing wrong with that nor is it even needed all of the time.
Mainly that it's overused, as the article subtly implies.

Also, I think, that it embodies style-over-substance in web design: lots of empty space, lots of unnecessary scrolling, lots of cute but pointless gimcrackery.

Do you remember what the Internet looked like before bootstrap?

I do.

I'll take it.

I think it looked just fine.

http://motherfuckingwebsite.com/

I actually disagree with this "improvement" in all but one of seven of his CSS declarations. The default font size, the pure black on pure white, line height, and default margins are all fine in default plain HTML pages. However, since computer screens have increased in width since the first web pages were designed, I've added this user style to all pages I visit.

    p { max-width: 50em; }
I challenge everyone to go for an entire day with CSS disabled (View -> Page Style -> No Style on Firefox). It will help your design skills if you are a designer.
If you think that looks just fine, what do you actually think looks bad?
Anything where the text and background colours are such that it's difficult to read, for one.
That doesn't contain any buttons or grids or any of the interactive stuff that Bootstrap provides, so its not a great comparison.
(comment deleted)
I'd say this less a Bootstrap problem and more of a 'every site based on a cheap theme' ever.

Sometimes clients are unwilling to pay for real design and see more value in that $20 theme forest theme, especially with cheap Wordpress sites being turned around in a day or two.

It's not about being unwilling to pay for real design. You have to realize that most clients who buy these themes are getting a serious upgrade from their 1990s-era websites with table layouts and basic inline styling. So if a cheap theme can provide such amazing value, at that point the value a real designer can provide becomes marginal in comparison.
> It's not about being unwilling to pay for real design.

Nailed it. If I've got a client who has only $10K to spend and I know that I can deliver all of the functionality and a pleasant Bootstrap theme within the budget, then I'm doing the client a disservice not to make that an option. Not only that, even if it's not a theme, but just 'raw' Bootstrap, I'm jumping way ahead and reducing a lot of the browser/window size bugs I'd run into by starting from scratch with the CSS.

Now- if the client was coming to me and the focus was on the design, then I'd be ripping them off if I shoveled some rehashed Bootstrap theme over the fence and called it magic.

I can understand a lot of arguments against it, but I'm still okay with starting your design with Bootstrap CSS for their grids and such. Granted, you could get a lot smaller/more performant grid frameworks, but I wouldn't chastise someone for starting with it.

Most clients won't need real design or anything more sophisticated than Wordpress.
I was wondering what was the template behind all these similar designs. Today I learned. I really like that template and I love the idea that one can build a beautiful website with little effort. Why reinventing the wheel?
I agree with you. It's a pretty, modern looking template that suits a variety of products.

Good design is hard, and good designers are expensive. Wouldn't you rather have the default design be a good one, instead of paying shitty designers to make shitty designs and use that as the default look for the web?

The last line is:

"Honestly this template does look really nice, though."

I'd rather the default design have some actual damn information rather than a few vague feelgood phrases and some unrelated stock photos. Bonus points if they don't make me watch a 5 minute video full of exciting music and artsy slow-mo footage of "cloth sliding off a thing" or "people laughing in a park" and still give me no idea what their stupid product actually does.

I know this is a gripe about the content rather than the presentation, but seriously, so many websites based on this kind of template are a total waste of my time and attention.

I agree. For a lot of small companies/side projects I'm not at all annoyed by overuse of bootstrap. I think that it's better to put your energy into making a great and unique product than making a great and unique page to sell your product.
I think the gripe is how much little thought goes into HCI and how copy-paste programming leads to better portfolio and job offers.

I can't find any fault with that. Recruitment is as much broken as interviewing is...

People laugh at the Tarsnap website, but when I see sites like this I'm glad I didn't succumb to the pressure to adopt a "modern" design.
Just as an anecdote: I certainly don't laugh at the Tarsnap website, but it immediately turns me away as a potential customer. The instant gut feeling is "OK, this is a product made by someone who laughs at UI design. They didn't even try. The product will probably be a pain to learn."

It's most likely not an accurate description of Tarsnap, but its's a strong enough first impression that I'll immediately close the tab.

And that's a shame, a mutual loss for Tarsnap and any potential customers. Tarsnap pops up on Hacker News quite a bit, so it probably is much better than the impression it gives.

Design certainly isn't a binary choice between adopting fads and abandoning aesthetics completely. The overused styles are overused because they are viable first steps towards a decent design. The cop-out alternative--taking no step at all--isn't better.

Thank you for including the picture of the laptop and phone. Why it's important for people to show pictures of this in their website has always confused me.
Modifying templates is actually surprisingly difficult - not technically difficult but just because its so hard to make the changes look as good as the original. Often it seems to me that -only- the original text or images will work with the template as changing any of the contents throws off the alignment, color balance, typography, etc for everything else. For example - the template that the OP is ranting about looks terrible because he used far too much text in most of the sections. Unfortunately, 99.9% of templates can't actually be modified by non-designers since there seems to be no combination of changes that will look good. On that note: the design that OP is using is actually the only template I've ever gotten to work with my own content (I stay away from web design for this reason) so maybe the problem is an abundance of poor designs that are too brittle to modify by non-designers?
Hmm, I guess trollstrap.com was taken?
These days if you spend 5 figures on a custom web design it's probably going to be perceived as amateurish by all the users conditioned on standard looking Bootstrap templates.
The problem is not so much Bootstrap, or the template, but the bullcrap that many of these landing pages loaded with just because the template that the designer got has all these placeholders they they have got to replace with.
Or the dozen or more JS libs and jQuery plugins that are loaded, but never actually used because they started with a kitchen sink template.
Maybe it's because I'm not a front-end developer, but I fail to see the issue here. Besides the weird scrolling.

As a backend dev, I enjoy the ease with which I can set up a Bootstrap site on my side projects. I'm not good at CSS, so I'll use a Bootstrap theme. It'll make things look all right, and I can focus on content and making the backend work. Later I can return to the styling.

I don't think every site needs to be wholly new and incredibly imaginative. In fact, the uniformity makes it easier for me to process the content.

Bootstrap is great for, well, bootstrapping. Should it be your final CSS when you've had a lot of time to think about your design? I dunno. But I feel that the hate is unwarranted.

Totally agree with you. Not every site needs to be a work of art, First it needs to be functional and have a good user experience and bootstrap helps a bit with the latter.

I actually find over-designed sites harder to use.

Agreed, us as programmers often like to consider things good if they're technically challenging and creative, but we're so blind to worlds outside of programming that we don't see the real purposes of things like these websites. Surprisingly some of the highest converting pages have the ugliest designs you can imagine, just because they're functional and only do what they're meant to do.
I don't think the creator is saying there is a problem, honestly. The language is blunt, but it really seems like a joke more than a statement.
> In fact, the uniformity makes it easier for me to process the content.

Indeed, I think people underappreciate the advantage of this.

In the past I've designed some pages that were objectively better than the existing patterns, but people wouldn't get it (only hackers, in the hacker news sense of the word, would get it and like it). Now, years of gradual change later, lots of sites work this way and people get it.

These days I notice when sites don't work like most; it makes it really hard to find anything, even though the design might be pretty great on its own.

That particular bootstrap theme has enough flair that it gets annoying to see it repeatedly. There is more to bootstrap than just that single theme, but it has become too popular.

Imagine if there was a video editing template that cut any movie to 60 seconds, with transitions every 10 seconds, set to the music from Inception: it might look cool the first time, but you'll get sick of the template quickly because it has very specific features that stand out.

The hate is certainly unwarranted. I think we should be promoting the benefits of design rather than cutting down those that don't necessarily see the benefits in having a custom UI.

Bootstrap is certainly boring and provides a very homogenous visual aesthetic, but it's all in how you use the framework. If you simply pull everything out of the box and slap it onto your app I think you're doing your product a disservice.

(comment deleted)
Why be a jerk about anything? Life is too short.
While I agree that's it's been over used, I have to wonder if it's better to put your limited time on making a unique website rather than putting this time into making a better product?.