i love


Joomlas List Views

Tuesday, 20 September 2011 13:33

In the last few weeks I invested quite some time into reading and thinking about usability. Joomla 1.6/1.7 has made a great leap in terms of functionality, a lot of features are now implemented in a consistent manner and the behavior throughout Joomla is identical. However, while the functionality has been improved a lot, the usability kinda crashed. I personally find 1.6/1.7 a lot harder to use, especially for inexperienced users, than 1.5. The best example for that in my point of view, is the screen to create menu items. When creating an article menu item in 1.5, you had 3 sliders with parameters on the left. In 1.6/1.7 its the baffling number of 7 sliders and each slider contains a lot more parameters than in 1.5.

I think we desperately need to focus on usability again, even if that means that some functionality is removed again. I wont write about what to change in the parameters and all and how to achieve that goal (simply because I don't know) but I want to write about some ideas that I had together with the list views in Joomla. Add a comment

Read more: Joomlas List Views


The story of a pull request (and a little look into the future)

Wednesday, 07 September 2011 22:34

In the last few days I took another attempt at contributing code to Joomla, specifically the platform project, after Andrew Eddie encouraged me in the comments to this blog post. Today that code was accepted, but boy was it a journey.

Add a comment

Read more: The story of a pull request (and a little look into the future)


Joomla Version Numbering Scheme

Tuesday, 30 August 2011 19:48

The PLT announced that Joomla will change its version numbering scheme to something that I doubt many will understand. I for one don't understand it, neither the logic nor the numbering system itself. I see where this is coming from, seeing Google and Mozilla burning through major version numbers like other people smoking cigarettes. I also see the analogies and all and still something was bothering me. Why didn't I really care about version numbers of the browsers but so much about the Joomla version numbers?

It's stupid to say that it struck me, but that was exactly what was happening just a few minutes ago. Browsers differ extremely from a CMS, so much, that it seems even dangerous to imitate their version number scheme and not stick to a traditional model. Quite simply put: Browsers are consumer software. They are based on "standards" and as a browser developer you can do the following things:

  1. Implement more features of the standards
  2. Speed up the program
  3. Add a nice-to-have-but-not-crucial feature
  4. Patch up security issues

Even with the danger of being proven wrong in a few years: The important or main features of a browser have all been invented and implemented before 2000. Since then, browsers only did one of the 4 things above. Updating a browser only improves the user experience and the worst that can happen is a non-working extension. If you have issues with a browser, simply switch and be done with it. Its a matter of 5 minutes. (Yes, this is simplified)

A CMS is a completely different beast and depending on your point of view, its a piece of enterprise software. A CMS is not based on a standard, each and everybody has his own definition what such a CMS is. You also can't simply switch from one CMS to another, its data structures are normally drastically different. But especially one thing is important for a CMS: People using a CMS invest a lot of time and often enough money into that program. They plan systems and aquire specialized knowledge in that system. They might even base their existence on that software, for example in case of a webshop. Updating such a system often enough requires a lot of testing, checking and adjustments both in the system itself as well as with extensions.

That all said: People choosing a CMS will judge the system not only by its features or its current support, but also simply by the feeling that they get from the team behind it. And if that team for example implements a numbering scheme that no outsider really understands, its a demerit against that system.

I recently spoke with my biggest client. Their main asset is a flash application which is wrapped by Joomla. We discussed the future update strategy for our site, since they are still on 1.5 and the end result was, that its not set that we will stick with Joomla, mostly because of the above mentioned things.

Add a comment

Why Joomla is... special

Monday, 25 July 2011 23:43

Earlier, I wrote an article how the Joomla Contributor Agreement should be removed. I thought my arguments were valid, but it seems that that wasn't the case, so I'm retracting this article. Thanks to Brian and Rouven for making me aware of this.

Add a comment

How contributors are treated in Joomla

Tuesday, 19 July 2011 16:17

I just read this thread: http://groups.google.com/group/joomla-dev-cms/t/27da7cca090abac8

A contributor works on some code, prepares it to be added to the project and did everything that he is expected to do, but due to several reasons, the code does not make it in. I "blame" the project and its management and think its their fault, that it didn't make it in, however I also don't think there was mal-intent and stuff like this happens. The management of the project has a lot of stuff to do and things like this can slip through the cracks. After all, we are all just humans.

What makes me angry is the way this is handled by the management after the contributor made himself aware again. A proper response would have been "Hey Jeremy, I'm really sorry and I think I'm speaking for the whole PLT here, when I say that this was an unfortunate oversight. There was no mal-intent. Lets see how we can fix this and how we can make it up to you." Instead, no less than 4 people jump to the rescue of the PLT, write several mails and make it seem like this is normal and common, culminating in the mail by Elin that basically says "Its your fault, you should have bugged us more often and you are responsible to keep this on our todo list."

While Mark comes pretty close with his reply to what I would have expected from a proper leadership, Andrew and Elin again missed it completely. The small books they wrote as replies were not helpfull. I'm wondering if we should celebrate the appearance of Ron in this thread, since he apparently is not dead and seems to still be a member of the PLT. But on the other hand, he hasn't done anything to me visible productive in the Joomla project in the last 2 years. At least he is quick when it comes to defending the PLT. Which brings up the point why Elin is speaking for the project management. According to docs.joomla.org, she is neither in the PLT, nor in the leadership of any JBS group.

Overall, yet another communication fuck-up by the PLT. The more I see of those, the more I want to do my own Joomla...

Add a comment

What is the intention of the PLT?

Sunday, 17 July 2011 23:26

Lately, I'm starting to think the PLT is actively trying to kill the Joomla project. I'm really hoping that they have good intentions and that I'm missing something here, but all the actions that I see from the outside are aimed at pushing away extension developers, pushing away project contributors, disgruntle users and demotivate support personell.

Let me explain why I fear this happening:

1. Joomla has no feature- and development vision

The development strategy for Joomla 1.7 announced by the PLT has been "Build it, offer it to us, beg us to use it and maybe we will come". There is no feature plan no commitment to implement or change a certain thing. The result are some rather "exotic" features like the command line interface, which I doubt that more than 1% of the Joomla users would ever need. Instead of implementing improved routing, improving the core components code, pushing forward abstraction in the core classes or finally giving the user interface a polishing to make it look less like a 1999 web-app.

This pushes away Joomla core contributors. If they don't know what to do, they wont keep on contributing (or even start for that matter)

2. Joomla is trying hard to break backwards compatibility

Just recently it was announced that JRequest will be replaced by JInput. That effectively means, that all of the 7975 extensions currently in the JED will be broken in a not-so-future version of Joomla. I first tweeted that that would be 1.8, but I was corrected that the compatibility will be broken in some other platform release, which makes it Joomla 1.11? Why should I invest time as an extension developer into a project that promised me when 1.5 was released "We are not going to break your code this hard again in the future" and didn't really keep that promise for 1.6. And then made that promise again for the time after 1.6 was released. And seems to be breaking that promise again.

This pushes away extension developers.

3. Joomla is trying hard to confuse people

Not so long ago it was clear, that Joomla was going to release 1.6.x, then 1.7.x, then 1.8.x. If I wanted to write an extension for Joomla, I only had to care for those version numbers and the time between 1.5 and 1.6 was quite long, so I could count on getting my investment in development time back in the time between two releases. But also as a users, I pretty much knew that the software that I was using would be supported for quite some more time and that future versions didn't mean redoing my site.
Now I not only have to care for the Joomla version, but also about the platform version, which might force me to use a newer PHP version, since the platform requires PHP 5.3, while the CMS actually only needs 5.2 and the developer of the extension that I'm using didn't notice that this feature of the platform only works on PHP 5.3 and then there are versioning numbers that are in the known 1.7/1.8/1.9 scheme and others that unexpectedly start of with 11.1 and soon we will have 12.2, etc.
Get your f---ing story straight!! Either use one versioning scheme or the other, not two. I already wrote what I think about splitting of the "platform". Stop confusing people, users and developers alike, and make it simpler for them to follow along. Not everybody is monitoring all mailinglists, blogs, twitter channels and github repositories.

This again pushes away extension developers, it confuses users and it demotivates support personell, because they have a hard time guessing what the users system actually is.

4. Joomla is not moving forward

Others have said it before, so I'm trying to keep this short: The bread-and-butter business of Joomla are the simple Joe Users out there and they don't need no stinking CLI. They want a "Create Menu Item for this Article" feature in their article editing screen or an ajaxed publish/unpublish feature. Or an easy to find trash feature in their core components. They don't see this and ask themselfs, why they should stick with this CMS and not use that one over there, that is quite a bit easier to use.

All this seems pretty stupid to me. I've regarded the people in the PLT as competent people and while I might be disagreeing with them in some parts, I thought we all had the well-being of the project on our minds. Maybe I'm missing something here. Maybe I'm to stupid to see it, so I ask you to please explain this to me! I really hope for an answer in the comments.

Add a comment

Why nobody needs a Joomla framework

Friday, 15 July 2011 16:34

Are you a developer? Are you planning on writing a standalone web-app? Which of these frameworks would you choose for your application: Symfony, Zend, CakePHP, Nooku - or the Joomla Framework?

I know that I wouldn't use the Joomla framework. Its not mature enough and other frameworks provide a lot more bang for the buck. I want to write code fast, which at the same time integrates as many features as possible, which is something that Ruby on Rails or Nooku are great at, but not the Joomla framework.

But also for the project its a bad move. For one, the workforce is split into the CMS project and the framework project, and for the other, its also making development unnecessarily difficult. Just think about fixing a bug that is both in the CMS and the framework.

Last but not least, there is the target audience: Joomlas strength is the large group of average Joe Users and not the small group of James Hackers. Catering to a small group that maybe makes 0.1% of the community while at the same time neglecting the other 99.9% will not help the project.

The idea to split the framework from the CMS was made somewhere in 2006, when the project was young and everybody was basically brainstorming. Most of the people that were involved in that brainstorming have since left the project, but the idea went from being "something to think about" to "this was a decision, we have to do this." There have been several developments in the project lately, that are based on ideas and brainstorming from the early days of the project, but which have since outlived itself and should not be followed up on anymore. I would wish the PLT would take a step back, relax and try to get an outside view to get a new feeling for what is important and what isn't.

Add a comment

Can the Joomla development strategy be successfull?

Wednesday, 25 May 2011 19:01

A few minutes ago I stumbled across a discussion in the Joomla Bugsquad and it brought up a good point. Can you introduce backwards compatibility breaking changes into a release that is not going to be supported longer than the next release?

Joomla has a huge community and only a small number of people using it are actually webdevelopers and from all the sites that are built with Joomla, the number of sites that is actively supported by a webdeveloper or interested community member is even smaller. This means that a huge number of websites out there has been set up once and was never touched again in terms of updates or, god forbid, migrations to a completely new version. So we still have Joomla 1.0 or even Mambo websites out there and especially when it comes to migrating a heavily modified website to a new version, currently for example 1.6, people are hesitant to invest the time.

Joomla 1.6 breaks a lot of things. Each time its not a huge issue, the differences are mostly small and can be fixed pretty quick, but the number of changes generally keeps people from doing the switch. Joomla 1.6 will be supported until mid-2011, right up until 1.7 is going to be released. There will be no security fixes for 1.6 after that date. There will be no bugfixes after that date. But as it seems, 1.7 will be incompatible to 1.6, at least in a few subtle areas. At the same time, Joomla 1.5 is still going to be supported and from a security point of view it is pretty stable. I wouldn't give it the lable "properly tested", but the sheer number of installations and the time its been in action is a pretty good sign of its solidity. But Joomla 1.6? To be honest, I personally don't trust it, because it wasn't tested in that regard. To recap, Joomla 1.6: No support in a few weeks, no trust in its security; Joomla 1.5: Support for at least another year, good trust in its security.

Would you as a user or developer jump on the 1.6 bandwaggon? Or 1.7?

Why was the switch from 1.0 to 1.5 so "easy"?
Yes, 1.5 changed a lot of stuff, mostly for developers. But it also improved the basis for development of Joomla extensions in a way that can not be overstated. Still, the most important factor for its success was the adoption by the normal users, which can mostly be attributed to the legacy layer for 1.0 extensions. This in the end meant, that 1.5 would offer users a slight improvement, which would grow over time with third party extensions, but also it wouldn't break their current sites. Switching didn't mean basically a complete rewrite.

What is the development strategy of Joomla?
The strategy currently looks like this: We release a new major version every 6 months and every 3 versions, we call it a long term release and support it longer than until the next major version. That alone is not really going to be a big issue, actually, its even a big improvement. The aspect that makes it a problem is, that the project currently does not communicate a specific vision for the next major release(s). Okay, that is not entirely true, the project communicated a vision, something like "We are going to write a big-ass CMS and we are going to release our own framework seperately from the CMS". But from my point of view, that is not specific enough and in the area where it gets specific, releasing its own framework, its not interesting to me, both as a user and a developer. As a user, the framework has no value at all for me, and as a developer I have to say that the Joomla framework is not mature enough to have enough value to be used outside of the CMS itself. If I need a good framework, I take a look at Zend, Cake or Symphony, or if I like the philosophy behind Joomla 1.5, I use Nooku.

What does a future version of Joomla offer me that makes me want to update my system from 1.5 to the most recent release?
First of all, Joomla would need some guidelines for development. A few example:

  • Use as little parameters as possible. If a user needs more, he needs to implement them on his own.
  • Make the code as flexible as possible.
  • Abstract the code as much as possible. A developer should not have to do time consuming, boring work.
  • Think about how all this fits into the grand scheme of things in Joomla. Does this have to be part of the Joomla CMS core?
  • Make the change backwards compatible or make sure that there is a legacy layer.

And then the project should point out some major tasks that they want to accomplish in the coming versions, which have a true value for users and developers. There is already a statement like that, but it has a big flaw from my POV: It is just talking about adding new features. I think Joomla needs to focus more on polishing its existing features, which should not prevent new features to be added, but that should not be the main focus of the project.

So a changed vision statement could look like this:
Joomla 1.7:

  • For the users, we are going to review all user interfaces and think about how to implement them in a more user friendly way. 1.7 will be the most easy to work with Joomla so far! (Think about AJAX and Drag&Drop-Features)
  • For the users, we are going to implement a tagging solution for the Joomla core components.
  • For the developers, we are going to do a review of how the core classes are build up and fix long standing problems, preferably in a backwards compatible way.
  • For the developers, we are going to abstract functionality into classes that every component can re-use, saving you a lot of time for development.

Joomla 1.8:

  • For the users, we are going to implement a CCK solution.
  • For the users, we are going to implement a package management system into Joomla, which will make it super easy to install and update your extensions.
  • For the developers, we will finish the core classes review from 1.7.
  • For the developers, we will implement some of the great principles of Nooku into the Joomla core.

Joomla 1.9:

  • For the users, we are going to implement versioning into the Joomla core.
  • For the users, we are going to provide a multi-language content solution in the Joomla core.
  • For the developers, we are going to further improve the Joomla code base.
  • For the developers, we are going to split the framework from the CMS, since we feel confident enough that it now can compete with other frameworks out there and give you a real benefit over other systems.

In that last bullet you also see something else that I'm criticising. I think splitting the framework from the CMS is a good idea and eventually a good step, but right now it wont help Joomla at all. From earlier experience, I think splitting the CMS and framework now will result in much slower development, since changes have to be negotiated not only with one, but two seperate repository maintainers. From my point of view, the framework has so many flaws that need to be fixed, that keeping the two together would be the better solution for the moment.

Back to the topic: So, Joomla does not communicate this vision properly. Big deal, (quoting "Field of Dreams") if you write it, they will come. And will still switch over. But that means, that someone writes the code, does the work. At this point we are again at the topic of my last blogpost.

Which still brings up the question: Can the Joomla development strategy be successfull?

Add a comment

Why is it so hard to contribute to Joomla?

Friday, 20 May 2011 15:33

Disclaimer: First of all, let me make this clear: All that I'm stating here is completely subjective and I might be completely wrong about all of this. Maybe this also already has changed and I'm just writing this due to things that happened a looong time ago. So don't take any of this as given and 100% true. :-)

So I was at J! and Beyond 2011 in Kerkrade and it was a damn good time. But when talking to other people about contributing to Joomla, there was a recurring theme: "Its not easy to contribute to Joomla"

The actual reasoning was different, some said "I'm not going to invest my time if there is no chance in getting this in", others said "I don't know how" and yet other people brought other concerns forward. I don't want to re-hash all the conversations, but I think the subtext of most of it was "I want to pitch this idea to someone from the Joomla project and have their honest opinion about it. If that works out, I will invest my time and get this rolling."

So this means that we need a form of communication between those with the ideas (and of course willing to actually make it happen) and those in the lead of the project. Yes, I know that there are several mailinglists and that you can communicate with some of the PLT members on there. There are also IRC chats like #joomla and #joomla-dev and websites like ideas.joomla.org and the possibility of creating a branch to show the actual code. So where do we need more communication?

Yes, there are lots of possibilities, but "lots" does not say anything about quality or effectivness.

Lets talk about the mailinglists first. From past experience I have two problems with the Joomla mailinglists, the first being that especially with complicated proposals you rarely get a response, especially from the people in charge and second, writing a mail about an idea is complicated when you haven't fleshed it out completely already yourself. You are even more in a problem with the mailinglists, because for people to respond to you, you have to give your idea so much form already, that they are interested and completely understand it, but in a lot of cases this also already means, that you are setting so many aspects already, that others misjudge the maturity of your proposal and don't start on the overall idea but on little details or don't respond at all.

So what about the IRC channels? IRC would actually be perfect to have a talk about ideas, but from my perspective the Joomla IRC channels are, sorry for this, crowded with idlers and n00bs. (Counting myself in on the idlers) And with regards to the connection to the PLT: None of the PLT members have been in the #joomla-dev channel for at least a month, in most cases it was closer to a year that they've been last seen there.

We've got ideas.joomla.org and the branch creating thingy left. The first one is like writing to the mailinglist, but with less audience, while the second one actually forces you to provide a working example of something that you just started thinking about. Both is not really interesting for me when it comes to pushing my enthusiasm to involve myself more and invest into this.

What is making all that talking about ideas so important to me? In the last few months I experienced the Molajo project and I'm also following the Nooku mailinglist and both have an environment where you talk about ideas and where you pitch concepts and rough drafts and get instant feedback. This is just extremely productive! I can't even say how many times just a simple chat brought up new ideas, new ways to tackle a problem and even simplified a lot of stuff.

A simple example how more communication in this area would have helped: When I wrote the system for template parameter sets in Joomla 1.6, I didn't communicate this with others. Instead I just wrote the code. The result is, that we have a pretty complex getTemplate function in JApplication, but no setTemplate function. So instead of being able to do this in proper OOP style, you have to set some environment variable. This for example prevents us from disabling the core behavior of changing the template with the &template= URL parameter.

Solution to the problem? I don't know. You can't expect all the members of the PLT to always hang around in IRC and listen to anybodys crazy idea, especially since you can't expect everybody from the PLT to be knowledgeable with every single code snippet in core or webtechnic out there. On the other hand you can't expect anybody to invest time (and money) without any hint to the needs, ideas and interest of the project. Which brings me to a nice point: I can ask you!

Do you agree with my assessment? Am I completely wrong? How would you solve the problem?

Add a comment

Does Joomla have a vision?

Tuesday, 08 March 2011 23:14

Joomla has released version 1.6 just about two months ago and its a version with major changes. It was a big effort to develop all of this and make it stable and everyone deserves a little bit of time off after this. However, with the release of Joomla 1.6 the project also announced that from now on, a new major release should be made every six months. So instead of a feature based release Joomla has moved to a timeboxed release. While that might seem like a good idea to spur more interest from developers and a way to speed up development, it also requires more management. Ideally, you would have to decide even before releasing the current version, what the features for the next version should be, so that people have time to develop those features and that you have at least a two months period for testing and stabilising.

But before you can talk about specific features, you should have a general vision for a project. Similar to a constitution, a project vision gives the general direction that features should aim for and helps building consensus about to be invested work.

From my point of view, Joomla is lacking that global vision at the moment. Maybe I'm wrong and that vision just hasn't been publicised. Or its worse and the vision is to just follow behind other CMS projects.

So when an active vision is needed, what should that vision be? Joomla has always benefitted from two elements: The perceived low entry barrier to a grown-up CMS and the huge number of extensions available. On the other hand the quality of most of the extensions is not very high and after the initial jump into the pool, people often run into a wall, especially since the release of 1.6.

Now we could be talking about being standards compliant and always on the bleeding edge in terms of new technology, but I'd like to settle for something else. For me there are three goals for Joomla:

  1. Be simple
    This means that user interfaces should come to you naturally and that they provide the features that you basically expect. It also means that you are not drowned in features. Less is more!
  2. Have quality extensions
    Good quality extensions are secure and easy to use extensions. Such extensions attract users and in the end provide profitable business for everybody. But good quality extensions are not only a responsibility of the third-party developer (Which is actually a term that we should not use. We are a community and not third parties.) but also of the core project. Joomla is written as a framework which means that it should take over all those boring standard tasks for you, so that the developers can concentrate on creating additional value and provide innovation. Joomla lacks in that regard a lot currently.
  3. Be consistent and "academically" correct
    A consistent code base makes it possible to easier fix bugs or change functionality system wide. An "academically" correct implementation means a proper abstraction and proper seperation between functionality.

With these three simple rules Joomla development would get a direction and provide volunteer developers a purpose. But especially for users it would be clear what they can expect from the program and the project.

Now the question is, if the Joomla leadership will try to find a vision for the project.

Add a comment

Page 1 of 2