If a custom interface is part of the value proposition of your product and you’re currently using Bootstrap, then you should be asking your team: “At what point is this product bankrupt?”
In this analogy, bankruptcy is the point at which the value gained from the custom interface is less than the effort required to refactor Bootstrap and implement the new interface.
When it comes to custom interfaces, Bootstrap isn’t a box of bricks, panels, walls and doors with which you can build anything you want. Bootstrap is more like a mortgage. Mortgages can be good things. You didn’t have the time to save up and buy your house in cash. You needed a mortgage to get a roof over your head.
That’s similar to using Bootstrap to get some UI in place when you don’t have the resources to build UI from scratch.
Some time has passed and now you want to build an addition onto your home. You’re going to need a home equity loan to do this. Well you don’t have any equity yet. You’ll need to pay back some of that debt first. This is similar to the moment when you want to add some custom interface into your product. First you’ll need to pay back some of that tech debt.
The tech debt comes in the form of decoupling your markup from your presentation. For example, if you’ve married a grid system into your markup then you’ll have to remove excessively nested <span> tags with row, column, and other non-semantic classes from every view of your application. If this tech debt is known to your team, then all of this is perfectly fine… until the point of bankruptcy.
Bootstrap isn’t all bad
Bootstrap is a framework. It does what it is supposed to do and it does it very well. There are some great conventions and learnings that can be gained from studying the use of variables, modules and file structure. However, Bootstrap was not made to be the answer for all of your custom interface needs.
“If performance is a priority — as it often should be — then you’ll be best served by tailoring your own solution atop a more lightweight foundation.
But if your goal first and foremost is to launch your website, or if front-end development isn’t your strong suit, then Twitter Bootstrap may be right for you. Many people put themselves in these camps, judging by Bootstrap’s popularity.
Given its heavy usage across the Web, consider taking everything good about Bootstrap and making it your own.”
I’ll say it again: If a custom interface is part of the value proposition of your product and you’re currently using Bootstrap, then you should be asking your team “At what point is this product bankrupt?”
Disclaimer: The statements and opinions expressed in this article are those of the author(s) and do not necessarily reflect the positions of Thoughtworks.