Bootstrap & the Modern Web


Bootstrap logo with a background of repeating 'I heart Bootstrap' text.

What is the Bootstrap Framework?

The Bootstrap framework was originally the brain child of Mark Otto and Jacob Thornton (when they both worked at Twitter years ago). In the early days of Twitter, Mark and Jacob found they needed a reliable and consistent User Interface framework to handle the iterative processes that working on a modern social network demands.

From a technical POV, Bootstrap is an open source CSS framework that includes some JavaScript code for complex components. It relies on (a now) legacy open source technology known as jQuery, which was created and is still maintained by professors and students at MIT (the Massachusetts Institute of Technology).

The "Modern" Web Development Dilemma

So-called "Modern Web Development" community has some pretty serious qualms concerning Bootstrap as a tool for "modern" web development. The core of the qualms concerning Bootstrap all boil down to page size/weight. Essentially, Bootstrap has a reputation for being "big" or "heavy." This means the file size of both the CSS portion of the framework and the JavaScript portions of the framework are all together considered "big."

Now, this judgement of file size is very valid, and is a definite UX Design concern for any brand doing business online. However, the "Modern Web Development" community is currently in a honeymoon love phase with newer technologies like Facebook's React, Google's Angular, and the independently developed Vue.js frameworks. The one aspect these frameworks all share, is they don't need (and in many cases conflict with) MIT's jQuery. So for developers, it's a choice between one or the other.

We have to stop optimizing for programmers and start optimizing for users.

Jeff Atwood

jQuery was a key web technology for over a decade, and could be found on a vast number of websites on the web during the 2000's decade. jQuery is still a key technology on massive platforms like WordPress (30% of websites) to this day. The tech was/is popular because it helps developers to support pesky browsers (Like Microsoft's Internet Explorer and Apple's Safari) without having to do a ton of extra work/code for that support.

However as web technology moves forward like a freight train each week, the reasons for using a tech like jQuery became arguably obsolete. JavaScript itself (as a language), was updated to include many of the features jQuery was so popular for... which further made jQuery feel like obsolete tech, especially to up and coming developers.

And that's where the controversy begins!

The Bootstrap Controversy

Long story short, the opinions about Bootstrap as a tool have become noticeably critical in the past few years. Overall, the younger generation of Jr. Front-End Developers view Bootstrap as a negative when it comes to site development. This contrasts strongly with the Sr. Developer position of choosing the right tool for the right job.

So where Sr. Developers are not biased against large frameworks due to interoperability, younger Developers are more likely to want to go "lean" and write the code that a framework like Bootstrap provides themselves.

The younger generations have gone as far as breaking classical computer science development dogma by breaking what's known as a "seperation of concerns" by using "radical" techniques like defining CSS with JavaScript!

The jury is still deliberating on what's right versus wrong in this fork in the road. However, perhaps I can help to provide some clarity to the businesses and entrepreneurs out there that are wondering what's best.

My Persoal Take on the Issue

As a hybrid full-stack designer and a full-stack developer, I'm in a unique position to judge all the opinions about tech and the internet. After all, my experience isn't only about having a cutting edge perspective as a developer, because my job is also about having a cutting edge perspective as a visual designer.

However, since my career in both fields is grounded in User Experience Design principles (which is a Senior position compared to both visual design and front-end development), the cutting edge isn't a must have. Instead it's a luxury... or a "hope to include" aspect of any given project.

From a UX-focused hybrid designer/developer POV, the only decisions that matter are the decisions that benefit the end user. That's either your business and staff or your customers... or maybe even both!

Web design is responsive design. Responsive web design is web design, done right.

Andy Clarke

From an end-user's perspective, the tech simply doesn't matter. What matters is the experience of using the website or web app. What matters is that the site/app works as expected and doesn't waste the precious time of a user. What matters is that the intent of the business is represented clearly and easily... regardless of the device at hand... in the view of the end user.

Wisdom Through Experience

What I can tell you, as a small, medium or large business person, is that the tech is only a slice of the overall pie of concerns. Ultimately, the tech your firm uses should be decided upon by people obsessed with the way your end users will feel about your product or service.

There's a pleathora of methods to use to accomplish this goal. From my personal POV, those opinions are ALL valid. That's because what the end customer thinks/feels/judges is always right. Therefore as stewards of their experience, we should always strive to meet their expectations 100% of the time.

Designers shooting for usable is like a chef shooting for edible.

Aarron Walter

If there's one thing I've learned after 15 years in this game of web production, it's the expectations of any given user base is astronomically (and even unfairly) high. Thus, we must always ensure we deliver a competent and (hopefully) fufilling experience to them, regardless of how it impacts us as the business serving them.

To fufill expectations that high, we as business people need to be able to rely on robust and cover-all tooling to meet those expectations. Bootstrap has never not delivered in this way based on my professional experience.

Because of this, I've built a lot of tooling around Bootstrap. Not because so many sites currently use Bootstrap, but more because the number of developers who can deal with Bootstrap as a technology is higher than any other framework to build websites currently is.

In Conclusion

There's a nearly infinite amount of opinions concerning how a website or web app should be built. But the truth is that there's no shortage of developers out there, who are so incredibly isolated due to their knowledge, that they are willing to inhibit the progress of your business for their own comfort and bottom line. They tell you what your business needs. Not because it's true, but more because it makes their own experience of working with you more enjoyable for them.

From my POV, that puts end users of your business in a potentially poor position. It makes the needs of your business and your developers more important than the needs of your end users. And that... is unacceptable to me.

Thus for now, I LOVE using Bootstrap to build tooling and products. It works well across browsers, is understood by the majority of other developers out there, and most importantly is robust enough to ensure a high-caliber user experience regardless of the vision of the visual design of your site or web app (with a little help from my tooling of course!)

Bootstrap Alternatives

Full transparency though, all of the current and popular front-end framworks are great! Bootstrap is one of many, and just happens to be the framework I like to work with most. I've worked with dozens of other frameworks, all of which have their pros and cons... just like Bootstrap does.

Below is a list of alternative front-end frameworks (all of which are ripe to leverage for further Web Design System projects... so let me know if you need a web design system for one of them!)

All That Said...

The time when a project truly needs something that Bootstrap can't offer... is whenever you have a web application (or site) that requires a "run time" inspired level of granularity. For example, if your business has a need for a consistent clock, environment, or user response listening functionality - jQuery simply doesn't provide enough for such a situation. In these cases, the "modern" JavaScript frameworks (such as Facebook's React, Google's Angular, and Vue.js) are much better suited for the job!

P U B L I S H E D
Friday, July 26, 2019

Send a Message

Please enter your name.
Please enter your email.
Please enter your message.