Jeffrey A. McGuire 0:00
Good morning, everyone color. Welcome to welcome to eight bit Benny Mac with a lot of pink. He is not this pink in person. But he claimed that he was that color in 2012. And as was his display, so there you go.
Welcome to application that TYPO3 community podcast, one, two. Welcome to application, that TYPO3 community podcast. I'm Jeffrey A. McGuire. You can call me "jam." And this is where we celebrate the TYPO3 community sharing your stories talking about your projects, and the difference you make in around and with typo three CMS. On this episode of application TYPO3 community podcast I talk with core Project Lead Benny Mac about his more than 14 years of contribution to the title three community and the slippery slope that led from a student's job to scratching his own itch in the back end. And as lazy authors everywhere like to say one thing led to another and now he is the core project lead. And he claims that TYPO3 is still fun for him, which is great for all of us who use and enjoy TYPO3 and the fruits of his and many other people's labor. Benny and I also talk about working in the pandemic and the value of really good noise cancelling headphones. So here's a little taste of Benny's history and TYPO3, what he's up to today. And also Luckily for us, I can tell you that part two of this conversation will be coming to the podcast very, very soon. I hope you enjoy listening to this conversation as much as I enjoyed talking with them. Mack, this conversation is taking place in later 2020 as we can tell from your home level, beard and home office and kids craft room and the fact that I haven't had a haircut since February. How's your year been?
Benni Mack 2:16
Well, I was actually ... Well, of course, the year started completely different in January, February, then it turned out to be in March and April. So I had to get used to having lots of kids around. I have three. And that's been quite good. But at the same time,
I felt like a little bit of demotivation during the summer, in terms of like coating and the future and where everything's going nuts within TYPO3 but you know, for myself, but that actually got better. So right now, as of November 2020, I would say it's it's a really different but also good year for myself. And because I I'm still healthy. We'll see in two weeks. Yeah. Yeah, but But yeah, from from that point of view, that's, that's quite good. And but different. And that's sometimes a good thing that even though you think it's it's not as you planned, it's still a good thing that things moved a different route. So I like that. I guess we're getting a gigantic dose of perspective this year as well. Yeah.
Jeffrey A. McGuire 3:35
Now, just between you and me, would you rather have the three kids running around and doing crafts behind you? Or your 25 colleagues running around and doing crafts around you in the office?
Benni Mack 3:48
Well, if the 25 colleagues would do crafts, I don't know if I would like that. But the three kids are really great. So that's not bothering me at all, I think would come to you, Benny, can you help me cut this out? Yes. And I have these great headphones.
Jeffrey A. McGuire 4:07
Where's the blue crayon?
Benni Mack 4:11
The noise cancelling headphones I put them on? It's like, I don't want to hear anything.
Jeffrey A. McGuire 4:17
On the, the head of what was it at the time, DevOps kind of didn't exist. I'm the head of infrastructure at the company I worked at. It was one of those horrible group offices that I don't like much with a bunch of people in the same room. It was funny because it was like a very large L shape. And the main entrance was at the end of the long end. And so that's where the reception area was, and the the end like the plants and where you brought clients for meetings and stuff. And then all the way down you had sort of like HR and finance, and then you had project management. And then you sort of had, you know, marketing and sales was in there. And then you go around the corner and they're the developers and then behind the developers
With an extra high cubicle wall with like the, the operations and the sysadmin, guys. And like at the developer area, there started to be posters and Legos and stuff. And basically, by the time you got all the way to the back of the back of the room, they were, like, permanently mounted Nerf guns, and, you know, large, large dinosaurs and stuff. Anyway, one of the guys, of course, to cope with being in a group offense, he were super, super sophisticated noise cancelling headphones. But his boss could never get his attention. And we didn't have slack. At that point. What did you know, there wasn't a company internal chat, the VP of engineering had Nerf Darts that said, Michael turnaround, Michael, look at me, he would shoot him until, it brought him out of his flow. And ...
Benni Mack 5:53
My wife is doing this. She's like, she's just working with the lights, because that's how I shift my attention.
Jeffrey A. McGuire 6:02
So for those of you, for those of you listening to the audio, that the visual to that was the lights going on and off in between.
So, so Benni Mack, you co founded, you co founded an agency called b13. And full disclosure, our companies work together. And but that's not really why we're talking today. You are also the project lead of TYPO3 CMS, okay ... and it's a larger project that helps 1000s and 1000s of organizations, either, you know, run their businesses and deliver services or run their infrastructure, websites, apps, and so on. So, so, you know, I think it's fair that people look up to as the as the coding lead project lead, what is it core team development lead? What's the title that you have now?
Benni Mack 6:54
I would say project lead, because I am not just the organizing the development, but also you know, the, the timelines and do a lot of coordination with that. With other teams with the TYPO3 Association Board, and the TYPO3 GmbH.
Jeffrey A. McGuire 7:09
I experienced the type of three project as quite community driven and quite democratic. I feel that there's a real marketplace of ideas and things shift depending on people's needs, would you would you agree with that statement?
Benni Mack 7:22
Yeah. That's actually one of the things people ask me because they think, Hey, you work at TYPO3, because you do this, like day and night? And I'm like, No, I'm, I'm just a normal person, right? I run a company, doing the technical stuff there with 25 people, and we're just doing TYPO3 all day. And once I'm done with doing that all day, I bring the kids to bed, and then I'll do TYPO3 Core all night.
Jeffrey A. McGuire 7:50
Yes, it is. And what's your hobby Benny?
Benni Mack 7:56
Well, that's a good question. No, I turned my hobby into a profession. That's why I started my own company. I like coding. Yeah, of course, I have a lot of, or a few other hobbies.
Jeffrey A. McGuire 9:22
And what version of what version of TYPO3 was that?
When I my first changes got introduced in version 4.1 4.1 that was 2007 I think so the the the core team at the time or the community team at the time was welcoming and absolutely happy to let you have a go. Yeah. And there were like 40 people
Benni Mack 9:48
there was right at the time when Casper decided to step down and handed it over to Michael Stucky and some other folks that that helped me a lot. You know, understand
Jeffrey A. McGuire 10:48
In terms of what I don't know, like, did like one thing led to another led to another? And here you are. Yeah.
Benni Mack 10:56
Mostly, because I'm, I was curious, in looking to other parts of title three, once I understood the source code, and it's actually
quite okay, even though parts of it is still from 2000. And whatever, three, the ... you understand the system much better. That's how that's how I got into everything. Because I, I, I didn't understand Typoscript for like four years when I was just the working at an agency. But once I read through the source code, I was like, Ah, that's what they meant with the documentation, and then I fully understand the documentation. So once I did, trainings, I don't know 10 years ago, I refer to the developers to read through the source code, because it was just just the same way it was written was documented. And then it made everything makes sense. So I'm still the Typeoscript guy.
Jeffrey A. McGuire 11:52
So I'm fascinated by the longevity of parts of the TYPO3 system and the consistency and the sort of relatively conservative development paths, the UX and the UI stays recognizably the same for a long periods of time, and changes only seem to come that really makes sense. And by the same token, there's quite old code in there, that still really good. And there's been a long path of really quite easy upgrades. Talk about the talk about the, I don't know, did that come from caspers attitude towards coder? Why is it that, you know, a TYPO3 site can be online for 10 years, and still delivering a lot of value and still look okay?
Benni Mack 12:40
Well, Kaspar's attitude was, actually, I would say, more like, I'll fix something, and, and actually how he came up with extensions, that was way before composer and everything he was, basically, he locked himself up in his basement for two weeks. And then back, then he came back and had the concept of extensions, and the Extension Manager and everything built into title three. And that was, that was great. But at the same time, it has proven stable, and replacing it with something else that was one of my major
tasks in, in the earlier years, replacing it with something else should mean, it's the same way but better. So it's, you can't just throw away some Well, you can do that. But ...
Jeffrey A. McGuire 13:30
Some projects, some projects do that every few years.
Benni Mack 13:33
Yeah, well, we don't throw away everything. But some things just don't make sense anymore these days. So we'll get rid of these parts. But the concepts, I'm still amazed that of course, there are limitations, for instance, for the permission handling and the roles and groups. But it's been rock solid for you know, Internet's universities and regular websites. And I don't know why this system has been working. But I don't see a reason why I should remove it completely. So every time you you replace something, you really need to have a good, good reason for replacing it. And it's not, it shouldn't be, it's it looks, the code looks nicer or something like that. So I would say it's much more important to not just have all we need to have every PHP strict types thing going. But actually, at the same time, when you do refactoring come up with a better or more flexible solution that that extension authors could use, for instance.
Jeffrey A. McGuire 14:40
Can you compare the first version of TYPO3 that you worked with with TYPO3 now?
Benni Mack 14:46
Yes. Well, I would say, currently, there are some parts that are a mess in terms of PHP code, but
Jeffrey A. McGuire 14:57
… you're not supposed to say that. It's the …
Benni Mack 14:59
That is my impression.
Jeffrey A. McGuire 15:02
Yes, I can't like, the one thing that's really cool is that when when I started with triple three, everything was PHP object oriented class based already. So those three?
Benni Mack 15:16
Well, 2003, I started with it. And once I looked at the the internals like 2005 2006, yes. So that was really cool.
Of course, you didn't have all the cool stuff that PHP seven or PHP eight offers now. But so so if I say messy, we get we are already at a very good point, what I would call messy, or what I would would have called back then, and some clever things. Were there as well. And the one thing I would say that is different, back then there were like seven iframes, in in cyber three in the backend where he reloaded any other iframe all the time. Maybe because it was faster, and it was hiding some functionality and reloading and some very complicated, even more technical than it does right now. Like there was like a link, not even a button that says "clear caches in TYPO3 temp," what that. ... What does that mean? Like?
Jeffrey A. McGuire 16:20
The old the old interface? And I mean, version four days was not as pretty as the one now? Yes, let's just say it, I think I am on record in public as comparing it to the control panel for a nuclear submarine. So maybe yes.
So, so, so fast forward from that to to the sort of experience that people have today.
Benni Mack 16:54
Well, today, you still have to concepts and maybe, and we still have to iframes. But that is also part of the historic part. Because, of course, we could throw everything away and don't do iframes anymore. But then everybody would need to start from scratch. And even though the steps that we've taken in the last five years have been heavy, for some, we've always had a migration path to it. So you always had a chance to use your existing site and upgrade. And that, I don't know that there was like a given fact, there's no, no possibility to do something else.
But at the same time, I, I would say, you know, back then, when we had the TYPO3 version four, there was, I would say in maintenance mode, and we have the we had the TYPO3, back then it was called Phoenix team version five team, they had the chance to reinvent a lot of these things. And I think that was a really cool idea to split that off in two parts. And until then, we decided to stick to this mountain maintenance mode and don't do larger steps. The largest step was between version four and version six. When we upgraded, we left out version five. And of course, some people do that. And then jumped to version six. And that was difficult, but still possible to update. And then since then we had smaller changes that were still complicated to update for some people, but but at the same time, much easier than the difference between version four and six. So this, this given fact that we we we want to upgrade also comes from the fact that maybe now people want headless and all the new things. typer three is like the opposite there. Because we we don't need to reinvent the wheel for everything just for some parts. And if we just take one part and look at that, that's that's a much more contained refactoring. Because some people compare TYPO3 to other PHP frameworks like Laravel and Symfony. And it's like, Oh, it's so easy to update there. Yeah, there is a difference, because triple three is not a framework per se, you actually have, you can handle database content in the database, you have some special Typeoscript configuration, and you have an interface. And none of the systems have that. So how do you upgrade that in the past 15 years, so you can't really compare the backwards compatibility between the two of them.
Jeffrey A. McGuire 19:49
But there's a lot more there's a lot more complexity and it's, it's it's built to handle a different set of requirements when you set it up.
Benni Mack 19:55
Yeah, if you compare a TYPO3 to any other you know, system, where you have a an interface, it's been similar, but it's getting two to 15 years ago, but it gets modernized and faster because we use we can use, we don't have to worry about IE six anymore.
Jeffrey A. McGuire 20:13
I want to ask you about two things based on what you just said upgradability. And that sort of how much you so the the, the current sort of thinking seems to be around helping end users and and content authors and so on, have a great experience. And, and the backend is usable on mobile. And it's, it's, it's clear and all of that, but um, I think the system is still really super friendly to developers. And there's, in every TYPO3 installation, I was amazingly impressed that you can, it documents, all of the deprecations, and all of the code changes and will do an analysis of extensions that you've plugged in or written yourself, to tell you how upgradeable it is, and to help you build your upgrade wizard, right to help you automate your your update all the way at least back to version six, right?
Benni Mack 21:02
Yeah, I think version seven is when we started with a new mode of development and new release cycle and all these kind of things that have been, we've, we've been discussing this for a long time, but version seven was like, that was right after the decision to not have two content management systems under the title three roof, and actually have Neos be their own brand and kickstart that and that made a lot of sense. But at the same time, it opened up a lot of freedom and, and energy to develop to proceed further. So I think this decision was a lot of energy for both parties. So that was really, really cool to see. So the upgradability, since then, was improved over and over again, and we're still looking into ways to even make updates much easier still, with, you know, Rector and all these migration paths that that just came up recently, in the past years. So there's even more to do.
Jeffrey A. McGuire 22:11
There's always gonna be something to do, right.
Benni Mack 22:13
Jeffrey A. McGuire 22:15
And by the time you've come on and done everything, you're gonna look at the at the thing you started with, and you're gonna know how to do it better again, and then you're gonna Yes, you're gonna keep going.
Benni Mack 22:23
But one, one story I wanted to share is with version seven, when we decided to, to revamp the back end, some people approached me and they were not happy with the changes. Because they said, Now I have to teach all my editors again, how it's, it's going to be used, even though the concepts are the same, it just looks completely different. In terms of the sidebar, the module menu is now black. And the gray is gone a bit and these kind of things. And they're like, we have to update not just the system, but all our documentation. And that will take a while. Promise me, you won't do that again, in version eight. And I'm like, Okay, I'll, I'll wait a couple of versions for that.
Jeffrey A. McGuire 23:10
Promise me, you won't make my CMS better! Okay?
Benni Mack 23:13
But there's, that's that's part of the thing is that you see that there's much more to it than just updating the code base. Yeah. And we need to have that feedback as well. So my perception of typo three CMS and it's sort of differentiation from where the competition in the market is that it's a, it's a professional tool for professionals. It's the bulk of the community is agencies. And it's really designed for a typical agency use case, which is sort of big sites with lots of information. And then people have to take care of that. I feel that the backend is quite pragmatically designed. And the hierarchical page tree lets me figure out where I am on the site quickly and all that sort of thing. I hope you agree with that. But the ... I don't.
Jeffrey A. McGuire 24:05
You don't! Cool! Okay. Cut that part!
Benni Mack 24:09
Yes. No. Well ...
I can tell you why.
Jeffrey A. McGuire 24:11
... the bit that I was getting to and I'm I want to pull apart what you think I said wrong now because that's cool.
Is that with this idea of the longevity of of TYPO3. And the rise of actual business cases for quote unquote, headless and decoupled systems where we have apps or web services or front end frameworks that we want to feed TYPO3 has always essentially been discovered decoupled right, there's there's always been a back end system and a scripting layer that you can have sort of you can leave the core how it is and make modifications as things are going in and out. And then you could do whatever you want in the front end. And it seems to have been an incredibly smart choice before we even knew that we were going to need those sort of systems. And I, do you think that that's given TYPO3, some extra, some extra longevity and relevance now?
Benni Mack 25:08
Yeah, totally. If you think of like, newcomers complained that there's no no website out of the box? No, it seems no templates, which I partly agree that is cumbersome. But at the same time, you can do whatever you want, and you're responsible for that part. And that means, if you update template three to version 10, or 11, from version, whatever, and the front end should stay largely the same, because that that's your responsibility.
Jeffrey A. McGuire 25:35
Right? And the TYPO3 core is input and output agnostic, right? Any data source with the file, abstraction layer? And any any sort of output you want? It doesn't have to be a website?
Benni Mack 25:48
Yeah, exactly. So I, I've heard so many fun stories that when people use TYPO3, four, that it's not a website, we had projects where we printed magazines with it in, because you can do XML.
Jeffrey A. McGuire 26:05
If you really have to.
Benni Mack 26:07
Yeah, or like, like an RSS feed is like, that's not built in. But it's something that TYPO3 is capable of out of the box. And that's why it's, it's partly opinionated. But that level, it's not opinionated. It's up to you.
Jeffrey A. McGuire 26:23
Oh, you know, what, I'm on the visual version of this, I have to put that meme of the guy sitting at the desk, TYPO3 is a professional tool for agencies changed my mind. Right?
Talk about your perception of what is title three CMS and who's it for? And what's it for,
Benni Mack 26:40
Of course, there's the batch of enterprise CMS. And that doesn't mean in my opinion, that you need to have a workshop to understand how to use it. I mean, I would love to have a workshop about how I can use Microsoft Excel properly, even though I can still use it. And you can do so many cool things with it. TYPO3, I would say if I use it, it's it's complicated to to get a feeling for it if you have never used it, and they're much more systems that are much more focused on the end users. But at the same time, you have a very large group of people, like a range of people that are the ones who use it once a month. And then the ones who are working collaboratively for each day with 20 people in the same system. When you say no everything ...
Jeffrey A. McGuire 27:35
... I'm sorry for interrupting. But when you say it's complicated or difficult to use when you first approach it, do you mean as a as an end user work jumping around the back end? Or do you mean as a developer?
Benni Mack 27:46
As an end user.
Jeffrey A. McGuire 27:47
I find the back end nowadays, excitingly intuitive, but I guess I use it right. So ...
Benni Mack 27:53
Yeah, yeah, if you use it, I feel like there are a lot of small things that can be improved to make life easier. Back then, 15 years ago, there were some nice concepts about you know, having workflows for doing like, I want to create a new news article and putting two images in there. And you always need to have an image because that's how you know the front end works. And then you have to assign two categories. And yeah, that's your requirement. That's more like JIRA, I would say. And that's temporary, that's missing in title three. At the same time, because of this decoupling, that's also another fun story.
If you talk about decoupled systems, or headless systems, especially headless is like, you'll feed something in there, and you'll take something out there somewhere else for your app or whatever. And you still need to have people who feed the system with with content, and you need to have an interface. And yeah, that's what TYPO3 is doing. So it's actually a content management system. It's not a, you know, content output system. It's part of that is that the front end, but the you how you are able to manage content and headless or Yeah, headless systems don't have a management interface, but sometimes they do. But I would say with a fraction of the possibilities that TYPO3 offers ...
Jeffrey A. McGuire 29:15
You mean, the front end systems in general?
Benni Mack 29:17
Yeah. So we have one TYPO3, we have a solution that has been proven for 15 years, and people apparently people still like it. So it couldn't be that bad. It's not COBOL or whatever you want to develop in or some DOS GUIs or interfaces. You have something that's actually working, and that's good. Yeah, I still think it's for people who are younger than you or maybe me who who are used to living in the web 24 seven, that there's so much more to improve in title three that that should be taken. Well, you can use it in agencies and larger corporations. Also for
interest, but also I know a lot of people will use it in their, for for their fun projects. And they use that back then and they still like it. And it has been valuable for them. And I would like to tell the younger generation that it could be valuable for them as well, if they try it out. And so you don't have to work at an agency to use templates.
Jeffrey A. McGuire 30:22
Okay, okay. So let me reframe, let me reframe my, my contention from from five or 10 minutes ago: the majority of the TYPO3 community, I think, over time, and certainly nowadays is in the agency world. And building client websites is the majority of what agencies do with the CMS and the tools that are built into the core. And the way the core is put together makes it possible to deliver great client projects with minimal plugins with minimal customization and all of the plugging in. And the customizing is, is completely accessible because of, of the solid architecture and so on. So So I guess, what we're moving towards is those tools that make it great for agencies to build great client websites. Actually, that's great if I want to build whatever sort of it sounds silly, but you know, information focused website, like some built in photo editing capabilities, like the page tree orientation, like the really solid user experience, like workspaces, and versioning, and permissioning, and so on. So that makes it you know, okay, so then we're back to, hey, it's a good CMS?
Benni Mack 31:39
Yes, it is!
It is. And there's so many things that we take for granted, interpret three. And there were we're just shaking our heads, because I just had the requirement, hey, we want a system where it actually, I can upload my my image, which I want to display on my website in the full size, and it just automatically resizes. And like, I've never seen a TYPO3 version where this was not possible. So it's been possible for decades. And then there's the small details, as you mentioned, is like, I can want to replace one file, which I've used some PDF I used like 20 times on my website, I want to replace it in one place. And you can do that with the palette selection layer. And these are the things that people just they don't know that they want to have that in the first place, but they're getting there. So that's, that's a good thing. That once they've chosen TYPO3, that they don't have to worry about these things anymore. At the same time for the end users, I can't really decide if the majority is agencies, agencies, maybe that built the websites. But people who use the websites are like, That's crazy. Because I like from my friends and families I get sometimes I get a picture of, hey, look at my, my workplace computer, I get a TYPO3 minutes that you do something with TYPO3. It's like, Oh, yes. Nice to see that your hospital internally uses TYPO3. I've never known that, of course ever known that.
Jeffrey A. McGuire 33:15
End users are everywhere, right? governments, yes, hospitals and universities and companies and clubs, and ... They don't know how to sell that they're using. Exactly, exactly. Hey, so let's shift gears a little bit ...
Thanks to the TYPO3 Association for sponsoring this podcast. Thank you, b13, and Stephanie Kreuzer for our logo. Thank you, Patrick Gaumond TYPO3 developer and musician extraordinaire and for our theme music. Thanks again to today's guest. If you like what you heard, don't forget to subscribe in the podcast app of your choice and share Application the TYPO3 Community Podcast with your friends and colleagues. If you didn't like it, please share it with your enemies. Would you like to play along and suggest a guest for the podcast? Do you have questions or comments? reach out to us on Twitter at TYPO3 podcast. You can find shownotes links and more information in our posts on typo3.org. Remember, open source software would not be what it is without you. Thank you all for your contributions.
Jeffrey A. McGuire 34:29
I know ... Nice chainsaw hat!