Today we are talking about Laravel, Marketing, and The PHP Foundation with guest Matt Stauffer. We’ll also cover Formdazzle as our module of the week.
Listen:
direct LinkTopics
- What Is Laravel
- Writing Laravel Books
- AI and Technical Writing
- Laravel Versus CMS
- Drupal as Framework
- Integrating Laravel and CMS
- Laravel and Symfony
- Marketing Modern PHP
- Laravel Community Marketing
- Jigsaw and Onramp
- Drupal Marketing Lessons
- Onboarding Focus in Laravel
- Laravel BDFL Changes
- Onboarding And Docs
- Drupal Framework Perception
- What PHP Foundation Does
- Marketing PHP Vs Laravel
- AI Answers And Positioning
- Cross Ecosystem Collaboration
Resources
Module of the Week
Bernardo Martinez - bernardm28
- Brief description:
- This week’s module is Formdazzle, a developer tool that makes theming Drupal forms easier.
- Drupal’s Form API is a powerful abstraction, but when you want to target one specific field, label, button, or form wrapper, the default Twig template suggestions can be limited.
- The module works by taking information Drupal already knows about the form, like the form ID, element type, and element name, and using that to generate more targeted Twig template suggestions.
- For example, in a Drupal View with exposed filters, you may want to style the Reset button differently from the Submit button. By default, Drupal renders both buttons through the same input–submit.html.twig template, which makes it difficult to customize them independently. This module lets you assign different templates to individual form buttons—such as Submit, Reset, or Filter—based on their action, type, and other properties.
- This module has no configuration. Just enable the module and it starts working and look at the twig debug comments including extra template suggestions.
- Module name/project name:
- Brief history
- How old: created in 13 September 2019 by johnalbin
- Versions available: ^10.1 ^11 ^12
- Maintainership
- Actively maintained
- Last release was 1 September 2026, currently the module has two maintainers Stephen Mustgrave and John Albin.
- The module includes both test and security coverage.
- Usage stats:
- 3,956 according to drupal.org
- Module features and usage
- There’s no configuration. Just enable the module and it starts working, including with Views exposed forms and Webform.
- Formdazzle automatically adds more specific theme suggestions based on the form ID, element type, and element name.
[00:00:00] Nic: This is Talking Drupal, a weekly chat about web design and development from a group of people with one thing in common: we love Drupal. This is episode 570, Laravel and Marketing PHP. On today's show, we are talking about Laravel marketing and the PHP Foundation with our guest, Matt Stauffer. We'll also cover FormDazzle as our module of the week.
Welcome to Talking Drupal. Our guest today is Matt. He is the owner of Laravel, the Laravel consultancy Titan, the author of O'Reilly's Laravel Up and Running, and a frequent conference speaker and the host of the Laravel Podcast and the Pragmatic AI Podcast. He lives in Atlanta with his wife and two kids.
Thank you for joining us.
[00:00:44] Matt: Thanks for having me, y'all
[00:00:48] Nic: I'm Nic Laflin, founder at nLightened Development, and today my co-hosts are John Picozzi, Solution Architect at EPAM.
[00:00:55] John: Oh, hey everyone.
[00:00:57] Nic: And also joining us for the third week, I think, is Amber Matz, Developer Advocate at Tugboat.
[00:01:04] Amber: Hi there.
[00:01:05] John: I apologize, Amber.
Usually I put the guest host before myself, but for some reason that didn't, didn't work out this week.
[00:01:12] Amber: Try not to beat yourself up about it, John. It's okay.
[00:01:15] John: Losing sleep. Losing sleep.
[00:01:18] Nic: And now to talk about our module of the week. Let's turn over to Bernardo Martinez, a senior developer at Vaulttez, a contributor and co-maintainer on a variety of OSS projects.
Bernardo, what do you have for us this week?
[00:01:32] Bernardo: Thanks, Nic. So this week we're talking about Formdazzle. Formdazzle is a developer tool that allows you to theme Drupal forms easier. So for example, you may have come across this, a scenario where you have a Drupal view with exposed filters and you wanna change how the submit button looks versus the reset button for that form.
Drupal by default bundles them on the inputs and meet tweak template. But with this, you have an option to just tweak that submit or that filter button. So it adds an extra layer, uh, on the suggestions that you get out of the box. That can be super useful if you're using something like USWDS, and that's how I used it before, or if you're using Tailwind CSS or Bootstrap, 'cause now you can have that per element.
And the best part is there's no configuration associated with it. You just turn it on and then you have automatically added a couple of extra suggestions to your tweak debugging comments. Um, so no need for you to know about hooks and pre-process some of those functions in there. You just get a little bit more out of your Drupal experience and a little bit of an easier way of changing the markup.
The form was created in September of 2019 by John Albin, and currently it supports 10.1, 11, and Drupal 12. Uh, and it has two maintainers, Stephen Mosgrave, who has been in the show before, and John Albin. So let's talk about, uh, Formdazzle
[00:03:12] Nic: So, um, my, my first question is what is the difference between something like Formdazzle and the Twig template suggester?
W- and the Twig template suggestion module just adds tons of template suggestions for many things, including, including forms.
[00:03:30] Bernardo: Yeah. So the difference is when you go down to the buttons level, sometimes you get a general template for operations, but you don't have one specifically for submit or filter or some of the other ones.
So then at that point, if you wanted to have USWDS outline just on the submit filter, you have the issue that changing it on that template, it will change all of them. Oh. So it's really handful if you're trying to tweak your forms, your Drupal views or anything else, just do like mix, mix and match what your designer asks for it.
[00:04:06] John: So I'm, I'm reading the, the module page as we're speaking here. I'm wondering, does this work with all forms, like admin forms and, and web forms? I see in their example here they have web forms, which is awesome, but, like, does... Is it all forms or just web forms specifically?
[00:04:22] Bernardo: So I haven't used it for admin forms, uh, but I only used it for the front-end itself.
So it works with anything that Drupal uses the Drupal API, so, the form API. So I would imagine it will work for that as well. It- Mm
[00:04:36] Nic: It will. It's just, it's just using a Form Alter, so it'll, it'll definitely work for admin forms too. But you're, you're styling. So the classes and, I mean, the, the template suggestions will work on the admin form, but you'll have to put the styling in the admin theme-
[00:04:51] Bernardo: Yeah
[00:04:52] Nic: if you wanted to tweak it. So it says... I- Although I think there's a new issue about making Drupal more multi-front-end, and I think one of the things it's trying to solve is this type of issue, where you want to style something on the back end from the front end and vice versa, or things like navigation that are kind of technically both.
But yeah, no, I'll have to check this out. This looks like a... It's a pretty lightweight module too, so yeah. Looks, uh, looks very useful.
[00:05:19] Amber: Just scanning the docs, it looks like if you turn on Twig debugging mode and, you know, you inspect the HTML source, you can get theme suggestions for all of your components on the page except for forms.
And so you don't know what your theme suggestions are for the forms. So this module lets you inspect, turn on Twig debugging. You locate the ID of your form, and then you insert that into the, the i- the Twig output for when you have this module on. So this module provides those theme suggestions and a way for you to more easily, uh, know how to do th- which template to use for- Yeah
your form and be able to theme it. So that's pretty cool.
[00:06:03] Nic: Yeah. Fills a gap. I'll be te- I'll be testing this, uh, shortly, 'cause it, it seems like an easy one to just add everywhere.
[00:06:09] John: A- and the, uh, the logo or image on the module page is, um, fabulous, so I would, I would definitely, just based on that alone, I would, I would try this module out.
[00:06:22] Nic: All right. Thank you so much for joining us, uh, Bernardo. If folks wanted to connect or suggest a module of the week, what's the best way for them to do that?
[00:06:30] Bernardo: So if they wanted to suggest a module of the week, the best way is to add it on the Drupal Slack for the Talking Drupal show and add which module they want in there, or probably reach out to Martin at your local conference.
[00:06:45] Amber: He does seem to be everywhere.
[00:06:47] Bernardo: He does.
[00:06:48] John: Yeah, that guy, he gets around.
[00:06:51] Nic: All right. Thank you, Bernardo. See you next week or in a couple of weeks maybe. See you later. See you.
All right. Okay, before we jump into the primary topic, I just wanna thank everybody who helped with the .module conversion project. So people that are longtime listeners will know I've been working since the beginning of the year on converting all the legacy .module procedural code in Drupal Core to a new object-oriented...
Well, I guess object-oriented PHP isn't new, but, uh, for this code it is new. Um, and I just wanna say, uh, 119 people were credited in helping resolve these issues. There were 71 issues across 34 core modules. It was a ton of work. Uh, locale was by far the most amount of work, but, uh, what that means is the .module extension is going to be deprecated soon, which means that we'll need to start moving all code in contrib to object-oriented code.
It will make, uh, Drupal faster, it'll make it more consistent, it'll be a much better developer experience. And people coming from other, uh, communities like Laravel will probably scratch their head a little bit less, uh, when opening Drupal for the first time Uh, so Matt, for someone who may not be familiar with Laravel, can you talk a little bit about what Laravel is and maybe why it's such a popular PHP framework?
[00:08:17] Matt: Yeah. So Laravel is a full stack web application development framework. Uh, so it's, if you're familiar with CodeIgniter, uh, in the, in the, or Symfony in our world, uh, or older in our world, things like CakePHP, or in other worlds- Right ... things like, uh, Ruby on Rails or .NET MVC. Um, we're talking about basically the idea that if you want to build a custom web application, not off-the-shelf software, not implementing a CMS like Drupal or WordPress, but you want to build something bespoke that's never been built before, you have two options, and one is to write every single line of code uniquely for every single application, which means you're wasting time, you are relying on your own knowledge, uh, in terms of how im- implement everything, in terms of how to connect to the database, in terms of how to do auth, or you're bringing in components.
Um, in the JavaScript world, they kind of stopped at bringing in components. So every new application is gonna bring in all their own new components, and so you have to bike shed over and over on which auth framework are we using this time, and which database manager are we using? In the PHP world, in the Ruby world, um, and a little bit in MVC as, uh, .NET as well, we've said, "Why don't we have prepackaged sets of these components that all work together?"
Whether they're all created by the, the framework is, is up for de- debate, but they all are packaged together and say, "These play together nicely, and if you work with this, you're not gonna have to bike shed about all those things all the time." So that's what kind of web application development frameworks are.
Full stack web application development framework means it also comes with opinions about your, your view layer and your JavaScript layer, your CSS. Um, and so Laravel is one that has all of those. Um, you know, you can choose to work with React or Vue or Laravel-specific Livewire, but, like, it is integrated the whole way through the stack.
It even has hosting preferences. Yeah. So the goal is, you know, you're making as few decisions uniquely, um, about all those generic pieces, um, for each project, so you're instead writing code that is specific to your domain, um, and not, again, rewriting auth every time or whatever else.
[00:10:13] John: Sorry, I was, I was processing that answer and, um, I'm like, "Oh man, okay, that's very cool." I like, I like exactly, um, where you're going there. Um So as the author of Laravel's main books, um, when, when do you know it's a time for a new one? Like, what triggers, like, a, hey, I need to write a new book about this thing that I- Mm
I know so much about?
[00:10:41] Matt: Yeah, so I'm working with, uh, O'Reilly, who is, um... You know, if anybody's familiar with The Animal Books, which I grew up with The Animal Books, you know- Yeah ... on my bedside. And so the opportunity to work with them was very exciting. And O'Reilly has really established understanding of what to do.
So I keep updating minor things in the books, and they're like, "That's fine. You just- every time a new print happens of this edition, we'll just update it in there." Um, but their general rule is when you change more than a certain percentage of the book, that's when it's time for a new edition. Um, it's a little hard to do that when you're incrementally changing the book, so what I do is I go for a new edition when there is a meaningful change between versions of Laravel that really foundationally- Okay
change kind of core components. So for example, uh, recently, the auth, uh, infrastructure was completely recreated from scratch, which also had kind of trickle-down implications on the entire front-end tooling stack. We changed to V. You know, lots and lots and lots of other changes, and I was like, "That's gonna require me to rewrite 20 to 40% of the book," and they're like, "Great.
That's a moment for a new edition." Um, a new edition, uh, is a lot more work, um, but it also is fun, 'cause it's like a moment to kind of hit some pieces of it from scratch, do some more marketing. So there's ti- parts of me that never wants to do a new edition again, and there's parts of me that delights when we-
have the excuse to do it, so.
[00:11:53] John: So on... It may be unpopular, but just wondering, like, you using, using AI at all to help with the book process? Or are you like, "Nope, call me." Like, you- Yeah ... don't do any of that?
[00:12:07] Matt: So I, I can't aners- answer fully honestly, because I haven't done any major work on the book since AI has been prominent.
We haven't done- Hm. Okay ... you know, Laravel has been relatively consistent for the last few years, and, uh, so I can say that. But I, I will say that I have no intention to use AI as a part of the writing process, but AI's great for research. Um, and so one of the things I've d- done since the initial publication of the book is at any given moment, I'm paying a research assistant, you know, a couple hours a month to just read through all the change logs of everything that's going on in the- Mm
Laravel world. 'Cause I used to do that. I don't have time for that anymore. So I just say it's liter- And I try to find someone who's, like, kind of up and coming, so I'm basically paying them to learn Laravel. And so I just say- Oh, very cool ... "I'm gonna pay you to just sit and learn everything that's going on, and you have to have read my entire book and know it really, really well, and I'll pay you to do that.
And so your job is every time a new thing comes in- Mm ... you read it, and you figure out where it's gonna apply to the book, and you just kind of make, like, a to-do list. Or you can even push the change in yourself. You know, it, it's all in code- Cool ... it's all in Git. Um, and so that's been going on for years at this point.
So I suspect that the next time we do a big rewrite, we'll set up a process where the research assistant is using an AI agent to basically crawl through the change logs, has a copy of the book, and is trying to actually propose things, but it's still gonna be a human being who does all that work. And then that human being passes it to me, and I'm the one who actually is working in the narrative structure or doing any new writing, and I'm not gonna touch AI for that.
[00:13:24] Nic: Yeah. Makes sense. I, I, I think that makes sense. And, and not, not to derail the project, but in the... Because of how Drupal is structured, we The influx of AI-generated comments, content, and contributions was a little bit delayed. Yeah. And we're currently dealing with that. It, it's c- starting to come to a head, and one of the things that we're saying is, like, pro- one of the things that's being pushed by a lot of people, even pro-AI proponents, is that prose is, has to be human-written.
100%. Yeah. Things that are meant for humans needs to be human-written. Yeah. And, um, it, it... I, I find... Like, even if you're generating, um, if you're generating a, a, an MR to fix something, having written out your own prose helps the people reviewing understand if you understand what you're doing-
[00:14:12] Matt: Yes ...
[00:14:12] Nic: um, in the first place.
And I think if you're trying to teach people, uh, something like Laravel, having that go through that filter is, is very important, too.
[00:14:22] Matt: Yeah, I mean, AI, it, it's, it's... We're talking LLMs, which means they are doing their best to- Yeah ... figure out the average expectation of what the next word would be, both in terms of a word and from a concept perspective.
And so what you're gonna get out of AI, first of all, is baseline gonna be average. It's not gonna be innovative. Uh, and second of all, uh, that doesn't lead towards, uh, comprehensible, um, you know, content. It just... It, it means it's comprehensive. Uh, you know, the, the, the information that's supposed to be communicated is there, but that doesn't mean it's done in a way that's gonna be most understandable for the specific audience in this specific moment.
Yeah. And I've always said that, like, uh, people, you know, people will say, "Why would I read a 500-page book when I can just read the Laravel docs?" And I would say, "The first thing is a lot of that content in the docs was added because I was writing the book and realized we didn't have the docs." And so I'd go-
pull request it to the Laravel docs and, as I'm writing in the book. Yeah. But additionally, I'm just like, the docs are meant to be e- experienced referentially. And Taylor did work really hard to make sure that the Laravel docs are more narrative than usual, so they're kind of walking you through a journey.
But he's still limited, because somebody's gonna go directly to the page for databases and not have read anything prior. Yeah. Where I'm like, this is a book. You read the book from the beginning to the end. And so the narrative walk through the narrative arc, trying to say, if you don't understand Laravel at all and you read this 500-page book, I want you to get to the point where you can get a job as a Laravel developer.
That's a journey that I'm able to kind of walk you through. You're not gonna get an AI to be able to do that, at least not right now. So-
[00:15:43] John: But you, but you're also- And, and- Like, you're also, through the book, I'm assuming, adding kind of your own, you know, color commentary- 100% ... as it were, for, for, like, hey, this does this like this, but then there's also this quote from this other person that I find really...
you know, that makes a lot of sense here. Which, like, obviously you're not gonna get that in the docs, so-
[00:16:04] Matt: Yeah.
[00:16:04] John: Also- Read, read the book ...
[00:16:05] Matt: there's a lot of curation. Um, uh, so I, every single time... Like, when a new research assistant starts working with me, they assume that every single change that happens to the framework should be in the book.
And I was like, if we did that, this would be a 2,000-page book. There's an understanding of what people really need to know the vast majority of the time. And if so, when should they learn it, and how much of it is, like, look, if you need this problem, you're gonna go Google it. You're gonna find that. That's not something we need to teach the vast majority of people.
[00:16:29] John: Yeah. The research assistant d- is a prerequisite for the job that they have read the book?
[00:16:35] Matt: Nope. Okay. The research for the jo- the, the prereq for the job is that they have some understanding of programming, preferably Laravel programming, like inherently, so that they're gonna be able to read the book and understand it.
I don't want somebody who reads the book the first time and is like, "I don't know what these words mean." So I'm- Sure ... fine for them to learn Laravel through the book, but they have to be learning better something that they already understand, not entering it from, you know, from scratch.
[00:16:59] John: Yeah. Makes sense.
[00:17:02] Amber: To totally pivot to a different subject, how would you compare Laravel to a CMS like Drupal or WordPress?
[00:17:11] Matt: Great question. So-
[00:17:12] Amber: Or is there a comparison?
[00:17:13] Matt: Absolutely, there 100% is. So if you think about off-the-shelf software, and off-the-shelf to me means you could install it tomorrow, and just by clicking, uh, actually have something that functions.
Um, so off-the-shelf software is usually gonna be installed, so it's something like a WordPress or a Drupal. Um, but they are obviously gonna have very different levels of quite how much functionality you can get just by clicking, right? Th- th- you know, Drupal requires a lot more initial setup to get something that works, but then it's a lot more flexible, versus WordPress, you would have something that functions with a couple clicks, but y- it's limited in how far it can go.
And, you know, you all know how to make that delineation much better than me, so if I just said something terrible, please excuse me. But off-the-shelf software is not intended to require custom PHP code in order to function. But the primary goal is you're getting components, you're getting modules, you're kind of drafting them together.
Um, whereas custom web applications, you show up in day one, and if you're lucky, the-the framework you're working with at least gives you a welcome page as the default of what you're looking. Yeah. Yeah. But there's nothing else, right? There's no concept of your data model, there's no concept or posts or comments or, you know, uh, uh, Laravel does give you users up front.
That's the one thing it gives you for free is users. But every other aspect of your data model doesn't exist. So- Yeah ... uh, within the PHP world we also have things like Craft CMS and Statamic and Expression and all these other things. These are pieces of software that are intended to be used largely by content managers, largely by people who do front end code.
Um, but the back end code is supposed to be coming relatively out of the box, and if s- if, even if you are kind of plugging your own back end code together, as much as possible you're plugging in modules that other people have written. Whereas with Laravel, the idea is that you're writing the vast majority of the code that is unique to this application yourself.
So if someone were to say, "I want a blog," I would say, "Great, go use blog software." If someone was to say, "I would use a massively architected, ar- architected, complicated, you know, intermixing of 300 different content types that are across 27 different websites and 16 organizations," I'm like, "You should go to Drupal," right?
Like, I'm not trying to build that. It doesn't make any sense to build that in Laravel because it already exists. Mm. So Drupal already exists and does what it does extremely well. WordPress already exists and does what it does really well. Um, but when people come to us and they say, "I want people to be able..."
And we're working on something right now, and they're tracking turtles as they move through some kind of scientific... And I wish I was actually on the project so I could tell you more. But, like, they wanna track turtles. Or we have a, we have a nonprofit that says, "We want citizen scientists to be able to walk around with a phone in their hands and say, 'I'm seeing an invasive species right there,' and tap as they kind of walk around it, and capture those- Uh-huh
geospatial coordinates, and then push it up to a special workflow checklist once they get home. And then the administrator's gonna invite..." I'm like, "Yeah, that-that doesn't exist." And we could cram it into a WordPress or a Drupal, but that's not what they're built for, so you'd be doing a whole bunch of custom code and not using half of what those CMSs come with out of the box.
At this point it's just, it's a custom app.
[00:20:00] Nic: So, uh, I, I wanna, uh, so one really quick point. Um, last week's episode was about site templates, which, uh, for I'm sure some Laravel people might listen to this show, um, kind of does that point and cl- like you said, it takes a lot of setup for Drupal out of the box.
O- one of the points of site templates in Drupal CMS, which I think they've solved really well, is to get rid of that. Nice. That's awesome. And now you can kind of just click a button and have a site up and running. Um, but I'm, I'm curious because I've made this comparison a lot, but I've never actually talked to a Laravel developer about it, so I'm curious if my comparison has been correct.
And which is Drupal kind of bridges the gap between CMS and framework.
[00:20:38] John: Mm-hmm.
[00:20:38] Nic: And I think that's becoming more true now with the split between Drupal CMS and Drupal Core because, uh, yes, Drupal does give more out of the box with opinions than Laravel. Like we do... We have the content model that you can set up, but, um, a lot of what Core is becoming is here's a set of APIs you can use.
You can set, use an a- access policy. You have a caching strategy that you can set up. If you want to customize that and build on top of that, you can. If your use case is simpler, you don't need to. You just use whatever Drupal gives you out of the box.
[00:21:12] John: Mm-hmm. W-
[00:21:12] Nic: what would you... I mean, would you say that comparison is fair?
Do you think Drupal is kind of... Or is a framework really just only something like Laravel that gives you authentication, the way a, a database API and a way to kind of map your data to whatever front end you decide? I- is a framework more bare bones like that, or-
[00:21:32] Matt: Generally, yes ... bare bones like a framework?
But I would also say that there's a really great parallel, which is Expression Engine and CodeIgniter. Okay. So Expression Engine was a CMS. It was the most robust of the, the simpler CMSs, like more in the, you know, the WordPress world, um, that were primarily about just managing a couple channels of content and some hierarchy versus something as complicated as Drupal.
And they extracted out the shared functionality. So if you think about how Rails came out of them extracting out the useful functionality out of Basecamp, uh- Yeah ... Expression Engine extracted out their useful functionality and made it a framework called CodeIgniter, and those two- Okay ... developed in parallel, and ongoing development of Expression was on CodeIgniter.
And so you had the two. You had the, the, the product, the CMS, which was much more, like, structured and organized. Yeah. And then you had the backend framework that then was used by other people to go build other things. Um, so I, unfortunately, have not written anything in Drupal Core. I haven't w- worked in Drupal CMS in years, uh, years and years, so I can't speak to it.
But, but basically what you just said sounds really similar to that, so it sounds like you guys are moving- Okay ... much more in the framework-y direction.
[00:22:35] Nic: Very cool. It, it's good, it's good to know I haven't been making stuff up all these- ... all these years. Yeah.
[00:22:40] John: Um- It, it's in- But- It's interesting 'cause, like, in your, in your description, Nic, I was kind of, uh...
And, and the way Matt was describing Laravel earlier, I was kind of thinking, like, if I owned a company and we did something real specific, right? Like, you know, we made very specific widgets, and we needed, you know, very custom business software internally. Like, I would probably look at, I would probably look at Laravel because it has a lot of the, you know, the building blocks and the, and the pieces that I need to kind of, like, put things together.
Like, "Hey, I need to define my own database structure. I need to connect to databases. I need a user, you know, user authen- authentication system." Like, a- and, like, it... That's probably a really, like, a really good place for it. I mean, there are probably 100 million other really good places for it. But, like, in my head, that's where I'm like, "Oh," like, if I needed super specific custom business software, like, I'd go to Laravel because, like, there's kind of the framework already there.
Yeah. I'm just building on top of it
[00:23:39] Matt: Yep. I would say that one element of making decisions like this comes down to what your team is familiar with, what your other applications are written in, what everything's already hosted in. So the good news is they're both PHP. So if your team knows PHP, they host PHP, moving from- Yeah
Drupal to Laravel is a benefit. But there's also something to be said that, like, if Drupal Core gives you, let's say 90% of what L- Laravel does, and I don't know, so I'm not saying that's true, but if that were the case, then even if you can say, "Oh, well, Laravel might be technically a better fit perfectly with no other constraints," if our whole team knows Drupal already and Drupal Core gives us 90% of what Laravel does, there's probably a case to be made to build it in using Drupal Core.
Yeah. Because that's what everybody knows already, and it overlaps better with our existing applications, which that, there's a lot of value to that. Yeah. As a business owner- Of course ... I'm more, more concerned with what makes the best sense to the business the whole way across the board versus perfection.
[00:24:26] John: I, weird, weird question I just thought of. Um, have you, uh, ever seen kind of a, a, you know, a Laravel app that, uh, integrates or, or connects to a Drupal site, shares information with a Drupal site? Like, ever seen- Not
[00:24:42] Matt: Drupal.
[00:24:43] John: Okay.
[00:24:43] Matt: Yes, Expression Engine, yes, WordPress. Um, and yes- Mm ... a lot of headless CMSs. Um, so that's something we do all the time, especially once WordPress as- added the REST API concept.
I've often, and I've built one myself, where the, um, the content managers use WordPress, but instead of using the WordPress front end, we expose everything through the REST API, and we'll do the same thing for other tools like, you know, Contentful or whatever else.
[00:25:05] John: Mm-hmm.
[00:25:05] Matt: Um, and back in the earliest days of Expression Engine, um, Expression Engine, the biggest difficulty of working with Expression Engine outside of EE is that, um, their database tables did not have a different table for each data type.
I don't know how Drupal handles that. I think it might be similar for Drupal. So if you are not using D- uh, Expression Engine's drivers to get the data out, there's no easy way for another framework to say, "Hey, give me all of the posts. Give me all the contents or the comments," 'cause they're all just intermingled in the same thing.
Yeah. So we- Yeah ... tried to build a tool. We were basically doing the, the two at the same time, and it was pure misery, and we ended up... Mm-hmm. We actually talked to the Expression Engine leaders, and they're like, "Yeah, that's a terrible idea. Don't do that." So I imagine that folks may have the same issues if they're working with Drupal and Laravel because Drupal's database structure is not the same organizational way that, that a Laravel application would expect.
But again- Mm ... I unfortunately can't speak more eloquently to that. I mean,
[00:25:54] Nic: it, just re- really briefly before we go back to the show notes, I mean, I mean, Drupal is fairly hyper-normalized for the content structure. Mm-hmm. Um, but it also has really powerful, like, REST- Modules and- And so that would probably
[00:26:07] Matt: be how it
[00:26:07] Nic: happened
yeah, y- Just to like- I mean, or if you wanted GraphQL or some- I mean, there, there's ways to get the data out.
[00:26:12] John: Yeah.
[00:26:13] Nic: Um, that's pretty straightforward.
[00:26:15] John: So before we continue, Nic, uh, I wanna highlight, uh, Lee's, Lee's comment on, uh, YouTube there. Uh, "Laravel and Filament PHP are the bomb for apps rather than CMS style sites."
Yeah, uh, I would agree, Lee. I'm, I'm coming to that conclusion, uh, all, all by myself even though, you know, I'm a huge Drupal fanboy. And then, um, uh, Kaiser JB, uh, has made a native PHP app that connects to JSON API from Drupal, um, that spins up Laravel inside Drupal and I hope becomes a contrib module. Okay, well-
[00:26:51] Nic: That sounds- We'll, we'll-
wild. We'll have to- I have to see that ... we'll have
[00:26:54] John: to check that out as a module- Yeah ... for the week at some
[00:26:57] Nic: point. Yeah. Yeah, let us know, Kaiser. Um- So, uh, a- and really quick, Matt, Laravel is also built on top of Symfony, too, right? Just
[00:27:07] Matt: like- Sort of. Uh, so Symfony at one point, uh, kind of told the whole world, "Hey, we have these core, um, like, requests and response and, uh, middleware and everything like that.
You all should build on those." And so Laravel does use those. They use less of those than they did when they first started. So L- Laravel I think has a, is a mixture of Symfony packages, uh, Laravel Illuminate packages, what they're called, and then also just community packages. Oh. So it has some Symfony components in it.
[00:27:32] Nic: Okay. Very cool. So, uh, how would you describe the relationship then between Laravel and PHP? Does Laravel help people discover PHP, or do you think people already know PHP first and then are looking for a framework and find Laravel?
[00:27:46] Matt: Yeah, there's a little bit of both. Um, I would say the larger... Because of the prominence of PHP right now and the efficacy of the Laravel world's marketing, uh, we are seeing a large portion of people not discovering PHP, because, like, everyone's heard of PHP, but discovering the PHP today.
Which I would say the PHP today is a completely different language- Oh, yeah ... uh, community ecosystem than the PHP that most people think they know. Right?
[00:28:07] Nic: Yeah.
[00:28:07] John: Not your, not your grandpa's
[00:28:10] Matt: PHP is what we're- Exactly ... is that what you're saying? I mean, I literally, I'm... We're, we're hiring at Titan right now, and I had a guy who's not a programmer applying for the job.
And literally on the call, and he's like, "Yeah, and then our competitors, I mean, everything was super out of date. What were they using? PHP? Pff." And I'm like- Yeah ... "You didn't do any research about the company you're applying to, right?" Like, that is out there, right? Like, those people are out there. Yeah. And they are the larger portion, the people who don't understand PHP, who think it is what it was in 1990.
Um, so Laravel is introducing a lot of people to the concept that modern PHP is not what their preconception, uh, preconceived notions are, 100%. Uh, Laravel is, uh, gaining a reputation in places that a large portion of PHP are not gaining a reputation. Um, so it is helping kind of, like, hopefully slowly raise the, the ship of, you know, of, of PHP.
[00:28:53] John: Yeah.
[00:28:53] Matt: Um, but there is also discovering the other direction. As an agency owner, uh, we work a lot not just with, um, fresh builds, but we lo- love to work with legacy applications. Uh, some of our favorite folks to work with are, hey, we've had the same functioning PHP application, whether it's vanilla PHP, super outdated Laravel, coding or whatever else.
It's been running for 10 or 15 years. It's super viable, valuable for our team, and we've hit an inflection point of some point, or inflection moment at some point, and we need to modernize. And so we- Mm ... y- they, they do all the research. They learn what the thing is, and they say, "Oh, the modern thing is Laravel.
Let's move it over to Laravel." So Laravel is getting adoption from people who are in PHP for some reason and say, "What is the latest, greatest app development framework? Oh, it's Laravel." But I would say there's probably a larger move of the Laravel is really doing hard work of gaining a reputation, being seen in Silicon Valley, getting a reputation among tech people.
And then people say, "Oh, it's on PHP," and hopefully we're able to help them see that PHP is not what they think it is.
[00:29:48] John: So, uh, it sounds like Laravel's developed a pretty strong, um, both community and brand, and I'm wondering, like- What, what has Laravel done particularly well from a marketing perspective to like build that community, you know- Yeah
distribute or, or inform people of that brand?
[00:30:09] Matt: Yeah, I mean, one of them is Taylor, who created Laravel, was very, very intentional from day one about evaluating what he thought was effective from other, um, successful web development communities and try to, to do those same things. So he saw that documentation was really key- Mm
um, and intentional, kind of helpful online community where people for free encourage each other and give them opportunities to grow. So the IRC and then Twitter, and then at some point there was Slack and dis- um, Discord and stuff like that, but just groups of people trying to help teach each other. And he also created conferences and meetups very, very early.
So he was able to look and say, "What has been successful in terms of helping these communities grow?" And that alone is a marketing effort because saying the moment you see this thing, it's got a nice-looking website with really clear documentation, a very un- uh, clear and well-defined onboarding story, and a whole bunch of, you know, thousands of really helpful people, that's a- that's one really big piece.
[00:31:03] John: Mm-hmm.
[00:31:03] Matt: Uh, but there's lots of other little things. Um, you know, a lot of us have been very intentional of building relationships outside of the Laravel world, uh, both in and outside of PHP, um, and being good and kind people who are in- intelligent and who are reasonable, who ship functional software rather than sitting around and, you know, like I said, bike shedding all day long.
Like, so- Mm ... the, through, I mean, Laravel came public in 2011, so we're 15 years in. So we've got 15 years of shipping, 15 years of being reasonable, 15 years of contributing positively. Like Vue.js- Mm ... uh, when Laravel kind of adopted it, Vue.js was a pre-1.0 thing, and Laravel's kind of love for Vue.js was a really foundational thing in Vue going forward.
Tailwind CSS was invented by Adam Wathan while he worked at Titan in the, the Laravel ecosystem, right?
[00:31:52] John: Oh,
[00:31:52] Matt: wow. Like, um, Alpine.js, which is a little bit less well-known but still one of the few- Yeah ... kind of like successful JavaScript frameworks, was created by Caleb Porzio, who worked at Titan and left Titan and went and created Alpine.
So like we have all these folks in the Laravel community who are going and contributing things elsewhere. Aaron Francis, now the VP of marketing at Laravel, was, you know, is speaking at every single conference you possibly can. I love to go on other people's podcasts. So there's a, there's a community effort to get outside of our world, to build relationships, to contribute, to do work there.
Um, and then there's also a consistent story and application for the last 15 years of showing that, like, if you want to go from having nothing to being able to take people's money or provide real value to people, there's no faster and more effective and scalable, secure way to do that than Laravel. And just doing that over and over and over again, communicating to people over and over again, um, has been super, super intentional.
Laravel the organization also does place a pretty strong emphasis on, uh, marketing specifically, and any marketing for Laravel Cloud, one of their paid products, or Laravel Forge, or, and you know, any marketing that they do as an organization also naturally does marketing for the Laravel ecosystem because those are kind of like, you know, as one grows, the other grows as well, so.
[00:33:04] Nic: Sure.
[00:33:05] Amber: And I want to give a shout-out to Laracon, uh- My, uh, our CEO, James Stansbury, he went to Laracon this year, and then he came back and he recommended a few of the talks, and I watched, like, five of them. And what great content. Mm. Like, Larac- uh, Laravel to me has always had a reputation for, like, the developer experience being excellent, and the content at Laracon this past summer was just so nurturing and inspiring.
Oh, I love that. And it was just, like, just it was so great. So I just love the effort that the community is, is putting into the care and feeding of, of people doing software development. So I just love that.
[00:33:47] Matt: And I, I, I, sorry, I just wanna jump into that as well. I do think that developer experience and caring for your community, and making it easy for newcomers, and making peo- people feel welcome is one of the most powerful marketing efforts you can possibly have.
[00:34:01] John: Absolutely.
[00:34:01] Matt: And a lot of, like, legacy, you know, like, marketing or l- legacy programming worlds are very much like a good old boys club, and, like, they're very much about, like, "I've established my place, and now you have to try..." And, and in Laravel it feels like, first of all, new people, great, more friends, which I think is wonderful.
Um, but also, uh, the, one of the most popular things you can do, one of the most kind of, like, career positive things that you can do in the Laravel world is teach something or, like, create something for free or give back. And so because of that culture, you, you just, you enter into Laravel and you're like, "Oh my gosh, this feels so good."
And that just means more people wanna grow, they wanna share, they more wanna invite people.
[00:34:38] Amber: Yeah. That's amazing.
[00:34:39] Nic: Very cool.
[00:34:40] Amber: So learning about some new things. So Jigsaw, uh, which is, I understand, a static site generator in PHP- Mm-hmm ... and Onramp. Mm-hmm. So what inspired those things? And as we market PHP, how could that translate into a stronger ecosystem?
[00:34:59] Matt: For sure. So Jigsaw was actually also created by Adam Weatherin while he worked at Titan, uh, but when he left Titan he's like, "You guys can have this, I don't wanna maintain a static site generator." Um, I love Jigsaw. I'm glad we have a static site generator. It's the best experience I've ever had with an SSG.
I also don't think SSGs are the future. So with all the love and respect to all the work that our team has put into Jigsaw, I think when people want SSGs, Jigsaw is an incredible place to work, and we're gonna keep maintaining it 'cause we use it in lots of projects. But I don't think the growth, especially given the complexity and maturity of SSGs in the JavaScript world, I don't think server-rendered SSGs are really, like, something that's gonna be a big marketing effort or anything like that.
Again, I love Jigsaw, love other people building those things, but I think it's more of a niche interest, and it's- Mm-hmm ... perfectly fine. Um, Onramp, um, and, and, but again, grateful for Adam for building Jigsaw. So grateful for the team who's put so much work into it, and I use it on my, my website, Titan uses it on our website.
We, we think it's great. Yeah. Um, but I don't think it's, like, the we're moving forward because of static site generators. Onramp, for me, was created because, um, I, like I said, I wrote a 500-page book, um, but I still had conversations with people all the time about, like, what does it look like for me to get onboarded into, you know, I know WordPress, or I know front-end web development, or I don't know programming at all and I want to learn Laravel.
And so I wanted to create another resource that people can use to learn Laravel. Mm-hmm. And I said, well, there's a bunch of existing resources out there, but if you just tell someone, "You know, just go watch YouTube videos about Laravel," good luck. Figuring out which ones to watch and in what order, and at what point have I watched enough of them Yeah So I said, well, if I think through my book and I think through what I expect when I hire people, what are the things that I need them to have gained comprehension of, uh, before they're, uh, really able to apply for a job at Tighten?
And I said, "So that's my specific scope here. Like, what things must you have practical experience with and have learned?" Um, so it's a little bit more scoped down than the book. Um, and how can I do that using free resources that already exist on the internet? And so I basically modules, made modules for each of those different components, you know, auth and database, whatever else, and then said, "Here are all the existing resources on the internet that we know of that are teaching you these things, especially via video form, but also articles as well."
And I don't actually maintain it anymore. There's some wonderful folks at Tighten, uh, namely Marcy Acevedo, who, um, constantly go back in and make sure it's got the latest stuff, and then we take anything that's no longer relevant. Um, but again, the goal there is just to give a free option, especially for people who learn better by video, to go from I don't know Laravel to I could potentially apply for a job on Laravel.
All
[00:37:24] Amber: right. Right on
[00:37:26] Nic: That is blowing my mind. So it's, it's funny because a lot of the things that you're saying are things that the Drupal community is literally talking about now. Like, there's a new, um, uh, Drupal marketing initiative where a bunch of the larger companies are kind of banding together to go to non-Drupal specific conferences and kind of have a group.
Like, that's one thing that the Drupal community, I think, and Lara- Laravel seem to have in common, right? The communities are very strong. Mm-hmm. There is competition obviously between companies, but most of the companies in the Drupal sphere do understand that a rising tide lifts all boats.
[00:38:03] Matt: Mm-hmm.
[00:38:03] Nic: And, you know, when it comes to external marketing, they realize that, like, marketing Drupal helps everybody.
And I- it, it seems like the kind of thing that I wish we, I wish the community had come to this realization 10 years ago rather than two years ago.
[00:38:18] Matt: Yeah.
[00:38:18] Nic: But y- it's good to see the success on the other side of that as well. Like, it's not like, "Hey, we had this idea. We're doing it, and we don't know if it's gonna work."
[00:38:28] Matt: Yeah.
[00:38:28] Nic: I mean, Laravel looks like a community that we can, we can learn a l- a lot from. In fact, I'm going to send the on-ramp stuff to the, the, uh, the interim CEO of the Drupal Association because- Awesome ... that seems like something... 'Cause again, like I said, with Drupal has been working a lot on that first, uh, experience as well.
Like, how do you, how do you get a site up and running? That's what site templates are meant to solve, and if we can build an on-ramp style thing for people as well, that will, that'll pair really nicely. Um-
[00:38:55] Matt: Well, I appreciate those nice words. Yeah. I do wanna add something to that, which is that on-ramp is one tiny piece, and Taylor himself- Yeah
has been doing really, really, really intentional work to make Laravel easy for newcomers since day one. He will constantly, at least once a year, he goes back to the docs, and he rereads the entire docs from the perspective of somebody who's never used Laravel before. He has this very impressive ability to just kind of, like, turn his brain off and will rewrite the docs- Yeah
like, from scratch almost once a year. Um- Oh, man ... they created something called Laravel Herd with the specific intentionality of it being a single-click installer for Mac and Windows that will host your Laravel applications with no home brew, no external dependencies or anything like that. Um- Okay ... they created, uh, php.new, which unfortunately named 'cause it's really laravel.new.
Um, but it's a single click to basically get up and running with some of your PHP development environments. Um- He constantly makes changes to the framework- Mm ... based on people's feedback who are new to the ecosystem. So for example, we used to have a whole ton of folders and files that every single new install would have, and a lot of people are like, "I don't know what to do with those."
And Taylor would kind of sit with it, and he'd at some point say, "You know what? Like, 90% of applications don't change these seven folders that are in every single brand new install. What, what is a nice API I can come up with where they're not there by default, but you can add them when you need them?" So it's- Oh
there's a, one of the benefits of having a BDFL, a bene- bene- dictator for life, is those big changes, um, according to his values, um, are easier to make because it doesn't have to go through an entire committee of 25 people who are complaining because it breaks their site that's 17 years old. Taylor says the future of Laravel is making it easier for people outside the Laravel ecosystem to use it.
He makes those changes, and we all just deal with the consequences. Right. And his perspective is basically, if you guys have been writing Laravel for 10 years, you can adapt, whereas we're talking to the people who've never written a line of Laravel, and I wanna prioritize them. So Unwrap is cool, but it is one piece of a whole bunch of people working- Wow
and it's especially a bunch of people in leadership levels. Like, I am a leader in the Laravel community. Aaron Francis is a leader. You know, Taylor's a leader. Uh, he's the leader. There's a lot of people at leadership levels in the community all working towards the same goal, and so we come at it from lots of different angles, and that is what gets us here, not just one project like Unwrap.
Yeah.
[00:41:02] John: I, I, I love the idea of like, hey, when a new person comes in and has a problem or question or idea, we look at that and go, "Huh, maybe we need to change the way we're doing things to make it easier- Yeah ... for that person." I feel like You know, that's something that we're getting better at maybe in the Drupal community, but for a while it was just like, "No, no, that's the way that this works.
You just have to run, like, these six Drush commands." And then, like, you know, maybe some Composer and then, like, it'll work. And you're just like, "Ah, no, that's ... It's so hard when you're new to something to, like, have to know, like, how to do those things."
[00:41:45] Matt: Yeah.
[00:41:45] John: Um, I will say that, uh, T Sharp, uh, makes a great point in the chat here.
Drupal does a great job of being a welcoming community in person and online, but we could do a better job with our documentation. Um, I mean, I think everybody- To be nLightened,
[00:42:03] Matt: I think ...
[00:42:03] John: everybody, everybody could do a better job with their, their documentation, you know. Um, maybe, maybe not Laravel. It sounds like Laravel has great documentation, but the vast
[00:42:13] Amber: majority- It's not just
Like, I have to soapbox for a second. It's not just people doing a better job, it's making it a priority, making it an investment. Yeah. Yeah, yeah. And it's ... I love the takeaway here that we're, we're getting about investment in documentation, investment in onboarding, and making the platform friendlier to, to, uh, newcomers, is the way that you build your reputation and the way that you market.
100%. Having a booth somewhere, having flashy graphics, having a brand guide, those are all great and ... but if someone's hearing about Drupal and then they're trying it out, what's their experience gonna be? They're gonna go to the docs. They're gonna, like, try it out, and how's the onboarding experience?
Drupal CMS has made huge strides in making that initial experience successful and great, because it's got this op- opinionated stuff all built in. That is all positive steps in the right direction. But man- Investing, like paying someone to be a full-time docs, uh, manager at the DA, investing in that the way that we're investing in the AI initiative and, and other initiatives is just, it's key.
Like l- we're learning here from Laravelle, like this is so vitally important. Um, otherwise, people might hear about Drupal from a booth or whatever, but what's their initial experience gonna be? It's gonna be okay with Drupal CMS, but what else, like as they proceed? So this has been a known problem for years and I just, thanks Matt for telling us all about this.
No problem. Such a great lesson. I love it so much.
[00:43:50] Matt: I'm going to say something that I know is not on our, our, our schedule, and it's also gonna make me look like an idiot. Go ahead. Uh, but I hope it will be valuable to your community. So I'm gonna say it anyway. Um, I am on the PHP foundation board, and I'm brand new.
Um, I have been writing PHP since the '90s. Uh, I have worked on Drupal projects before. Mike Herschel was one of my people I came up with in Gainesville, Florida. Oh, really? So I know the Drupal world more than your average non-Drupal person, and I had absolutely no idea that there was anything Drupal outside of Drupal CMS.
I'm on Twitter all the time. I listen to podcasts. And, in my mind, Drupal is- Wait, what? ... one thing. I, I, Drupal was Drupal CMS. That was it. What do you, what do you mean Drupal has a framework? I've never heard of that, never in my entire life.
[00:44:32] Nic: So, yeah. So, so Drupal was, uh, so yeah, just we, we might be, uh... That, that might be my fault.
So Drupal has always been a CMS, but two years ago, I think two and a half years ago maybe now at this point, Dries gave a talk. He called it Starship, but basically said, "Hey, Drupal being the product and the- framework together as one thing is one of the things that's causing things to be problematic. And so he, he created the initiative which eventually became Drupal CMS, which is what Amber was saying.
It's the, it's the product side.
[00:45:05] Matt: Totally,
[00:45:05] Nic: yeah. So that means that Core, which is the more framework side, it's not, uh, we just call it Drupal Core, but really it's the framework piece, has been shedding pieces Yeah ... significantly. Or like for example, we, we did, we're about to drop the search functionality, the Core search.
'Cause n- nobody uses the Core search functionality. It's awful. Anybody that uses search in Drupal uses the search API module, which lets you do whatever you want to, and Drupal CMS has a recipe for applying that and it just works out of the box. So why is Core managing however many thousands lines of code?
And I,
[00:45:39] Matt: and I say all this just because I wanna make sure- Yeah ... that you all understand- Yeah ... the outside perception, so that if you're saying, "Oh, we implement-" Yeah ... like, I don't wanna be like, "You should learn from us 'cause we're so great." I, learn from me because I'm stupid. I don't know, until this call, that Drupal is anything else other than the CMS for really complicated- Wow
organizations and enterprises. And that's, and I pitch it to people all the time. I'm like talking about how great PHP is, and I'm like, "And you know what? If you've got 17 different departments and they all need to have a shared set of data that's really complicated, and some department needs to pull from here and pull from there.
If you're a school, if you're a nonprofit enterprise, Drupal's the best CMS in the world for that." That is it. Never once in my life have I considered recommending Drupal for anything other than that group right there. Really? So if you guys are trying to get adoption for Drupal for building applications, Drupal as a framework in any way, shape, or form, one of the first things to do is just basically to figure out, what is the message you're trying to get?
Who are you trying to get that message to? And push really hard at it, because I haven't heard a single word. And again, I'm only one person, right? Yeah. And what I've heard does not do, to, to, to find whether or not you guys are doing a good job in marketing. But I've never in my life heard of Drupal as anything other than what I just said.
So if there's a case to be made there, you guys need to agree consistently and universally on what that case is, who you're trying to sell and what you're trying to sell to them, and then make that happen.
[00:46:53] Nic: Yeah.
[00:46:53] John: Okay, so we're, we're gonna, we're gonna rewind 10 seconds and Nic's gonna send that to Tiffany as well as a, as a point of-
a point of information 'cause- T-
[00:47:02] Nic: Tiffany's the CEO of the DA.
[00:47:04] John: That just literally- Oh, go ahead ... just blew my mind. You're like, wait, what? Drupal- Yeah ... CMS? Drupal as a, as a framework? What? Oh, man. All right. So,
[00:47:13] Nic: so-
[00:47:13] John: There's a lot of light being shed here ...
[00:47:15] Nic: yeah, we're, we're, okay, so this is your podcast and we're the guests, I guess, so.
Um, so I, I, I don't wanna shift away from that too quickly, but, uh, you did mention the PHP Founda- being on the PHP Foundation. Um, I-
Really briefly, what is the PHP Foundation and what role does it kind of s- play in supporting the future of PHP in general?
[00:47:38] Matt: Yeah. So the PHP Foundation is an organization of people who rely on PHP for their longterm, you know, longevity of their organizations or their companies, and the goal of the foundation is to ensure the longterm prosperity of the PHP language.
So PHP itself does not have a corporation overlord. Um, it does not have a BDFL. Um, so it is a very kind of, like, low-level organization with processes and systems that define how things move forward, not just the leadership team. Like, there is no PHP leadership team per se. There is the PHP core internals group that have gotten voting rights and do all their decisions through RFCs and through mailing lists.
It's very, it's very different than how a lot of people imagine- Yeah ... you know, organizations like this working. And the foundation was created by a whole bunch of people who said, "We want PHP to move forward, uh, to have, like, the structures around it to basically be able to persist. Uh, and we believe that getting the people who financially benefit from PHP to chip in towards those goals financially and in terms of kind of the person power and everything like that will help that happen."
So the foundation is doing things like helping market PHP, uh, paying for contractors full time purely just to work on PHP core and PHP extensions and stuff like that, um, you know, working on g- uh, building inter-, um, inter-PHP communication and relationships. And so we've got folks on the board who are from, you know, various organizations, from, you know, WordPress and stuff like that, to try and make sure that there's connection among people doing PHP, that PHP has financial backing, uh, behind it, and that we can do work to do the types of things for PHP that PHP's not good at doing for itself, and that is in large part community things and marketing things.
Like, there's no systems in the PHP. You know, it's, how to move forward the PHP language itself is very well-defined, uh, and the foundation is helping with that by paying for people to work on that. But outside of the language- Okay ... there's very, very little definition or structure for how to help PHP, how to work on the website, how to do marketing, any of that stuff.
It's really poorly defined.
[00:49:35] Nic: A- and, and I do, I do wanna point out, too, something that I always find fascinating. PHP itself is not written in PHP. That may be- Yeah ... obvious to some people, but it, it, it's C, right? Or-
[00:49:45] Matt: Mm-hmm. Yeah.
[00:49:46] Nic: C- yeah, C. So, uh, I, I'm, uh, it's always interesting to me to understand how- Something like that works, 'cause you obviously need to know PHP to write PHP, but you also need to know Z really well- Yes
to understand, uh, how, how to build a language. But-
[00:50:02] Matt: Yeah.
[00:50:03] John: Oh, hold, hold on a second. 'Cause I, uh, uh, hold, hold
[00:50:08] Matt: on. Uh-oh.
[00:50:09] Nic: I kind of asked the question, I, I made that comment kind of for this reaction 'cause- I love it
[00:50:15] John: Hold on. So because so I, I learned how to write PHP. I know PHP. I also learned how to write C++ when I was learning, learning how to code.
But, so, uh, Nic, going back to what you just said, PHP is a language, right? You write PHP and then something processes it. Are you saying that the thing that processes it is written in C?
[00:50:43] Nic: I'll, I'll let Matt take that. I mean, he's on the-
[00:50:45] Matt: Yeah ...
[00:50:45] Nic: PHP Foundation.
[00:50:46] Matt: I mean, so PHP a l- as a language can't be written in PHP, 'cause otherwise it wouldn't be anything to write, right?
Every language has to be written in- Okay ... some other language. So it's that PHP, like you said, the PHP processor is written in C.
[00:50:58] John: Got it. Okay. I don't, I don't feel that dumb yet, but for a second there- ... Nic totally broke my brain where I was like, "What, what did he just..."
[00:51:07] Matt: Yeah. "
[00:51:07] John: What's happening?" The whole world- Yeah
is crumbling around me. I- I'm sure,
[00:51:10] Nic: I'm sure there's some self-referential languages that write themselves in their own language.
[00:51:16] Matt: Yes.
[00:51:16] Nic: I'm, I'm not sure if- But not many ... there's any languages that are like that that are used in real life. M- may- N- no ... maybe JavaScript. That, I mean, that makes-
[00:51:23] John: Does- That makes
[00:51:23] Nic: sense
wait, is the, is the JavaScript comp- compiler written in-
[00:51:26] John: Let's not go down this rabbit hole ...
[00:51:27] Nic: yeah. Anyway. We got so many more
[00:51:29] John: questions to ask. Uh, yeah. And
[00:51:29] Matt: we don't have- I do wanna tell you guys, one tiny fun fascinating thing is I recently- Sure ... wrote a blog post about how to contribute back to PHP, and one of the things that a lot of people didn't know that I wrote in that was the tests for the PHP language itself can't be written in PHP, because-
[00:51:43] Nic: Really?
[00:51:43] Matt: then they couldn't catch a test in their own thing. So how do you write them? And they're basically this very plain text syntaxed, or syntax, where you have a s- thing of PHP. So you got braces, question mark, PHP, new line, and then some PHP code, and then a line, like a whole bunch of dashes, and then the exact output you expect from that PHP code written.
Huh. And you can do a couple other dividers, line something else, line other metadata. But basically, it's just like, here is the input that if I pass this to the PHP processor, I should get exactly this output. So it's a, it's called PHPT. It's this fascinating syntax that those of us who don't write PHP have never seen before.
But it's like, yeah, you can't write PHP tests in PHP or it wouldn't, it w- could re- it would recursively be broken. Yeah. So it's just a fascinating little th- uh, n- you know, tidbit.
[00:52:28] John: Nice.
[00:52:29] Nic: I, I, I, I love these little, little facts. That, that's very fascinating.
[00:52:33] John: So I will, um, I will, uh, drop a note here. Um, some of the questions in our, our docu- the listeners can't see them, but they're, um, you know, talking more about the foundation, and I'm gonna, I'm gonna move us back towards talking about marketing PHP specifically, um, 'cause that's, that's our topic.
We are gonna have a show with, uh, Elizabeth Baron, uh, on- Great ... September 29th. Um, and we will ask all the hard-hitting questions about the PHP Foundation specifically. Um- So getting back to those marketing questions and, and just thinking about how the PHP Foundation specifically does marketing and advocacy, and can you tell us how that's different from, like, how an individual project like Laravel might, you know, do the same sorts of things?
[00:53:28] Matt: Yeah. And I'm involved in marketing both, so I, I have a very kind of... 'Cause w- when I joined the PHP Foundation board at the beginning of this year, I said, "The reason I'm joining this board is for marketing." PHP Foundation does a lot of things. I want to be the marketing guy, so that is where my time and energy has gone.
I would say the easiest thing to do in a world like Laravel that has a, now has a corporate backer, a- but especially importantly that has a BDFL, is that if Taylor thinks it should happen, it just happens. So with Taylor says we should re- re- rewrite all the documentation because newcomers are the most important thing, Taylor then either does so or pays somebody else to do so, or somebody else pull requests it and Taylor approves the pull request.
That's it, end of story. With PHP, you either have a really well-defined way to do something like that, um, which is, you know, RFCs and months of voting, and everybody has to agree, and people in the PHP world are coming from very different backgrounds, right? So you have to get this... You know, or worse, it's not defined at all.
Uh, everything marketing related in PHP is not defined at all. So, um, I am working with, uh, a team at the foundation to try and make some changes to the php.net homepage, because anybody who's been there recently knows it's not reflecting positively on our maturity and modernity as, uh, you know, programmers.
It makes you look like we're still in the '90s, and that's exactly what we're trying to fight right now. Um-
[00:54:43] Nic: Yeah
[00:54:44] Matt: But there are no defined processes for how to change, make changes there. So I'm just making it as publicly- Okay ... and transparently as possible. I'm asking every person who has ever historically, like, had any impact on that to make sure that they see what I'm doing and they sign off on it.
But it's this, it's, we're months in to try and redesign one page on the PHP.net home-
[00:55:02] Nic: Yeah. I, I was gonna say, even just, like, the docs page on the PHP is, it just is so... I mean, it's good. It's just so dated.
[00:55:10] Matt: Well, and we've tried to redesign it three or four times over the last 10 years. I'm, I'm telling you- Oh, wow
I have been working on this from the outside for over a decade, and joining the foundation board was one of the, the few things that has allowed me to get to the point where I might feel like I can actually make an impact. And it's just because, and it's, I'm not blaming PHP, but it's just PHP- Yeah ... is so different.
An organization like PHP is so different than an organization like Laravel. And I understand that corporate backers and BDFLs can sometimes turn into really big problems. Like, I've watched what has happened to the Rails world, and I don't envy them at all for the experiences they're having. I've watched what's happened in the WordPress world, and I don't envy them- Yeah
the experiences they're having. Uh, but I am very grateful to be in a space where we are able to have a, a shared perspective in the Laravel con- world where, first of all, if it's in a Laravel official marketing, you just do it. Um, but I do think there's another aspect to marketing, 'cause PHP Foundation could do our own marketing outside of the php.net website and just do whatever the heck we want.
So to answer your question as well in terms of what it's different is PHP does not really care about people using vanilla PHP, right? Like, nobody in the PHP foundation is trying to get people to, convince people to go write vanilla PHP applications with no packages, no frameworks, no- Write it
[00:56:19] John: yourself from the
[00:56:20] Matt: ground up.
Right? Like, nobody actually thinks that's a good idea. Yeah. So whereas Laravel marketing says use Laravel, PHP marketing really just says use any of the various tools that are in PHP. Yeah. But we can't specifically name them because we don't want to play fram- favorites, right? For sure. So it's this very nuanced conversation.
So for me, my main goal and my personal main goal, this is not everybody, it's not the foundation, my personal main goal in marketing the, uh, PHP is to address the concerns that people have as they evaluate a language. Mm. Especially noting that the vast majority of those concerns come from 20 to 30 years out-of-date conceptions of PHP specifically.
[00:56:54] Nic: Yeah. So- PHP 4, PHP 5 was- Right ... a, not a serious language. Yeah. Since starting around 7, definitely 8, I mean, it's- It's a modern language. There, there's some, there's some issues with property hooks that I think people are gonna experience.
[00:57:09] Matt: But in general- But that's not the sort of thing that's making a decision.
Yeah, yeah. Right? Like, what- Yeah, yeah. No, no ... what's happening is, uh, the CTO, the whatever other C-suite, uh, has developers who they trust, and they, they say, "We're gonna build a new tool. We should build it in." The developers say, "We should build it in Laravel," whatever else. And then they're about to go the whole way through and someone says, "You can't use PHP.
I know PHP." They don't know PHP. At very, very best, they wrote PHP in 1995. But what was more likely- Yeah ... is that somebody they know wrote PHP in 1995, and then moved away to Ruby or whatever else, and has told them, "Don't use PHP. It's old." So marketing PHP is giving that person a, like, a two-second read that tells them PHP is modern.
Reconsider your, your ideas. That person is not actually gonna go install PHP and deal with property hooks. They just need to be told that this is modern, this is fresh, this is a good idea for your company. When- You're not making a bad decision here.
[00:58:01] Nic: When, when you figure out how to do that, tell us, because we're dealing with some of the same stuff in the Drupal community.
Yeah. So- Right? There, there's some preconceived notions about how Drupal used to be 10 years ago, and it, the modern Drupal is not that.
[00:58:14] Amber: It seems like all we have is, like, the meme with the guy with all the money, you know, rolling in the, the cash or something. It's like, maybe we need, like, another meme.
Maybe a couple more.
[00:58:24] John: Memes. Possibly. Just a suggestion. We should, we should just start marketing everything with memes. Um- I, I may have, I may have missed this or it may not be clear to me, which has happened sometimes. Um, but, like, when we're talking about how the PHP Foundation's marketing, and you, you mentioned people quite a bit, and those people have different roles.
Like, is there a certain role you're focusing on? Is it like, "Hey, I wanna talk to the developer," or, "No, I wanna talk to the-" Great question ... CEO, or, "No, I wanna talk to, like, some person-" Yeah ... some technical decision-maker in the middle. Like, who are you guys talking to when you're, like, trying to market the PHP Foundation?
[00:58:59] Matt: Yeah. So Elizabeth can speak more about marketing the foundation, 'cause a lot of her role is, uh, making sure that people know the foundation exists and that they should give financially to it. So that's not my role at all. I'm marketing PHP. And so when I... Um, so Li- Liz- Elizabeth created, uh, special interest groups, and one of the groups is marketing, and I'm, uh...
Well, one of the groups is the ambassador group, and then among there, there's a subgroup called marketing. I'm the one who's leading that.
[00:59:22] John: Got it.
[00:59:22] Matt: Okay. And one of the first things that I did in that group was I said, "We need to define who our target audience is for all of our marketing efforts and-" Yes ... in this particular moment, the php.net homepage.
And pretty universally, we all agreed, uh, that... I led this, so I, I'm biased, but I do think that I got everyone else to be on the same page as me, that it is people who are considering building something on PHP. And it could be an application, it could be a company, it could be an organization, it could be a career, but they were considering building something on PHP, and they were evaluating PHP against other languages, but more importantly, against their preconceptions that came from other people.
So the number one target market is decision-makers, and decision-makers could be C-suite people and CTOs. They could be nonprofits who have been asked to decide, you know, across various... Or, or governments, right? Then they're considering not just, like, uh, the, the, the modernity of it, they also might consider the sovereignty of it and, you know, the governance.
Yeah. Um, you know, or it might be a, a newcomer who's considering building their career on it, and they wanna think about what's the developer experience, but also how many jobs are there, right? The number one marketing target is people who are considering building something on PHP, and how do we get them to decide PHP is a viable option for me to start with today?
Well, I,
[01:00:34] Nic: I, I guess that brings me to one of the, one of the questions that I think we just cut, but I think it's important. W- we've discussed this on the show a couple times, which is in the answer engine world, if you ask a tool to make something or vibe code something, it, it's always, always, always going to do something in JavaScript-
[01:00:55] Matt: Full stack JavaScript
[01:00:58] Nic: or something. Yeah. Python. So TypeScript. Yeah. So how, h- how do you s- How-- Are you considering how to make sure that PHP is in... I don't even know, in the conversation isn't the right thing, in the answer space, uh, for things like that? Because again, if s- somebody will start with what they're given, that, that, that's what they learn, right?
Yes. So if you're given PHP somehow... I mean, getting Drupal as... You're not gonna get a vibe-coded answer of, "Here's a Drupal application, it's just too..." Or even Laravel. They're, they're both too big. But getting something small in PHP in a recommendation to look at Laravel Next or Drupal or WordPress or something PHP Next
[01:01:37] Matt: is still valuable.
Well, interesting, nobody's ever gonna answer PHP because PHP is not the answer to that question. There's no question or there's nearly no questions that you can ask and they're gonna be like, "You know what? PHP is the one." But the good news is very few people are asking what language should I build in.
If they're asking something to an AI, they're saying, "What should I use to build? What framework, what tooling, what ecosystem, what something?" Uh, and they're often very non-technical people. And Laravel is showing up for the answers there because there's a pretty decent, not universal, but there's a pretty decent kind of public understanding that if you need to go from idea to shipped as quickly and effectively as possible, a batteries included full stack application framework is the best option.
And of the batteries included full stack application frameworks, Laravel is the largest and most popular right now. That doesn't mean we're getting answered every single time because, to your point, j- full stack JavaScript is still just so deeply embedded in the answer set that it's gonna get recommended more.
But if you ask your questions in a way where you're like, "I don't wanna have to make a thousand decisions," a lot of AI agents understand that JavaScript means making a thousand decisions, and they understand that batteries included, which means you're, there's as much convention as possible. You're only getting a couple options for that, and Laravel is one of the leading contenders there.
So to answer for Drupal, you have to ask the question of what do people want to build, what questions are they asking that Drupal is the answer for, and then market the hell out of that concept. And it's marketing, but it's also people actually believing and talking about it because the AIs are scraping the answers from things like, you know, Reddit and Quora and, like, real human conversations, not marketing-led initiatives.
So your marketing- Yeah ... is not gonna change what the AI answers. But if your marketing is effective and people actually believe that would be the case, then they write blog posts, and they talk about it in Reddit, then they make conference talks about it, and they make YouTube videos about it, and those things are all scraped in the AI.
So to your point, it'd be a lot easier if you'd started 10 years ago, but before you do anything, you need to know what the actual answer is. What is Laravel good for? It is for building full stack web applications from idea to production as quickly and effectively as possible that is also secure and scalable and AI-friendly, right?
It's a very easy- Yeah ... kind of narrative. What's Drupal's answer for that? And then work towards the whole world un- understanding and agreeing and re-sharing that concept, and then that's when you start placing for those answers.
[01:03:50] Amber: Yeah. It's kinda like that Lar- Laracon, uh, talk that Kenzie Dodds, uh, did about having that product owner perspective.
And that's what the... That's the perspective that people are bringing into their vibe coding apps. And so having case studies that are really, like, targeted toward kind of this un- this emerging group of, of product owners that, you know, that- that's what they effectively are when they're vibe coding apps.
But anyway, to your... You talked before about not wanting to play favorites amongst the different, you know, PHP ecosystems, but- My question is, like, how can we foster more collaboration amongst PHP ecosystems so we can sell all that PHP has to offer instead of just, you know, one niche? Um, there's Drupal, there's Laravel, WordPress, there's others.
Is there a way to kind of come together as different communities to help market PHP and reach developers who, who want to build with these systems?
[01:04:50] Matt: Yeah. There's a short answer and a long answer. The short answer is the PHP Foundation. 100%, there is no group or organization or person, you know, 'cause Elizabeth Theron is amazing, better equipped to do exactly that work.
Uh, this, and we're talking about an organization that has that as its primary focus, that is explicitly doing intentional work in that direction, and has funding to do so. No better place. PHP Foundation. If anybody's interested in this, has said, "Why is this not happening?" Go follow PHP Foundation, go become an ambassador, go donate money, go, you know, get a LinkedIn call, g- go to LinkedIn and make friends with Elizabeth Theron and get in a meeting with her.
Like, nobody's doing that better. Outside of that, attending each other's conferences, going to each other's podcasts, listening to each other's podcasts, building friends and relationships, especially at a more, uh, leadership level, but even on the ground, um, you know, understanding what the things are good for.
Um, those things are all super valuable. The good news is, um, I know about Drupal primarily because of interactions that I had with human beings in the Drupal world. Again, my first was Mike Herschel, because we co-founded a, um, a front-end development meetup in, uh, Gainesville, Florida, 'cause both of us were back-end developers who were trying to learn front-end.
So we co-founded this together, and he's like, "Oh, Laravel?" And I'm like, "Oh, Drupal." I'm so sorry. I'm
[01:05:59] John: sorry that was
[01:05:59] Nic: your first experience with Drupal. Wait. That, that's so funny because- What? Why are you being mean to Mike? Wait.
[01:06:03] Amber: He's so
[01:06:03] Nic: great. He, he-
[01:06:04] Amber: Come on ...
[01:06:04] Nic: he just, he just became a front-end ma- uh, a front-end framework manager for Drupal.
Yes. I, I mean, I know he can do back-end stuff, but I never considered that 'cause he's always been a front-end guy in
[01:06:14] Matt: my mind. And this is decades
[01:06:15] Nic: ago,
[01:06:16] Matt: right? You know, like, I don't know how long ago it was that I lived in Gainesville. It was a long time ago. But yeah, and we were both, like... And we, we, you know, and we gave talks, right?
So it's not like we didn't know what we were talking about. But that was my introduction, was it was across the pond, you know, interaction- Nice ... outside of the specific context. So moments of interaction and, you know, Amber, you keep mentioning, you know, Laracon. Like, we have a lot of people come to Lara- Lara- Laracon who aren't in the Laravel world.
And, uh, so inviting folks to speak, inviting folks to attend, um, you know, like, there's a lot of cross-pollination we can do, but I would say that the, the easy answer is the foundation.
[01:06:46] John: Yeah, it, apparently Lee has been dragging, um, Drupal guys to Laracon for a few years now. Um- Oh, I love it ... and, uh, you know, the communities would probably get on, like, a house on fire.
So maybe we should, we should start that meme.
[01:07:04] Nic: Um, so we're, we're getting, getting close to time, so we'll, we'll try to get through these last couple questions briefly. But if we're looking ahead, what do you think PHP or the PHP Foundation needs to do to help, uh, equip the next generation of developers and attract them? And how can the broader community help in- help?
Moving on along Yeah.
[01:07:27] Matt: Uh, and to what I said earlier, nobody chooses PHP because they wanna- Yeah ... wanna go write vanilla PHP. And, uh, honestly, even though people say it's the case, very people choose other languages for that reason either. In the past, people would choose Ruby, and, you know, Elixir, and Go because they like to work in the language, but that was the minority.
Uh, now it's a loud minority, but it was still the minority. The vast majority- Yeah ... of people who choose languages choose languages because the way those frameworks, eco- ecosystems, tools that happen to be in that language enable them to accomplish their goals. Their j- goals might be getting a job. Their goals might be building an application.
You know, whatever it is. Like- Yeah ... these things are, as much as I love programming, are implementation details of larger goals that we have in our life. So to me, I don't care if people write PHP. I do care that we bring people into the ecosystem, and framework, and tools that happen to be built on PHP.
Yeah. And so I care for the PHP Foundation because I love those frameworks, and I love those tools, and I want WordPress to be successful, and I want Drupal to be successful, and I want Laravel, and Symphony, and all those other things to be successful. But I don't necessarily care that somebody's, like, day-to-day line of code that's writing has a dollar sign and a, and a brace before it, in part because in Laravel, half the code we write is CSS, and, and JavaScript, and HTML, and deploy scripts in other languages.
So, like, PHP is important and is valuable, but it is, it is one of the details of the larger world that we're in. Similarly, WordPress and Drupal, I know in Expression Engine, in Craft CMS, a lot of the CMS world, you're not even necessarily writing PHP code, and quite a few people who call themselves full-time CMS implementers don't write a line of PHP code at all, and yet they're doing amazing work for their clients.
So are they PHP developers? Yeah. Yes, but did I convert them to writing PHP? No. So I believe there is a world, there's a community, there's a ecosystem, there's a set of tools that I want to succeed. I want more people to use them, and so the marketing is mainly independent. I think the marketing for PHP itself is to get rid of the negative perception.
And I don't wanna be someone who lives in the negative, but I don't think that we're gonna convince people that PHP is their favorite language, and then there they'll pick a tool from there. That's not really how people learn. They pick a tool, and PHP needs to say, "You didn't make a mistake by picking a tool based on PHP."
Yeah. That's its role. Makes sense. And once it's done that, it's good, and all the work going forward after that should be saying, "You know, you needed this. WordPress is the answer. You needed that. Symphony is the answer." Because that is where we win, because nobody else has the robustness of functional, like, long-standing, really, really valuable tools like the PHP ecosystem does.
[01:09:49] John: How much of, how much of that decision do you think is based on speed? And what I mean by that is, like, everybody wants everything deve- developed, delivered, like, now, today, as opposed to, like, in three weeks, or four weeks, or, or a month, right? Like, so how much of, how much of- What you just talked about do you think is, is, you know, ease of use, community, documentation?
And then how much of it is speed because some, um, C-suite individual is saying like, "Hey, we needed this yesterday"?
[01:10:23] Matt: It depends. Uh, so I have a guy that I met at Laracon who works at a very large, um, enterprise, and he's like their skunkworks. And so they're like, "We have an idea. Go build something for us." So he loves Laravel for its speed, and they love working with him because he takes- Mm
Laravel and AI, and he spits things out really quickly. We have another client who does in, uh, basically he's helping them build, build their company bigger, so he goes on sales calls to these massive companies. He sells them $700,000 contracts by meeting with them, hearing what they want, going home, developing a prototype in Devon, coming back a week later saying, "Is this what you want?"
They say yes, and while he's building out the contract with them over the span of six months or six weeks, he's like, "Hey, guys, go build this into our application," and we build it in the application. So speed has a lot- Oh, wow ... of value in some contexts.
[01:11:06] John: Mm.
[01:11:07] Matt: But we also have large swaths of people where they don't care about speed at all.
They care about security, scalability. Like, we're working with a Native American tribe- Yeah ... who's like, "What we care is that we can host everything ourselves. We're not beholden to anybody else. Uh, we're not gonna have to deal with some corporation coming down and changing everything for us. We need to understand that sovereignty is the most important thing.
And we picked PHP- Ah ... in part because there's existing tools like we want to build that are built in PHP, and in part because PHP gives us the possibility for sovereignty." There's a lot of governments that use, uh, Typo3, and sovereignty is one of the reasons they care about that, you know? So- Yeah ... they're, everybody has different reasons and priorities for picking these things.
Um, speed is one of them, but it's only one of them.
[01:11:47] Nic: Well, Matt, this has been a fascinating talk. Thank you for joining us. And if you ever want to come back and share anything, I'm sure we'd love to have you back as well.
[01:11:56] Matt: I really had a great time. I really appreciate y'all having me.
[01:11:59] John: I'm not gonna lie, I'm, I'm a little sad that it's over.
[01:12:02] Matt: It was
[01:12:03] John: fun. I, I feel like we- Yeah ... there are so many more things- For sure ... we could talk about.
[01:12:06] Matt: Look, call me back anytime. You know how, you know my number.
[01:12:09] John: Fabulous.
[01:12:10] Nic: Don't forget, you can reach out to us on the Drupal Slack in the talking-Drupal channel, or by email with [email protected]. If you would like to promote your Drupal event, sponsor an episode, or become a guest, you can visit talkingdrupal.com and click the buttons in the sidebar.
And thank you to our patrons for supporting Talking Drupal. Your support has kept us going for 570 episodes. All right, Matt, if our listeners wanted to get in touch with you, had any questions, what's the best way for them to do that?
[01:12:34] Matt: Yep. I'm, uh, Matt Stauffer on Twitter. You can find me on LinkedIn, or mattstauffer.com has links to everything you need.
[01:12:40] Nic: It's good to know that it said your name right, 'cause usually ask our guests, and I realize as I was reading your intro that it did.
[01:12:45] Matt: I answer to most implementations of my name, so. Yeah.
[01:12:49] Nic: All right. And Amber, if our listeners want to get in touch with you, what's the best way?
[01:12:53] Amber: On socials, I'm amberhimesmatz.
On the Drupal Slack, ambermatz. Uh, you could find out more about TechBoat at techboatqa.com.
[01:13:01] Nic: Perfect. And John, how about you?
[01:13:03] John: Uh, you can find me personally at picozzi.com. You can find me on drupal.org and the social medias at johnpicozzi. And, uh, you can find out about EPAM at epam.com.
[01:13:15] Nic: And you can find me pretty much everywhere at nicxvan, N-I-C-X-V-A-N.
[01:13:21] John: And if you've enjoyed listening, we've enjoyed talking. Have a good one, everyone.
[01:13:26] Bernardo: Bye.
[01:13:26] Nic: Have a great-