Application: The TYPO3 Community Podcast

Meet Benni Mack Part 1, TYPO3 Project Lead, Germany

Jeffrey A. "jam" McGuire, Open Strategy Partners, TYPO3 Association, Benni Mack, TYPO3 Association, b13 Co-Founder Season 1 Episode 6

Benni Mack has been working with TYPO3 since 2007, and he’s currently the TYPO3 Core Development Lead. He also co-founded b13, based in Stuttgart, Germany, which builds web-based solutions for customers around the world using open source technologies like TYPO3.


Read the full post and transcript, and catch up on all our episodes on typo3.org.


Listen, like, subscribe:

Connect:

Thank you:

License

Application, the TYPO3 Community Podcast by the TYPO3 Association, Open Strategy Partners, and Jeffrey A. McGuire is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Jeffrey McGuire:

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 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:

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 McGuire:

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:

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 McGuire:

Where's the blue crayon?

Benni Mack:

The noise cancelling headphones I put them on? It's like, I don't want to hear anything.

Jeffrey McGuire:

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:

My wife is doing this. She's like, she's just working with the lights, because that's how I shift my attention.

Jeffrey McGuire:

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:

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 McGuire:

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:

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 McGuire:

Yes, it is. And what's your hobby Benny?

Benni Mack:

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. But TYPO3 is fun for me. And that's why I do it. And not because I work somewhere and get money. There's some Casper, the guy who found a table three, he always mentioned the scratcher on each thing. And that's how I got involved in title three, because I use title three. When I was a student, and this agency I work for, they had a client and they said, Well, this page tree is just too slow, because we have found the pages. And I'm like, well, wouldn't it be great if I could move if I could make this client happier. And because I maybe I can do it myself. But I looked up to all these people who did core development. And fortunately enough, these people were nice people, and they treated me as well. Maybe you you can do something about it, we'll help you. And that's how I got kick started by by building actually JavaScript into TYPO3 back when there was no UTF eight and all these kind of things like 2005 2006

Jeffrey McGuire:

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:

there was right at the time when Casper decided to step down and handed it over to Michael Sookie and some other folks that that helped me a lot. You know, understand Adding title three. And the funny thing was, I built this new component, the AJAX based page tree. And then I felt like now maybe I can also fix some other issues because I feel like I get a bit of more understanding of tech for three, internally. At the same time, everybody was referring to me because they're like, Oh, that was Benny, who built this patron, you have to ask him how, how everything works. And now I was the go to guy for the Patreon, the JavaScript stuff, even though I'm a PHP developer nowadays. Uh huh. And, and so every everything you fixed, deepens your understanding of what was going on? And then the more you understood, the more you could fix? And did you just fall down a hole?

Jeffrey McGuire:

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:

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 Typeoscript 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 McGuire:

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:

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 McGuire:

Some projects, some projects do that every few years.

Benni Mack:

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 McGuire:

Can you compare the first version of TYPO3 that you worked with with TYPO3 now?

Benni Mack:

Yes. Well, I would say, currently, there are some parts that are a mess in terms of PHP code, but

Jeffrey McGuire:

.. you're not supposed to say that. It's the...

Benni Mack:

That is my impression.

Jeffrey McGuire:

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:

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 McGuire:

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:

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 McGuire:

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:

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 McGuire:

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:

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 McGuire:

There's always gonna be something to do, right.

Benni Mack:

Yes.

Jeffrey McGuire:

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:

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 McGuire:

Promise me, you won't make my CMS better! Okay?

Benni Mack:

Yes. 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 McGuire:

You don't! Cool! Okay. Cut that part!

Benni Mack:

Yes. No. Well ... I can tell you why.

Jeffrey McGuire:

... 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:

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 McGuire:

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:

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 McGuire:

If you really have to.

Benni Mack:

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 McGuire:

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:

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 McGuire:

... 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:

As an end user.

Jeffrey McGuire:

I find the back end nowadays, excitingly intuitive, but I guess I use it right. So ...

Benni Mack:

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 McGuire:

You mean, the the front end systems in general?

Benni Mack:

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 McGuire:

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:

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 McGuire:

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 table three Association for sponsoring this podcast. Thank you, b13, and Stephanie Kreuzer for our logo. Now see, beaucoup de como 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.

Unknown:

I know ... Nice chainsaw hat! Country!

People on this episode