Boiler Room Digital

Your little friend on the big wide web


The double-edged sword of Expression Engine add-on success - 19.04.10

I love Expression Engine

It’s the most flexible CMS I’ve ever used. I like the fact that I can control ALL the markup, and call things whatever I want. I like defining as many custom fields as I like. There’s not much I can’t do with Expression Engine.

Out the box, it’s great, but there are some essential add ons which take it to another level. I’ve blogged about those already. (Since I wrote that blog, a few others have come on the scene – maybe a follow up post is in order).

Here’s a pattern that I see recurring though:

A developer builds an add-on to plug a hole in EE’s functionality. They start selling it. Ellislab then don’t plug the hole for fear of hacking off the developer community. A classic example is Solspace’s User module. Isn’t this how membership should have been done in EE all along? Ditto for search .Yet the fact that someone is making money out of selling these modules makes it awkward for Ellislab to go ahead and improve things in the core product.

Similarly, Solspace’s tag and Calendar modules are both great, but shouldn’t these be built into EE. Paradoxically, the existence of a great add-on could prevent EE itself becoming better.

(It’s not just Solspace who are making great add-ons, those just happen to be the ones I’ve used most recently).

It seems that feature development in EE itself has stalled (we’ve been promised an Ellislab ecommerce solution for how long now?), and while it’s great that other developers have picked up the baton, I wouldn’t like to see the core platform stagnating.

A lesson from Drupal

At least for most jobs, there’s only one (or at most two) add-ons for the job. This means there’s still pretty much a standard way of doing things. I’ve been dabbling with Drupal lately, and I’m finding that with Drupal, there are multiple modules to do the same job, and it becomes hard to know what to use – particularly for the first time user. The more EE users have to rely on a fragmented set of add-ons, the harder it is to keep on top of the best way to achieve something.

The problem must be more acute for new EE users. The fact that so many things can only be achieved with add-ons makes it much tougher for them to get their head round developing sites with EE.

The cost issue

The issue came to a head when I was chatting to a client about the fact that the cost of add-ons that need to be purchased for each site, on top of the core license. While EE itself has volume discounts, most add-on providers don’t. For him, this extra cost was becoming an issue. He manages a lot of sites. He was also getting frustrated with the pace of development of EE itself, so he began to look at alternatives.

The way forward…

I think that what happened with Fieldframe (it’s built into EE2), and Mark Huot’s Tome (Ellislab built similar functionality into EE their own way) are both causes for hope. The key difference is – these were both free addons.

I don’t underestimate the scale of the task of re-writting EE from the ground up to take advantage of CodeIgniter, but it seems ages since a major new feature was added.

I think it’s good for all concerned if Ellislab actively improve their core offering, as well as encouraging third parties producing great add-ons. I’m not opposed to competition between Ellislab and third party add-on providers, and I don’t mind deals where Ellislab buys in whole modules and adds them to the main code base. Anything that keeps Expression Engine a compelling CMS offering.

It’s a double edged sword, as developers may then become less willing to put in the time it takes to develop an add-on if Ellislab might one day come in and take their market away. I guess the key has to be good communication between Ellislab and the developer community.

For more thoughts on the subject, here’s a “great post on EE add-on pricing“ from Hop Studios, much of which I agree with.


Paul Bell
Boiler Room Digital
Work 35 Abbey Road
NG17 7NH

mobile +44 (0)7739 839 532