Behind the Screens with Jim Birch

Podcast episode player
0:00 0:00

Xeno Media's Web Strategist, Jim Birch, has been melding the front-end with the back-end in his module, Bootstrap Paragraphs.  Come on out to MidCamp in March to hear all about it!

Episode Guests

Jim Birch

Thumbnail
Fun fact, Jim is the foremost rock Theremin player in Chicago.
Transcript

Transcript

Chris:
Back at BADcamp, going behind the screens with Jim Birch of Xeno Media. Hey, Jim.
Jim:
Good afternoon.
Chris:
You presented a session earlier today.
Jim:
I did.
Chris:
On a module that you just recently put out in the community or that's now getting traction in the community, Bootstrap Paragraphs.
Jim:
Correct.
Chris:
So Bootstrap relating to the front-end framework that a lot of us are familiar with.
Jim:
Correct.
Chris:
Paragraphs being what is quickly becoming the de facto way of building a site and laying out content in a structured order.
Jim:
Yes.
Chris:
So tell me a little bit about your module, why you decided to give back to the community and what your hopes are for it and how your presentation went.
Jim:
Sure. Presentation was great. This is my second time in the biggest room at BADCamp, my third time presenting here. It was really well received, although I've gotten bigger laughs about my cat GIFs in other presentations. But the Bootstrap Paragraphs module is my attempt at building a better page builder. I want to enable content creators to make the pages they want with the content they want and the layout that they want. I started out with this idea in Drupal 7. We started using Paragraphs, and we started creating paragraph bundles on site to site. What I noticed was we kept on making the same things over and over but slightly different. So you'd go back and work on the first set you worked on. It's completely ... It's just slightly different from the third set that you worked on and you have to relearn new things. So when we started working on it in Drupal 8, I tried to figure a way that I could make a base that we could do 80 percent of the building and then we could just customize the last 20 percent, just like anything else in development.
Chris:
Sure.
Jim:
So far, we did that. We figured out a way to just basically use config and template files. I'm more of a front-end guy than a back-end guy. There's only one PHP function in the module that says look in the module. Grab these templates. The presentation goes on to talk about extending it, using it as a base, how we went about it and while this module uses the Bootstrap framework, you can take this idea and apply it to any framework you want. So if you're using the foundation grid system or if you're using a slick carousel, you can use this idea to use config and template files to make this reusable content. So you can get to done faster.
Chris:
Gotcha. So this is different than if I were to just use the paragraph modules by itself and I'm looking at the configuration screen as I'm building out the structure for my content type. Would I see anything different if I switched over and started using Bootstrap Paragraphs?
Jim:
Sure. I mean the Paragraphs module is the base that we build upon. When you install the Bootstrap Paragraphs module, you get a suite of preconfigured bundles. So you get content bundles like images and just simple body fields, and then you also get layout bundles like columns, whether they're equal columns or one-quarter, three-quarters. And then you also get the Bootstrap goodies like carousels, tabs, accordions and modals.
Chris:
Very cool. So I would look at the structure for my content type and I could just start dropping these things in as the same way I would add a new paragraph type.
Jim:
Correct. You're adding new Paragraphs and the beauty of it is that you can just reorder rows in the columns paragraph. You can reorder columns just using the drag and drop interface.
Chris:
Very cool. So what's the reception been on that so far?
Jim:
Kind of overwhelming for a guy that this is, I'm not really a developer, not really a back-end developer. I just looked last week. We've had 10,000 downloads and 1,000 uses according to drupal.org. People have been extremely helpful in the issue queue with feature requests and bug reports. We're down to just a few issues with translation, which we haven't really worked on, but we have a couple of guys in the island nation of Cyprus that have been helping out with the translation issues, which is ... How cool is that?
Chris:
Right? Google literally is in every corner of the globe. That's amazing.
Jim:
It's amazing.
Chris:
So is there anything ... If people want to get involved and give it a try and help out with the issue queue, it's just the project page on drupal.org, and it's called Bootstrap Paragraphs.
Jim:
Yeah, Bootstrap underscore Paragraphs.
Chris:
Got it. All right. So yeah, jump in there. This would be a kind of aimed for people who want to get something spun up quickly, be able to do this stuff really fast. So if you're setting up a new Drupal 8 site and you have some structured content that you want to start putting in, give this a try and then you can help by testing out patches, submitting new issues, going through the project beta.
Jim:
Absolutely.
Chris:
So this is your first big code contribution back to the community. How are you dealing with that? I know for me, it was really, it's something I always want to do but I never felt like I should do it, like I was going to be good enough to do it. So to take that first step is I think a really big breaking point for a lot of people. What made that decision for you to put it out there and to let it go and how have you been handling that?
Jim:
I think with that regard, I don't have as much impostor syndrome as I have in other areas of my professional career. One of the great things that GitHub has brought to the world is that you can put your code out there and somebody can use it or they don't. Since Drupal kind of opened the doors, you can do the same thing on Drupal also. I don't think I have that inherited ... I don't know what the right word for it is, but the code that has come before me is amazing. I have also seen the code that has come before not work that great.
Chris:
That's a good point.
Jim:
I only came into Drupal four or five years ago, so I came in after Drupal 7 was in full swing, but maybe when media was bridging from the 1.x branch to the 2.x branch. Things were established, but also things were broken, not necessarily broken but not working right, correctly.
Chris:
Yeah, still kind of ... It hadn't been polished up yet.
Jim:
Right. Right. Right. I think the world is open, and feel free to break it along with us.
Chris:
I think that's the key. Every time I fix something for someone, like I'm mentoring or I can go in and do something, people are just like, "Wow, how did you know how to do that?" I'm like, "because I have broken Drupal in every possible way you can think of. I just made all the mistakes already before, and I'm trying not to do those again. And now I can teach them to you."
Jim:
That's the way too. I think that somewhere along my path, I saw a great presentation at MidCamp in Chicago. My eyes were opened. It was that aha moment. I started a blog and just used the blog to present what I've learned to others and basically, hey, I'm brand new at this. Maybe you don't know about this. I get a lot of traction and get noticed in the community. And then I started to speak at conferences and camps. Same thing. And just experimenting with all these things and reaching out to people helps you break everything and then put it all back together.
Chris:
So if you could give one piece of advice to somebody who's maybe in the same boat. They've been writing code. They've been doing this for a little while and they feel like they've got something they want to give back that they maybe don't think that's good enough or they're not sure if they should. Any advice for someone who might be struggling with that?
Jim:
Go to your local MeetUp and talk about it. Go present a lightning talk and find out if people would be interested in using this. Release the module. Put it out on GitHub and start talking about it, seeing if people have interest or you get downloads and no answers. You can still track that and reach out to people for feedback. I think the biggest thing is do it.
Chris:
Yeah. Step out in front of some people and show it off. See what comes.
Jim:
Yeah. Write the code. Create a hobby site. Definitely just go out and learn more because the world is changing quickly, and it's hard to keep up, so keep up.
Chris:
That it is. You had mentioned MidCamp as where you started to play around with some of these ideas and get your hands dirty in it. Are you helping to organize MidCamp this year?
Jim:
Yeah, so I went for the first time three years ago and went to volunteer. When you work in the open source community like this, the first time you show up, people are happy. The second time you show up, you are an organizer.
Chris:
That is the truth.
Jim:
So this is our fifth year of the camp. It's going to be held in March in Chicago, March 8th through 11th. Definitely come. It's a great camp. We're on the DePaul campus in Lincoln Park, a wonderful neighborhood to go out and get food and drink during and after the camp.
Chris:
Very nice.
Jim:
About 300ish people come. One day of training, two days of sessions and a sprint day.
Chris:
Awesome. I love having the sprint days at the end, especially if you're ... At the camps, it's much less intimidating than it is after a DrupalCon. It's very easy to come in and get your hands dirty to get started, figure out how to run through the issue queue, and if you haven't done it yet, absolutely go out and do it. Everyone is so inviting. There are so many mentors waiting to teach you how to do these things because we want to have as many people who can check out patches or even write documentation, run translations. There are so many ways to give back.
Jim:
MidCamp at every sprint I've seen at least one large table of nondevelopers just working on documentation. There's usually someone there that is really like a core contributor who takes the day to just mentor people who are going to write documentation because it's a huge issue. We need documentation on how to do things, whether it's part of Drupal core or how to use things together. So that's great.
Chris:
Absolutely. All right, so Jim, I'm going to take this and flip it around now. We've talked a lot about the code and the community and the camps and other things that begin with ā€œCā€. I just realized everything. I like this question because it gets straight to the person who is the community behind the code. If you woke up tomorrow and the internet was gone, just disappeared, what would you be doing?
Jim:
My previous life, I was a hardwood flooring distributor. So I would most likely go back to hardwood flooring, building things for people still. Building websites now, but I like building floors [crosstalk 00:11:31].
Chris:
Back to the analog version.
Jim:
Yes. Yeah.
Chris:
Very nice.
Jim:
Thanks.
Chris:
I think none of us got here on our own. No one is really a self-made professional. There's always been somebody to help us along the way. Is there anybody you would like to say thank you to or share some gratitude with, maybe gave you a boost when you needed it?
Jim:
Sure. There's definitely been so many people along the way, but that session I saw at MidCamp was by Steve Persch, and it's a recorded session from 2014, and it was a session called "Making Drupal Be the Design, Not Look Like the Design." Before I started working on Drupal, I really liked good clean markup, light CSS and then I started working in Drupal's divs and would get lost. He explained the evolution of theming in Drupal and the practices that people have had, instead of outputting, making the divs look like what it's supposed to, changing the markup to look like the divs of the design. I said, "Oh my god. There's more people than just me trying to fix this." That was kind of my aha moment.
Besides that, my amazing coworkers, definitely everybody you meet at the camps. I like to come to camps and conferences. You can go to sessions that you would have nothing to do with, and these people all volunteer their time to share their knowledge with other people. Sometimes you go to a session and you know 98 percent of what they're talking about, and then 2 percent, you just take that and this idea they put in your head, and you can turn it into something that is going to be useful in your career moving forward. So yeah, got to thank everybody.
Chris:
It's true though. I love that about the sessions. Sometimes you pull out one little nugget or two or like it fills that gap and now you've got a full working knowledge of the config system or something like that. So it's not just for I know nothing about this. You're always going to get something, I feel like.
Jim:
Yeah, definitely. Love it.
Chris:
That's very cool. Thanks a lot, Jim. This was great.
Jim:
No problem. Thank you for doing this.