Ethics, Communication, and EllisLab

Posted by TJ on 6/29/2013Tags: ExpressionEngine, OpinionEthics, Communication, and EllisLab

I have awoken from my slumber to write a blog post. 1

You see, even though I do both web development, and film editing, and the last long term project I got was a film project which sort of took my out of the web development and #eecms community while I worked feverishly to complete it, I still like to check in on the community once in a while and stay active when I can.

Well yesterday, #eecms nearly blew up. The reason was because of a blog post Chief Maker Derek Jones wrote. 2

Competition, Ethics, and Add-ons »

It’s no secret that a prominent developer in the ExpressionEngine add-on community decided to release their own publishing system, intending to compete directly against ExpressionEngine. What surprised us about this was not that it happened, but the way that it happened. A formerly friendly developer unveiled a competing product behind closed doors at our own conference, and tried to convince the organizers to let him use the A/V equipment that we were paying for to do it.

Pixel & Tonic did not just set up shop across the street from us. We invited Pixel & Tonic to sell flavored syrups to our customers inside our own coffee shop. We left a few syrups off our menu because the friendly business in the corner was providing them. But then they began telling our customers that the coffee at their new shop was better - certainly their prerogative, but we would be irresponsible to ignore it.

So quite simply, we are putting those flavors back on our menu. Our customers do not have to worry whether or not Pixel & Tonic can develop and support something as complex as a publishing platform and still maintain the time and interest required to continue offering and supporting add-ons for a competitor’s product.


Let me start of by saying I understand why EllisLab did this. But I have to frame it for those who may not be in the know. I understand that many of you reading this will already know the backstory, but it would be bad writing if I did not frame it anyway.

Pixel & Tonic have made add-ons for ExpressionEngine for many years. It was kind of their business. The problem over the last couple of years is that there has been some shifting going on over at EllisLab, and a perception, right or wrong (I happen to think it’s somewhat right) that ExpressionEngine has been stagnating. Additionally, EllisLab has been very bad at communication and general support, bug fixes were nonexistent for a seemingly long time, and the community was growing frustrated. In the midst of all this, EllisLab decided to scale back their online presence, more or less abandoning Twitter and their active involvement in the community.

At the same time, while many of us love(d) ExpressionEngine for it’s great flexibility, and ability to create a website very easily from the ground up and write every single bit of code that appears on the front end, many were growing frustrated by the lack of new features and the apparent inability of EllisLab to keep ExpressionEngine relevant for today’s Internet. 3

During the midst of all this, Pixel & Tonic decided that maybe it was time for a new CMS that had the same spirit and heart as ExpressionEngine, but better foundation, development, support, and a more self aware team. Thus was born Craft.

There are a lot of messy details, including some of, what looks from where I am at, impropriety of when and where the idea of Craft was revealed, a questionable checklist on the Pixel & Tonic website that was meant to rub EllisLab the wrong way, and EllisLab beginning to optimize their site for the word “Craft” with regard to search results, a term heretofore unused by the EllisLab team in the marketing of ExpressionEngine.

Inept Communication and Lack of Self Awareness

One thing has become very apparent during this whole time period: EllisLab is extremely inept at communication, social media, and community building. Every. Single. Thing. they have done/said lately has only served to anger and upset the formerly loyal community and user-base further.

Upon the posting of that blog post by Derek Jones, the #eecms community erupted. There was the occasional yay or positive comment, but on the whole, the response was so overwhelmingly negative that one has to wonder how well considered that post was before it was posted? Not very well apparently.

I think this situation has arisen as a direct result of EllisLab’s lack of self awareness. I think that they collectively really have no clue about how they are perceived right now. They may think they do, but this blog post shows that they clearly do not. An old adage seems to apply here. When you are in a hole, stop digging. Unfortunately, EllisLab’s self dug grave just got several feet deeper, I’m afraid.

A Direct Attack

The problem is that instead of acknowledging the things that have directly led to the current situation and the creation of Craft, which I maintain was a direct result of the languishing development of ExpressionEngine, and acknowledging how poorly communication and community have been handled, they went into attack mode. 4 They went on the offensive and the problem with that strategy is that it’s probably not a good idea when your position is as weak as EllisLab’s is right now.

Whether their perspective on Pixel & Tonic is right or wrong, it is clear that they were way too harsh in their public statements made by Derek Jones, and the community which has been keenly keeping an eye on Craft, did not respond well.

Show, Don’t Tell

Had I been in charge of EllisLab’s communication, my response would have been, show, don’t tell. What I mean is, it would be far better to just do good work and let that speak for itself. I don’t mean that EllisLab should be silent, indeed, my first act, if I were newly placed as head of EllisLab communication, would be to start engaging in the community in a positive way. I would try to acknowledge failures, solicit feedback and respond graciously, and I would certainly stay away from direct attacks on anyone.

Above all, I would encourage the team to start doing really good work. And that means fixing bugs not duplicating currently available third party functionality. I understand that in the future, that might be necessary as competition from Craft heats up, but right now that should have been the furthest thing away on the to-do list. There are so many things about ExpressionEngine that need help right now. What was once the greatest CMS in my book is having a mid-life crisis. Why not get the thing back on track instead of fixing something that isn’t broken right now?

A Better Way

Still, I completely understand why this decision was made. Pixel & Tonic is now a direct competitor and they are making several of the best add-ons available for ExpressionEngine; add-ons that many in the community feel are vital to ExpressionEngine. Despite the fact that I think it’s one of the weakest hands to play, you can see why this decision was made. And in the long term, yes, I think EllisLab should have done this. Not right now, and not in this way, but yes, it was the right decision to do at some point.

With that said, even if it had to be done right now, it could have been done much, much better. First, I think that I would not have written the blog post at all. Just build the functionality, and make it really cool and compelling, and let the work speak for itself.

But, if the blog post had to be written, even that could be better. I am going to do something that I hope is not too cheeky. I would like to write a better blog post that I feel would in all likelihood be much better perceived by the community. This is how I think that post should have been written.

A proposed blog post EllisLab could have written

Competition is A Good Thing

EllisLab is committed to making ExpressionEngine the best content management platform available. One of the ways we do this is by making it a great platform for third party add-ons. Without the third party add-on community, ExpressionEngine simply wouldn’t be as great as it is today. We love our third party developers, and we want to encourage everyone in the building of great add-ons.

However, sometimes there are add-ons that extend the functionality of ExpressionEngine in such an obvious way that we really feel as if we have no choice but to add that core functionality and build it right into ExpressionEngine.

And sometimes this just makes good business sense on more than one level. It is no secret that Pixel & Tonic, makers of some of the finest add-ons available for ExpressionEngine, are also now our direct competitors in the CMS business. It seemed unwise to us to continue to leave the functionality of their most popular add-ons to them alone as this could become a conflict of interest for them in the future. We welcome them to continue making great add-ons as they always have, but we hope they will understand our position here.

That is why we are introducing a new field type into the core of ExpressionEngine called Grid, a field-type that allows authors to use grouped field-types to publish any number of rows of related content within an entry. It’s great for photo galleries, addresses, product details, baseball statistics and more.

We realize that some of our failures have directly led to this situation, and that is why we are renewing our commitment to the platform, to quality, and to the community. We hope in building this new field-type into the core of ExpressionEngine, that commitment will be apparent. Our first priority is our customers, and to serve our customers, we must have a great product.

Competition is vital in the marketplace and we really do look forward to competing with Pixel & Tonic in the CMS space. They’re doing fine work over there and we wish them the best. We really believe that there is room in the marketplace for all of us, and we believe as long as we make the best products we can make, we will be successful.

Onward we go!

See, is that so hard? That was the blog post that Derek Jones should have written.

The bottom line here is that all of this just makes me sad. I love what I’m seeing from Craft, but I still love ExpressionEngine and it makes me sad to see the continuing demise of what was once the greatest CMS and to see them devolve into petty squabbles. I think we inherently just want everyone to get along. There really is room for both CMSes.

A Plea to EllisLab

I love ExpressionEngine. Let’s not mess it up with politics, please. Please just focus on making great software. Then you won’t need to get all defensive. We’ll love you for it if you do.

  1. Actually, I have been writing a lot, you should check out my movie/film website where I do most of my writing now: MovieByte.

  2. Basically, he is the CEO, they just wanted a more creative title.

  3. I for one, have been extremely frustrated with the field group paradigm. It is very limiting when you want your Channels to share some common fields but have others that are not common. We should be able to assign fields to channels individually.

  4. Certainly, that’s the way it was perceived by the community.