After the release of Joomla 1.6 GA, it's just natural to have a chat with the lead developer: Andrew Eddie.
Andrew has been with the Joomla project since the Mambo days and has been leading the Production Leadership Team for some time now.
I managed to get some thoughts from him around the release of Joomla 1.6. Read on for an interview with "Mr. Joomla" where he talks about the process leading up to the release, new features, and feelings around community involvement.
Andrew, congratulations on the release of Joomla 1.6 GA!
Just like they ask sportsmen it's tempting to ask: What do you feel right now?
Thanks for the kind words, Kristoffer. To be honest, a natural disaster we just had in my home town has taken the wind out of my sails a bit. But for 1.6 there are a lot of feelings ranging from elation to utter exhaustion. It's been a long road but I think the hundreds of people involved have a release they can be very proud of and has on the whole delivered more than expected.
The slogan for Joomla 1.6 is MORE.
Can you elaborate on what that means for the various user groups?
(admininstrators, designers, webmasters, developers)
Sure. There is certainly something in 1.6 for everyone.
Modules can now be published by dates and can also be excluded from certain pages.
For the site administrators and webmasters we have a smorgasbord of new features. The new access controls (ACL) are probably the most famous by now. Pulling that of and keeping the simplicity of the way it is done in 1.5 has been a challenge but I think we've achieved a good balance. The access control improvements also close the gap on other CMS's and that, I hope, will improve the chances of Joomla companies to win more jobs.
Nested categories will make life a lot easier for everyone.
Nested categories will make life a lot easier for everyone from the very simple sites (no need to create that section and category all the time) through to the very complex. Modules can now be published by dates and can also be excluded from certain pages. I'm sure admin's will have a lot of fun with that feature.
The new language features will really help those people wanting simple bi-lingual or multi-lingual sites out-of-the-box, but could also help mono-lingual sites support translation of popular articles into other languages on a case-by-case basis.
You can now create variations of parameter settings for a single template and call them a "template style".
We've enhanced the template assignment to the menu system that is available in 1.5. Coupled with template parameters, you can now create variations of parameter settings for a single template and call them a "template style". You can then assign a template style to the menu. I think this is a huge improvement because the only way to achieve this in 1.5 was to make many physical copies of the template (and those that have done that know how hard it is).
We've totally modernised the frontend HTML output so that it is more in line with current standards
On the design front we've totally modernised the frontend HTML output so that it is more in line with current standards (the output in 1.5 is now over 5 years old). The Administrator now fully supports layout overrides so I'm expecting a new boom industry centred around the Administrator template. This could include new functional designs but also designs addressing accessibility issues. Because we now allow Administrator users to choose their backend template, you can potentially have a number of accessible templates optimised for individual special needs, rather than trying to make a one-size-fits-all template work. I believe this will have a huge impact for Joomla businesses that bid for work in the government and non-government sectors.
Developers will be able to package up multiple extensions, install new libraries and even hook into a one-click upgrade system.
For developers we have a lot of new toys for them to play with.
We've expanded the MVC to incorporate a lot of repetitive code and out-of-the-box give you access control support and a host of other features. Improvements to the extension installer will also be a boon to developer productivity. They'll be able to package up multiple extensions, install new libraries and even hook into a one-click upgrade system. I think they will really like that system. We've also include a new forms API that will allow developers to manipulate other extensions forms via plugins. A new database query builder class has also been added to allow developers to write queries in the order they want, not the order that SQL dictates, and this also brings us a step closer to supporting Joomla on database engines other than MySQL.
That's just a few of the new features, there are dozens more. In fact I gave over four hours of talks about them last year, and only then just scratched the surface :) If we've done nothing, we've given a lot of people an excuse to write of a lot of new material about Joomla over the coming months.
Was there any particular reason the launch of 1.6 came now? I know people expected it to happen later this year.
We probably could have pushed a release for last year, but that would have landed us in the middle of Christmas which is terrible time to release software (even though that's when we released Mambo 4.5.0).
So when we reached the Release Candidate milestone in early December 2010, we decided to push the next scheduled release after the holiday break just to give our teams time to prepare around their family commitments and vacation times.
There has also been some critique about the General Availability version of Joomla 1.6 not being tested enough before launch. Any thoughts on that?
I think the timing is appropriate.
Yeah, I hear that a bit. But in all seriousness I doubt they could tell you exactly how much extra testing it needs or a date that it should be released on. The software has been in Beta for six months now and I believe we just passed the 2,500th issue closed so there is testing going on constantly. We also have many automated tests that we run and add to as we find more issues. But, even if we waited another six weeks or six months, there are still going to be bugs and the same people will probably still be saying it's not ready. The reality is software is never ready - you just have to draw a line in the sand and say "here it is". If we waited until it was perfect, we'd never release.
Another reason for releasing is that you actually get a lot more organic testing happening once you release the so-called "stable" version ("wobbly" is probably closer to the truth). Maybe it's psychological, but there are a lot of people that just aren't using 1.6 now (even though it's RC and we've said they should) because they don't have to yet or they simply haven't had the time. Now that GA is out, many in the community have to give it some priority whether they want to or not. It's a vicious circle but one that is typical in software development - it's not unique to Joomla.
...if we are forever frozen in beta, innovation dies because you can't add any significant new features.
The other tension we have to balance is if we are forever frozen in beta, innovation dies because you can't add any significant new features (and there's a lot of debate of what that means, but let's say big new components, etc). Leave a release baking for too long and developers and users will go somewhere else because they are sick of waiting, or worse, you burn the code :) We need to get the new Bowerbird release cycle started so that we can satisfy the people that are itching to do new things with the software. They are part of the community to.
Whatever the case, we started 1.6 three years ago, it's been in alpha and beta phases for what, nearly a year, so I really think it's a stretch to say we have "rushed" the release. I think the timing is appropriate.
You also need to consider that not everyone is ready to upgrade to Joomla 1.6 now. We saw when we released 1.5 that it took roughly 6 months to gain significant traction. 1.6 will probably take the same time and progressively get less as we shift to the 6-month release cycle. So, all things considered, releasing now is neither here nor there. It's just a milestone that defines the end of one process and
the beginning of another.
What has been the most exciting part of working on Joomla 1.6?
The days when you come across new and talented contributors are very special.
Hm, that's a interesting one. Honestly I think the most exciting part has been working with all the people doing the non-code parts of the release in the past week. The release machine has been abuzz in a way I've never seen before - it's been quite amazing.
The other times that put a smile on my face is when you get a patch from someone new who has been very humble about submitting it, and it's a piece of art.
The days when you come across new and talented contributors are very special. Of course, it's also nice to hear that people are falling in love with features you've helped develop :)
What has been the most challenging part of the process?
The most challenging thing in leadership is being able to balance the decision making to suit most of the people most of the time.
The most challenging thing in leadership is being able to balance the decision making to suit most of the people most of the time. We sort of have to draw a line of best-fit as best we can given the circumstances that are around us at any one point in time. We know a lot of people are going to be satisfied with that and many others are forgiving when they don't get their favourite feature in, or things aren't running exactly how they'd want them to. The biggest challenges come when dealing with people that don't take "well this suits most people" for an answer and can go a bit overboard pushing their particular point of view. On a whole it all works out OK and the occasions where we have to sort out particularly difficult people are fortunately infrequent.
Another challenge working in an Open Source software project is that you don't have a stable resource to work with. By that I mean you never know from week to week whether you've got 10 person hours or 1,000 person hours to work with, and even then the skills of the actual people giving those hours vary greatly. People have real lives and jobs and stuff comes up so it's really hard to plan stuff down to the wire. Managing community expectations under those circumstances can be a little tricky sometimes.
Anything else you would like to add?
It's bigger than any other release we've ever done.
I'd certainly like to personally thank the many hundreds of people that have been involved with and contributed to this 1.6 release - it would not be here without them. It's bigger than any other release we've ever done. As you've already mentioned there is "more" for everyone but more importantly this release has "more" of the community in it than any previous release, so that's something to be proud of as a project and community.
In releasing 1.6 we also set in motion a number of things. The maintenance of 1.6 obviously ramps up for the next few months, but we also start a new development process for the next version with a new vision and also a deadline so that is going to be interesting to watch how the community and contributors respond to that. We've modelled the system on other successful projects so we know it works, but it might takes us a few cycles to fully make the cultural shift. Time will tell I guess but I'm certainly looking forward to it.
Thanks for taking the time to answer these questions, Andrew!
Thank you. It's been my pleasure.