This blog post is a summary of the talk that I gave at the ExpressionEngine conference in October 2013.
In this talk I will provide some insight into WordPress, Drupal and Joomla and how they compare to EE. But this is really just meant as a way of introducing a different way you might want to look at this discussion. We move into a discussion of not selling the tech but focusing on selling a business benefit.
It's important for you to know a little about me so you know why I am approaching the topic in this manner. You are reading this on our website so you could just hop over to our about us section and get a bit of this but let me highlight it for you.
In 2011-2012 for 18 months I was the acting Director of Business Development / Product Evangelist for EllisLab (the makers of ExpressionEngine). My role in the organization was to help people understand what made ExpressionEngine different and why they may want to give it a fair shake.
I helped devs in the community by helping them explore EE for the first time, helping them strategize on proposals that they were sending to clients, and demostrating ExpressionEngine to both Dev companies and companies that were considering it on their own.
I demo'd ExpressionEngine to Fortune 100 companies during this time. I only say that to let you know, as a reader, that ExpressionEngine is used at many different levels on the internet. Enterprise Level organizations use EE and mom & pop small businesses use it. It can serve both purposes well.
As a developer I have built or worked on over 100 websites using ExpressionEngine. I have been a member of the EllisLab community since June of 2007. And, I have been a member of the ExpressionEngine Pro Network for 6+ years since March of 2008.
It is safe to say I have sold my share of ExpressionEngine websites.
Other items of note, I have been in sales since 1997 when I was hired as an inside sales rep right out of college. This was probably one of the most influential periods of my life. The company I worked for wanted us to become better sales people so they invested in us by getting us sales training at a local institute. I would go over to the classes 2-3 times a week. Being a good salesperson is something I take pride in. This is not "Slick Bob" in a sportcoat trying to talk you into a lemon of a used car. This is a Sales Engineer approach of educating the customer
So the title of this talk is EE vs Drupal vs Wordpress. I added Joomla because it just felt wrong to discuss these other CMSs and not talk about Joomla. While I've prepared some slides for us to take a look at the other CMSs I have to tell you that this is a very high level, simplified version of what these powerful CMSs can do. To think that anyone could do a talk about even their finer points in an hour is laughable.
I will also point out that in my slides you did not see anywhere that I am selling myself as an expert in Drupal, Wordpress or Joomla. And really, my hope is that by the end of this talk you'll understand that does not really matter.
The next three slides show graphs of the usage of the top CMSs. These graphs are why we are having this talk. Wordpress, Drupal and Joomla cleaning our clock. We know that some of you are running into situations where you are selling a client and they may be leaning towards one of these situations so we wanted to talk about that.
You'll notice that as the rank of the site goes up WordPress loses a little ground, Drupal gains a little ground, Joomla loses ground, and EE gains but only minimally.
These line graphs show the hierarchy a little better.
I don't think this lack of increase in market share is something that we ExpressionEngine development shops need to be terribly worried about. I know the numbers from the last couple of years from periodically checking them, and I've not seen it drastically change. Out of pride I do wish that EE had gained a little ground.
I think it is important to note that if you are a development shop that uses EE then you are are part of ExpressionEngine's street team. You are the ones that market it. You are the ones that spread the news about it as a system. If the numbers on this graph change it is because of something that you did.
Is it Unique?
One of the things that I wanted to address is the idea that ExpressionEngine is unique. Now I know each piece of tech is unique in it's own way. But one of the things I think we would all agree on is the ability to create channels, Create a Field Group, and then assign the Field Group to a Channel. I now know that each of the systems have something similar. WordPress calls it a Custom Content Type, Drupal has a Custom Construction Kit and Joomla has a Content Construction Component. These are all similar to the native functionality you find in ExpressionEngine.
Unless I am missing something EE is the only Multi-Channel (in our lingo) system of these. But each of them have this ability to create custom fields and expand on the capabilities of it's core system.
Let's dive into each of these briefly
WordPress has had Custom Fields for a long time. They showed up in February 17, 2005, in WordPress version 1.5.
For a long time you were required to know PHP to manually configuring them.
Now, you can just do a from within WordPress (which is kind of cool) that will show you the many plugins that make this much easier. I'll point out that the item count from this search is 1,000. I have a hard time believing there are 1000 add-ons for Wordpress to create custom fields but for sure there are plenty to get the job done.
These next few screens show you a bit of how difficult the process is to use these. I think you'll find that it is not difficult at all. You install the Plugin from within the Control Panel and it adds a navigation item. Open it up and you can easily walk through the process of creating a new Custom Post Type with custom fields and all. Still a single channel, but plenty of functionality.
The system creates a navigation item. To get started with this particular plugin you just push the Create Content Type button.
The above image shows the different types of custom fields that you can create. Not as extensive a list as ExpressionEngine but I'm betting some searching would net more
When you add a field you can assign values based on the type of field you are adding
This image shoes the fields that I have assigned to the new Content Type
So, when you go to the publish page for the new Content Type you see the new Custom Fields at the bottom of the page.
As a front end dev the above scares me. And that is my biggest issue with systems other than EE. I don't know PHP and I don't necessarily care to learn it at this point. Making use of the custom fields in the template code would make my eyes glaze over.
So what are the Pros and Cons for WordPress vs ExpressionEngine?
As of Version 7.2.3 (that I downloaded) the CCK was built into the core install.
You open a page or section in Drupal and right there you see that you can create additional Content Types
You can add custom fields to that content type. Initially there does not appear to be as many field types as was available with WordPress but Drupal was built for PHP Developers so I am sure this is something that can easily be added.
The above image shows the parameters you can set for the image field type that I was working with.
This is what it looks like after you add a couple of custom fields to the Content Type
After you add the new Content Type it is selectable and can be used to enter in new content.
Aaand... just like in WordPress you see the custom fields at the bottom of the publish page. I'd also say that knowing the reputation of Drupal this functionality can most certainly be built on
I'll not pretend that I know the specifics of how you gain access to that content so that it can be displayed on the rendered page. That most certainly is the place of a more experienced PHP Developer. Which is where Drupal exceeds.
So what are the Pros and Cons for Drupal vs ExpressionEngine?
Keep in mind that Seeds of Doubt may not necessarily be a bad thing. But Highly Technical and Developer friendly typically translate to more expensive in a prospect's mind.
Briefly, let's just gloss over Joomla.
Ooops. :) Actually, this slide was taken directly out of a client site of mine. But, it looks this way because they were originally using Joomla. They called me because they got hacked and immediately wanted to move over the ExpressionEngine but did not want to do a redesign. This was a low budget low time invested just make it work kind of project. But, what this illustrates is that with these systems you can often times get bloat due to the way they handle plugins. Each plugin adds it's own separate CSS and JS files regardless of whether they are actually needed.
Going back to the point about Custom Content a quick search of the extensions directory over at Joomla's website netted 19 modules. From what I could tell they mostly work by creating a completely different architecture to Joomla hijacking the old way of entering content and creating a completely different area in the Control Panel where users do that.
So what are the Pros and Cons for Joomla?
So where do we stop?
So where does this stop. This constant bickering and comparison of one CMS to another. We've taken a brief look at 3 today. A quick look at the landscape tells you that there are many more CMSs out there that probably have good technology underpinning them. Yes, as a fan of ExpressionEngine I have an appreciation for WordPress, Drupal and... well... let's not get carried away and include Joomla in that...
But where does it stop? I mean if you take a look at even a small segment of the CMSs that are available you begin to see that coming up with talking points for each is going to get you no where. You can't possibly think through and market against all of these.
So now what?
You should now be getting a picture that the CMS doesn't really matter. That if any of you had chosen any of the other CMSs you probably would have found the same level of success you have today.
The whole "My CMS is better than yours" argument is fun but it's best for poking fun at fellow techies and not fodder for clients or prospects. They don't necessarily care. So you use ExpressionEngine, or Drupal or WordPress. Who cares? Make the move to selling based on business goals not on the tech underpinning and you will make your life a lot easier. Make sure the tech can provide the solution. But the prospects that you talk to do not necessarily care which CMS you use. They just want to know that it is going to work and be easy for them.
Where I contradict myself...
If they do ask though. You'll want to be able to explain why you use EE. You use some of the following:
ExpressionEngine is really easy to use for non-technical folks. The fact that each publish page is different means that they will be easier to fill in. The cost of getting First-Party Support is really really low when compared to other CMSs. ExpressionEngine makes no assumptions about your content or structure so designs can be customized more. And there is not a cookie cutter look to EE websites. The add-on developer community is amazing. Yes they are commercial add-ons, but that is a good thing as we want our devs to want to extend and support the products that they build. ExpressionEngine is extremely flexible. You can approach it's flexibility from several angles. It is flexible when you consider how you code the front end of sites using EE. It is flexible to extend and build modules for. EE can scale with the best of them. Due to my position at EllisLab I know of at least a handful of websites that received 5-25 Million visitors per month. I am comfortable in saying that it can handle traffic with the best of them. Security was always taken seriously at EllisLab. Everything was developed knowing that some of the most security concious organizations were going to use EE. And finally, multiple channels of content is how we have those flexible publish pages that are different for each type of content.
Show them a demo
Show them a working demo. Grab Twitter Bootstrap or Zurb's Foundation and make a working site. It will probably take you 1-2 days but it will be something that you use many times over. Nothing is more powerful than showing them how they would enter in content that they specifically will need.
My demo has various channels for different types of content. I have a channel for images, video, locations etc. Show them how that looks as a publish page. Also show them how you can easily bring in that information into templates and mix it together. I have found this to be a powerful tool.
Give them Examples
Here are just a few of the examples that we know of that are using ExpressionEngine. This is as of Oct of 2013. If I am talking to someone that is curious about ExpressionEngine I might give them a couple of websites in their market segment as examples.
Now I would like to move into the swift kick in the rear portion of my presentation. Part of the problem many developers are having is that you are not focusing on your business. You want to build websites, and that is fine. Love of your craft is a beautiful thing. We LOVE building websites at Blue Fish. But, so many of you could be so much more successful if you would put some focus on your business. If you cannot keep yourself from continually getting dragged back into code/design/whatever then you will be susceptible to the up and down nature of this industry. The typical cycle for a freelance or small shop is: you sell a job, you work on a job, you finish the job, you market yourself, you get an interested prospect, you sell a job, you work a job, and so on. The only way to break out of this is to continually be marketing yourself and working deals. Or Always be closing" :)
And for those of you that are perfectly fine as independents? Keep on rocking. Not everyone wants to build a business and that is ok.
One of the things I would like to to do is to take a more active stance with your sales. That same level of attention to detail with the colors you choose, validation and semantic-ness of code etc. If you apply that same level of attention to detail to your sales process you will have more success.
Conclusion should be that we need to be in a constant state of self discovery to figure out new angles to market our products.
The moral or TL;DR (Too Long Didn't Read) of the story really is to not sell a deal on technology. If you find that you are continually having deep discussions about the capabilities of the various CMSs then you've lost control of the discussion or are presenting yourself in a way that is not helpful to your sales process.
Occasionally you will run across an RFP that states that the website to be built has to use x technology. If you get one of those the first thing you do is call the person you are interfacing with to see if there is any wiggle room. If not then bow out and explain why. Sometimes simply explaining why you've chosen a specific CMS with strong conviction is enough to get them thinking about whether they have made a mistake in eliminating it. It can often times lead to a discussion that opens the deal back up.
Thanks for reading. If you have any questions don't hesitate to write me and ask!