Everyone is using Bootstrap!

Published on 2015-12-31

This site is build using Bootstrap!

Everyone and her sister is using Bootstrap. Formerly known as Twitter Bootstrap it was craftet inside Twitter to address the need or a common responsive design on the web pages (and the main application) the company has/had.

Bootstrap gives websites and applications a grid layout with tables, dropdowns, icons and buttons eg. - and it all scales nicely for every possible screen size (this is easy to mess up and can easilly look odd, though).

There are a some reasons this might be a bad trend.

1: Bootstrap is large

Bootstrap is a very comprehensive library. I have used it for building several websites and applications and I haven't nearly used all of it! Every user that visit a site using bootstrap is forced to download the complete stylesheet and extra files when in reality only a 10th is actually ever used.

Proper caching and the use of CDN (there are several big ones for bootstrap) can reduce the stress on (especially mobile) connections. The best solution though would propably be to chop away the unused parts.

2: It's not in the library

It is very easy to give the link to the Bootstrap page to a designer and tell them to annotate what elements they are using in their mock-ups - and when it has to be implemented you'll have a very good time.

The problem rise when the layout and component you want is NOT in Bootstrap. This situation will let you choose one of two possible outcomes: You can either select one of the built in components instead. By doing that you end up distorting the user experience by forcing a sub-optimal UI upon the users. Secondly you can choose to make your own changes to Bootsrap to make it fit the design vision which will most likely leave you with something that feels like an abomination (at least in the code) and doing enough of these changes makes the whole project feel off.

3: Knowledge!

If you are like me you are building an application or website that has three types of code (possibly in three - or more - different languages). You have the backend - and that stuff if complex! You really have to know your stuff to be effective! You have spend a lot of time to learn this in order to be as effective as possible. Secondly you have the client code that talk with the backend. This could be the Javascript - and just admit it - most of the time you thing Javascript sucks! But you have spent a great deal of time learning to be effective in Javascript and every now and then you have the zen moment where you don't feel like you are doing the bidding of Javascript but instead bending that language to your will!

Can you tell where I am going with this??!

Your UI, your main page eg. - the most important part of the stuff you are building for your user - with that part of your creation you seem to be perfectly happy by handing off decissions etc. to a 3rd party library. By using Bootstrap for this you are effectively handing over know how to the libary and I believe this will actually prevent you from mastering the platform you are building and taking control - like you do with the backend and the client side code.