The following is an in-depth interview with Succinctly series author Peter Shaw, whose book Twitter Bootstrap 4 Succinctly was published recently. You can download the book from the Succinctly library.
What should people know about Twitter Bootstrap 4? Why is it important?
People should know to read the book! Just kidding…
Bootstrap 4 drastically cuts down the time it takes to lay out a webpage, especially if you’re not design-oriented. Think about Windows Forms programs. Now imagine the state many of the layouts on the forms in those desktop apps might be in if Microsoft had not decided to put a snap-to-grid or control-positioning aids in Visual Studio.
Many developers, especially those who don’t regularly do web-based front-end coding, are really not all that great at design. We program. We write code. That’s our job. But to many of the people that we write code for, they don’t understand this. For them, it’s the visual aspect, it’s the way the application looks that matters. You might write the most elegant code in history, but an alignment that’s off by a couple of pixels will cause you months of misery with most product owners. BS4 helps you avoid that. It speeds up the visual process and allows you to prototype user interfaces much quicker without all the hassle.
When did you first become interested in Bootstrap?
The answer to this is in the introductory material in the first Bootstrap book I wrote. If memory serves me correct, I was using Foundation at the time, but its class names were very awkward to use and remember. Bootstrap came along and pow, it was like a breath of fresh air.
By writing Twitter Bootstrap 4 Succinctly, did you learn anything new yourself?
That depends on which perspective you look at things from. As you get on in years, you realize that the IT industry doesn’t really change that much, but it changes every day. What do I mean by this? Well, the fundamentals are always going to be the same: it’s always about multiple languages; it’s always about creating the solution and not actually writing the code; it’s about being creative while still obeying physical engineering principles. So yes, there is always a new tool to add to your toolbox or a better way you can achieve a task.
Looking at it from the other direction though, no. Bootstrap 4, while a major leap forward, I learned about before I even started to write the book. I kept up with the many major changes in the project before it stabilized enough for me to be confident I could write the book’s material. In terms of Bootstrap and web development, no, I didn’t learn anything new.
How will Bootstrap change over the next few years?
That’s a hard one to answer to be perfectly honest. It’s one of, if not the most popular, front-end framework, so it’s not going to go away anytime soon. But given how long it took to get to version 4 and some of the reasons cited for that delay, I don’t think version 5 is going to be rushed out very quickly either.
BS4 has to follow web trends. It has no choice if it’s going to survive. But I think we are starting to see a bit of a plateau in new functionality that offers UI enhancements being added to the browser for now, and are instead seeing more functionality being added under the surface for things like device hardware and similar APIs.
Since BS4 is solely UI and graphics oriented, we’ll only see major leaps in its evolution if there are similar leaps in the mainstream browsers.
On the flip side though, Bootstrap’s community is hard at work as ever creating add-ons, plugins, color schemes, and even entire derivatives based on the core product for use in special cases.
If there is one thing that must change, however, I think it’s going to have to be Bootstrap getting divorced from jQuery. There’s so much of a greater push these days for vanilla JS code, and it’s getting harder and harder by the day to justify including a library like jQuery when it’s not really needed. In fact, I already know of one third-party version of Bootstrap that’s set out to do just this.
Do you see Bootstrap and other UI frameworks as part of a larger trend in software development?
That depends on what you mean by a larger trend. Remember, Bootstrap is a CSS framework as opposed to a general client framework. In fact, to be honest, this is something that really needs to be cleared up because there is so much misinformation about web UI these days, it’s starting to twist things substantially.
Let’s take Angular versus Vue as an example. You ask any modern-day web developer, especially the younger generation, and you’ll find arguments on both sides telling you that one is always better than the other. But the fact is, they are actually somewhat complementary. Angular is the only one of the two that can be classed as a full UI/application framework, whereas Vue only deals with rendering, and so still needs something else like Angular behind it to make it useable.
Bootstrap is no different. I’ve seen the discussions and arguments, with one side fighting in Bootstrap’s corner, and the other fighting for React, or whatever the contender happens to be.
When you look underneath the term UI framework, however, Bootstrap on its own is not a full framework. It’s designed to give you a head start on laying out your forms and pages in a sensible and consistent manner. To actually do anything else, you need to start adding other kits into the mix, my personal favorite being Aurelia.
If by a larger trend you mean building applications from building blocks and using the correct tools for the job in the correct places, then yes, it is, but software development has always been about that. If you mean people building stuff just because they can, then no, I don’t believe it is. When Bootstrap was first conceived, it set out to solve an actual problem that existed. It wasn’t a project by a bunch of devs who didn’t like the way things were, but by a professional team in a large company who most definitely had a specific agenda. Yes, it’s grown substantially since then, but it’s definitely not a toolkit for the sake of being a toolkit.
What were the biggest challenges you faced when learning how to use Bootstrap?
Pretty much the same as anything to do with web development: browser wars. Yes, even now in 2018, it’s still going on. Chrome trying to one-up Firefox, Firefox trying to one-up Microsoft, and Apple sitting in the corner ignoring everyone. It’s never going to stop, and as long as the marketing departments get the budgets, it’s going to get sillier and sillier. Bootstrap does ease the pain considerably, but in this day and age it just shouldn’t be a thing anymore. At least it’s a lot more stable and sane than it was during the 90s and the early 2000s.
What other books or resources on Bootstrap do you recommend?
As evidenced several times in the book, the official docs these days are really a lot different than the old docs. They’re much easier to read, chock-full of examples, and of exceptional quality.
Keeping an eye on my Twitter stream at @shawty_ds is usually a good idea too. I write for a number of different outlets and blogs, on all manner of software development topics, and most of it is advertised either via my Twitter or my LinkedIn feed.
Smashing Magazine, CSS-Tricks, and all the other major web development outlets are always worth following. Again, not Bootstrap-specific, but there’s usually a hefty chunk of Bootstrap-related goodness.
What are three key pieces of info that developers can take away from this book?
That’s a tough one.
- Web UI layout doesn’t have to be hard for anyone, least of all back-end developers.
- Visual communication seems to be more important with clients and stakeholders in this day and age. Bootstrap helps with that, a lot.
- Don’t reinvent something you don’t have to. Learn your tools, learn what they do, and how they work with and complement each other.
Do you have any tips for developers trying to learn Bootstrap?
One main one, and not just for Bootstrap: Practice, practice, practice, practice, practice…then play for a little while, and then practice some more.
Far too many developers think that learning a new thing is all about finding all the blogs they can and all the reading material and videos they can, then just copying what everyone else does, but it’s not. It’s about playing and experimenting. Load up a text editor, and try some stuff. If it doesn’t work, throw it away and try something else. What does the row class in Bootstrap do? Assign it to an element, render it, and have a look. Copying verbatim what everyone else does these days is one of the reasons we don’t innovate so much anymore. Try something bold and new. Just play, Play like you did when you were a toddler and you didn’t care about the world around you. Once ideas start to form, practice them and keep practicing them. You’ll see the difference soon enough.
Who are your role models in the developer world?
Funny enough, when I first got involved in .NET I had an absolute boatload of people who I used to look up to. As I’ve gotten to know many of them personally over the years, however, I’ve come to realize that there’s nothing special about them. They’re just regular developers like me, and in fact, many of them have the same kind of mentality as me too, where they really don’t like being put on a pedestal, and would rather folks just interacted with them like they would any other developer.
If you’d asked me this question 10 or even 15 years ago, I would have given you a list as long as my arm. These days the only ones I still hold in really high regard are some of the early pioneers like John Carmack and John Romero or the ones that even today still try to help shape the industry for the better, like Joel Spolsky.
Anyone who has the tenacity to get up and go out into the community to share their knowledge, their experiences, and their war stories gets my vote. It’s not about being better than other developers. We’re all equal. Every one of us knows things that others don’t, and likewise, every one of us also knows what we don’t know, even the big guns. Beginners, this is a very, very, very important lesson to learn because you’ll never get very far in software development until you learn to embrace knowing the things that you don’t yet know.
How quickly can you learn a new programming language or tool?
Yikes! That’s a curveball question. Anywhere from 5 minutes up to a year or more.
Seriously though, these days, I can pick up a new language in a very short amount of time, especially if it’s a C-like language. For the most part these days I mostly tend to use C#, but I can program in about 20 to 25 different languages, even if I’m a bit rusty in some of them.
Tools on the other hand, well, under Windows, things are still mostly standard. File, edit, help menus, etcetera are consistent. As for frameworks, many of them are based around the language they target. There are very few now that are so complicated that it takes anything longer than a week to be able to do anything useful with them.
The latest language I’ve been playing with is Mozilla’s Rust language. It’s an interesting if not quirky idea. When time permits too, I’d like to play with Microsoft’s new Blazor technology, but that’s likely going to be around Christmas, as between now and then, I’m on writing a full-size print book for Packt.
How do you stay up-to-date on industry news?
All the newsletters from all the places coming to me via all the emails!
I have an Android tablet that I’ve waterproofed, and whose sole purpose is to allow me to read these newsletters everywhere, from sitting on the train, to standing in the shower!
I also have an internet-connected TV in the bedroom, and quite often consume an hour or two of MSDN Channel 9, Vimeo, and YouTube content most nights before going to sleep.
If it catches my attention and looks interesting or technical, I’ll read it. Everything from blog posts to scientific white papers released by universities.
Do you have a blog page or a website where people can find you?
shawtyds.wordpress.com. My official home eventually will be shawty.me.uk, but I’m a typical geek and will do everyone else’s websites before I get my own done. I’m on Twitter and LinkedIn too: shawty.me.uk/twitter and shawty.me.uk/linkedin will always redirect you to the appropriate places.