The Italian Bridge

An interview with Michael Babker, Joomla Production Department Coordinator

If you have looked through any of the Joomla! communication channels you cannot fail to see the name Michael Babker pop up. As the Production Department Coordinator, Michael runs the team that maintains the Joomla! code base. His involvement and commitment to the project have been huge and we all benefit as a result.

Michael, tell us something about yourself:

By day I am the lead developer for a web firm near Minneapolis, MN, USA predominantly building out web applications with a wide variety of the PHP platforms (Joomla's our number one in the CMS ecosystem). I've been doing the web/PHP dev gig for a little over three years now as my full time job. Before that I served for nine years in the US Army as an Information Technology Specialist with my assignments primarily focused in user support (help desk), system administrator, and network administrator areas (but I've also done some work in radio and satellite communications). At 22, I was the senior shift lead (in terms of experience at the unit, ironically as the most junior in terms of rank) for our unit's support desk providing support for 24/7 operations to over 2000 personnel. So for the better part of the last 8 years I've been in some form of supervisory/mentor/lead role between both daytime work and open source contributions.

Wow, that is some great experience which I know the project has benefited from. How did you first get involved with Joomla?

I first ran across a Joomla 1.0 intranet install in that same support desk assignment in 2008. Since I had some familiarity with managing basic web resources (some static HTML pages mostly), I was put in charge of my office's intranet space. Honestly, the whole experience with that install wasn't something I look back on favorably, even now almost 10 years later, and I was pretty happy when our intranet had migrated over to SharePoint. A little over a year after that migration, a couple of friends of mine were looking for a website and I remembered the Joomla software for being able to let folks manage the content without needing to edit raw HTML files or go through me, so I set that up for them. About the same time I had finished that, the Joomla 1.6 beta had started rolling out, and I reported a few issues I had run across early in the cycle. At that point my only programming experience was with some random JavaScript snippets for my college courses or macros I had written into some Excel and Access projects. PHP wasn't a thing for me but some folks on the bug tracker nudged me (and helped me) to set up a local dev environment and work with the source code to create patches for the issues I was reporting.

From there, I went on to start learning a lot of the Joomla code and a fair bit about PHP in general, continuing to write patches (and new functionality) for Joomla. In 2012 I was one of the mentors for the GSoC program that year and by the end of the year I was nominated to the old Production Leadership Team. In 2013 I took over the release lead responsibilities from Mark Dexter and ran the 3.2 and 3.3 releases as well as putting out all of the 2.5 releases from July 2013 until its end of support. In November 2014 I stepped out of the leadership role to give some fresh faces a chance to lead the project and take some stress off my own shoulders. I continued to be involved with our core maintainer teams and the security team, while also getting involved with the upkeep and maintenance of our joomla.org site network. At the end of 2016 when leadership nominations were going around for the current leadership structure, a couple of individuals nominated me for the Production Department Coordinator role and that's where my time has been mostly spent in 2017 as well as volunteering to lead the 3.8 release.

That is impressive, thank you. What are your thoughts on the balance with software releases between fixing bugs, adding new features, making packages secure and allowing for expandability and scalability (something I think Joomla! does really well at)?

This one actually varies heavily based on what release is being planned. Regardless of the release, we aim to follow Semantic Versioning and therefore not have compatibility breaks except for in a major release. So the 3.x series should have a high degree of API compatibility all the way back to the first release in 2012. For our regular maintenance releases, the priorities are generally on bug fixes and ensuring security issues are patched in a timely manner, though other maintenance work (such as improving UI elements or improving the performance of Joomla) does happen as well.

For minor releases, these are generally focused on adding new functionality to the CMS either in the form of user facing features or new tools for developers to use. Unfortunately we haven't always had the greatest roadmap or long term plan so more often than not these feature releases are directed by people contributing code for their ideas on how core can improve, more than us as a project saying "this is what we want to achieve".

Since we haven't put out a major release in six years, it's hard to say how we should prioritize for these. In the case of 4.0, a lot of effort is going into clearing some of our "technical debt" by removing long scheduled deprecations from the API and taking a chance at modernizing parts of our system (as an example we're finally moving away from the Bootstrap 2.3 release and we have been making some internal code changes to improve the structure of the Joomla API and add some new functionality for developers), but at the same time we aren't aiming for a 1.0 to 1.5 or 1.5 to 2.5 style update where you essentially had to start from scratch. We're aiming for a high degree of compatibility between the current 3.x builds and 4.0 and in the tests I've done so far aside from needing to update layouts for my components, I have only had to make one code change in several components for Joomla 4.0 compatibility. Everything else has just worked. With that said though, these components don't make use of some of Joomla's core functionality like tagging or version history, but from what I saw in the pull request for the weblinks component to add 4.0 support it is minimal effort to adapt support for those two features.

The statisticians tell us that Joomla! powers over 3% of the world’s websites. Yet generally outside of the web build and development market, few seem to have heard of it. Do you think that is something we should care about?

I'd say yes and no. Yes, we want to continue to grow our market share and ecosystem and win new users, as well as bring back users who have left for one reason or another. On the no side of things, I don't see Joomla as an entry level platform necessarily for basic sites like you would find in a Wix or Squarespace (or some other form of quick site builder type solution). Focusing in on the CMS marketspace and what most consider our direct competitor in WordPress, I see them and their current focuses aiming to compete with that Wix or Squarespace type of user versus trying to compete with the higher end CMS platforms like a Joomla site. Yes, you can build the blogging or marketing or static content types of sites with Joomla, but I've always been a fan of the "right tool for the right job" methodology and I would suggest Joomla maybe isn't the best option for a lesser technical individual creating that type of site. And I'm not saying there's necessarily anything wrong with that either, in some ways you could compare it to using a spreadsheet software to do basic math that a "plain" calculator would be more than enough for. All of that said though, there are ways we can improve the Joomla experience to combat some of the perceptions about Joomla's difficulty to learn/use/manage and I think our project teams are doing some good work coming up with ideas on how we can do that with the 4.0 package. So all in all, I think we are where we need to be and I think we are focusing in on what we need to be focusing on in all areas to keep improving.

Michael, over the years, you have been a regular speaker at many Joomla Conferences around the world and from a personal note, they are always very useful and informative. Do you have any advice for a first time attendee at JWC who is perhaps still a little undecided and needs a push before those last few tickets sell out?

For me personally, when I go to a conference I have one of two goals: to learn something new or to share my knowledge with others. For those who are undecided, my biggest advice would be to look at the event schedule and who is speaking and decide if you can take things away from the event that are useful to you. And there are a lot of ways to do that, between learning new tricks and techniques in the sessions or perhaps expanding your network and finding new resources you can go to with questions. I think there is a wide enough variety in the conference schedule that it would be pretty difficult to not pick up something new that you could use in your day-to-day operations. So find that content and commit to it.

Is there anything else that you think would be of particular interest to potential attendees, or things they should look out for?

On a personal level, this is the first time I'm speaking in a year and a half, and I'm approaching my talk preparation in a new way compared to the dozen or so other presentations I have done. So for those who are integrators or developers curious about the improvements in Joomla 4, you get a chance to see me approach a session in a new way and learn a bit about the core platform improvements going into the code. So, there's my cheap plug for my own session.

Beyond that, take the opportunity to branch out by going to a session outside your normal circles or expanding your network. Some of the best sessions I've attended at events over the years have been outside the realm of what I am doing at that time, but have been a great help to me later down the road. For me that's included a project management talk from JWC a few years ago or a talk on continuous integration and platform deployments that has become the foundation of how I manage projects in my day job from one of the many PHP events I've been to.

Michael, thank you for your time and considerable input to the project, clearly your session is a ‘must go to event’ and I look forward to being there and seeing it in person. Thank you.