Joomla 4 Interview Series - George Wilson, Release Lead
In this new article series, the Joomla Community Magazine Team will interview the leaders of Joomla 4 to better inform our users and extension developers at to what's in store for us in this upcoming major new version. Let's start with George Wilson, Joomla 4 Release Lead.
JCM - George, tell us a little about yourself. What is your professional background?
George Wilson - For the last 2 years I've been working for iProov - a startup in London that provides authentication of online users using facial recognition. I have experience in PHP, Python and Node.js development. I'm driven by the desire to keep learning something new every day. Outside of the world of coding, I play dota and try to soak up as much of the London lifestyle as possible!
When did you start contributing to Joomla?
I started using Joomla around 2009 as part of a gaming community. We were using Joomla to manage its members and Kunena for forum functionality. After that, my friend Charlie and I got interested in coding & started playing around with the system building extensions. I fell in love with the community, really! By 2012 I started contributing small code snippets to Joomla, and I guess the rest is history.
Is this the first time you have lead a team for a new release of Joomla?
I've managed the releases for Joomla 3.4, 3.5 and 3.6, so I've got experience of the hectic life of a release lead and the pressures that are associated with it. I still have nightmares about the Joomla 3.6.1 release to this day! With all releases though there isn't a large team behind it - just the usual volunteers who contribute to the CMS and Joomla 4 is no exception - we are deliberately not creating silo teams, anyone who wants to contribute can get involved like normal!
How does it feel leading this new release of Joomla, that will impact over 6% of CMS global market share?
It comes with its own challenges. Since the 1.5 to 1.6 migration major releases have always been unpopular. But they are also essential to keep a semi-modern code-base which is important to having a healthy extension ecosystem which to me is one of the most important aspects of Joomla. I'm trying to keep an open mind and listen to as many people and their opinions as possible - because the Joomla community is so large as you said it's important to remember I've only experienced a small percentage of it - but I have to make decisions for the whole community.
Can you tell us where the vision and direction for the release of Joomla 4 comes from?
There's two main drivers for having a new major version of Joomla right now. First of all it's been more than 5 years since Joomla 3.0 came out in September 2012. There are now over 1000 deprecated classes and functions in Joomla 3.8. This makes life hard for new developers starting out in the community because there's outdated tutorials using legacy code and more than one way of doing the same thing (even if we mark code as deprecated in our doc blocks).
Secondly, whilst Joomla's user interface was world leading when it came out in 2012, the first CMS to have a fully responsive backend, it's now relatively dated compared to competitor CMS'. Our backend needs some serious love and part of that means upgrading from Bootstrap 2 and moving to Bootstrap 4. This move brings performance, accessibility and usability improvements, as well as ensuring that online resources continue to be relevant for us. The other part of this is about designing a template that will last for another 5 years and re-establish Joomla's backend at the forefront of modern CMS', we're working hard on this aspect on and showed the first draft in this magazine last month.
What is the roadmap for Joomla 4?
We don't have a full plan yet. At the moment it's more important for us to be focussing on getting the backend template right without committing to specific timeframes. We definitely want to release this year but I'm not going to be any more specific than that at this time. Once we've got a quality backend template in place then we will start to commit harder to specific timeframes.
The good news is that we have finished the first milestone of the media manager (and work on milestone 2 is well underway), refactored the plugin system to be more efficient and bring it towards the upcoming PSR-14 standard, refactored tags and versioning so they now use the standard Joomla plugin system rather than their own sudo-plugin system in JTable, built a new simplified installer experience and removed a large number of the deprecated functionality already!
So far, what has happened that you did you not expect or thoroughly underestimated?
Trying to find the balance of the frontend has proven more challenging than I expected. The browser world is moving at an incredibly fast pace and it's hard to figure out what cool features are going to become trends and take off or if they will flop. For example recently we started looking into CSS Grid, which provides a huge amount of flexibility to provide some really cool markup structures that even flexbox can't do (which is what Bootstrap 4 is using), however, this would mean implementing our own grid system and ditching Bootstrap 4's which isn't an easy decision to make when the browser support for CSS Grid only really arrived in the latter half of 2017!
What users should expect when upgrading from 3.x to 4?
It's going to be an upgrade like any major Joomla release, however we are aiming to make it as pain free as possible. From an extension perspective we are already starting our marketing efforts to encourage extension developers to review the use of their deprecated code in the CMS (at this point most code we are deprecating we are now scheduling for removal in Joomla 5.0 so extension developers can start to get confident with how the codebase will look in Joomla 4).
We've merged a new feature into Joomla 3.9 that allows extension developers to specify extension compatibility with Joomla versions so you can see in one view if your extension is compatible with Joomla 4.
At this moment in time the hardest pain point is the migration from Bootstrap 2 to Bootstrap 4. There were major advantages of using Bootstrap over our own extension system - it's less code for us to maintain and keep up to date with modern browser standards, there's great documentation (which we have always struggled with in Joomla) and fantastic support resources across the internet which we can't compete with. However the price is that between major Joomla versions we have to migrate between Bootstrap versions.
Besides the new features, what are the main benefits in Joomla 4?
I think the main benefit is going to be the refreshed backend interface and Bootstrap updates. I really think the new Bootstrap framework will allow template developers a huge amount of flexibility to create some awesome new designs. I think Site Integrators will find our new backend much more intuitive to use and also administrators easier to learn. I honestly think with Wordpress releasing Gutenberg with a target on the blog market there's real potential to attract users back to a proper CMS with a strong extension ecosystem! I’m also really pleased that we’re going to ensure that we will be the first major CMS to have meet the WCAG 2.0 AA accessibility standard for the base backend template in Joomla 4.0 - ensuring our sites can be used by anyone in the world is really important to me.
Can you tell us, approximately, how many people are contributing to the development of Joomla 4?
We've got about 10 people doing serious development and additional 10-20 on top doing testing, bug fixes and various other roles.
Which teams are involved with the development of Joomla 4?
Of course it's not just Production involved in this release, the Board have been very supportive, we've been working very hard with the teams of the Marketing & Communication Department, the Extensions Directory Team and many others. It's a massive team effort across the entire community!
Are you still accepting contributors to the Joomla 4 Team?
As I said earlier there isn't really a Joomla 4 team - so absolutely anyone can still contribute - there's a huge number of issues on GitHub and of course all our production teams (and marketing teams) would love to have you test, market or help in whatever way you feel comfortable!
How long is 3.x being supported after the release of Joomla 4?
As per the development strategy we introduced since Joomla 3.3 (published in April 2014) we will support Joomla 3.x for 2 years after the release of Joomla 4.0.
Where should users and extension developers go when they want to test Joomla 4?
We will publish roughly monthly alpha's and will publish accompanying articles on developer.joomla.org. You can also download snapshots that get built from the source code every night on the usual nightly page https://developer.joomla.org/nightly-builds.html and report your bugs on the issue tracker at https://issues.joomla.org.
For more information on testing we're looking for at the moment read my post in the December edition of the JCM at https://magazine.joomla.org/item/3290-joomla-4-alpha-is-out.
What kind of experience are you getting from leading the Joomla 4 Team?
It's been a really enjoying experience so far working with so many skilled teams across the Joomla ecosystem. It makes me really excited for the future of our CMS!