SilverStripe vs. WordPress

Disclaimer: This post is in no way meant to feed a flamewar. Even though I am obviously biased when it comes to SilverStripe, the german version of this very site - silvercart.de - was powered by WordPress with a commercial template for almost 10 months. There were valid reasons for this decision and I would do it again without hesitating.

SilverStripe vs. WordPress

Yesterday there have been some lively tweets about SilverStripe vs. other CMS (Joomla, Drupal and WordPress). While I have not worked with Joomla and Drupal so far, I do have first hand experience with WordPress. I could not resist the temptation and so I tweeted

C'mon, this CMS flamewar is Kindergarten: #SilverStripe is Lego Technic, #Wordpress is Lego Duplo. You can build castles with both :)

It wasn't until being under the shower this morning when I realised that this comparison could be interpreted in an unintended and misleading way.

I do not think that Lego Technic is superior to Lego Duplo in any way. Both have their own purpose - they are highly optimized, streamlined and spezialized toys, coming from the same brand. Being a father of two kids, I am familiar with both, Technic and Duplo. You can build wonderful castles with both of them, but still they are different. (For those of you not familiar with Kids and/or Lego: use google)

What I love about WordPress

I just love the fact that you can have a professional looking site up and running in minutes and start pumping content right away. There are lots of useful modules and a gazillion professionally designed templates that you can get by squeezing out a few bucks from your - hopefully not maxed - credit card. There are even tons of great free templates available if your are building the site just for the sake of content.

The shortcodes are so amazing that I find myself tempted to put them on the SilverCart roadmap. The WordPress blog module comes with categories and everything you can dream of and it beats the SilverStripe blog module big time. There are also some really great SEO modules available.

I don't like the CMS section. Here it becomes obvious that WordPress is a blog that tries to be a CMS. But it does the job.

The admin panel is easy to understand, some details could be solved better but overall I find it quite useful. Server side updates are a different story, though. While I totally love them from a user perspective, the developer inside me thinks about problems with code versioning, inconsistent codebase and complex workflows when deploying from a staging to a live environment. But would you need that deployment process for a garden-variety company website where only the content changes?

I tried to do a little bit of customizing (multilanguage site, anyone?), but the architecture and the code actually scared me away.

And in my opinion this is the central aspect of differentiating WordPress and SilverStripe.

What I love about SilverStripe

SilverStripe has many faces. It is a framework, but also a CMS (even more with the newly developed separation of framework and CMS). But it's also a cathedral with a growing bazaar of modules.

We are software developers, not webdesigners. Our product SilverCart may look like a normal website, but actually it is complex ecommerce software with a web interface. We think UML, IDE and VCS, not backend-template-editing and design wizard. I love the framework part, that lets us customize the software to fit the need of our clients. Nothing beats hammering down a pre-planned class diagram, /dev/build and have almost everything right in place. It really speeds up the development process and we are way more productive than we have been with any other CMS or framework so far. And you bet that we tried one or two of them before building SilverCart (but this is a different story...).

I also love SilverStripe because it does not interfere with our tools and processes. For us it is better to have less configuration in the database and more configuration in files. The template engine makes sense, unfortunately the templates can't have PHP code completion in your IDE.

When Felipe Skroski was interviewed on SSbits, he took the words right out of my mouth:

So in this scenario I think CMS will evolve to hosted solutions like virb.com and squarespace.com or to solid frameworks and UI kits to create the new web applications and that's the beauty of SilverStripe 3 - we call it CMS, some people refer to it as CMF, but it should be called something else like a web app SDK. Regardless of the name it's going to be a full-on development framework with a UI.

But where is light, there also is shadow. Some modules only provide a very basic set of functionality, for example the blog module. There is no way that SilverStripe can compete with WordPress when it comes to blogging functionality. And when you think of blogging as "pumping out significant amounts of content regularly and keeping it structured and masheable" you will understand why WordPress is #1 in the world.

And yes, there are plenty of design templates available for SilverStripe. But let's be honest: most of them suck. You just can't go out and spend a few bucks and receive decent design template in exchange. And this is a valid need today, not everyone needs or can afford a custom made design. Of course this is a chicken-egg problem: as SilverStripe gains steam and popularity, we will see the bazaar grow and more template/module/widget providers will emerge.

Of hammers, nails, screws and the Audi V8

"When you are wielding a hammer, everything looks like a nail."

Now it all boils down to identifying the problem and finding the right solution for it. You know these so called experts who come along with a solution even before they fully understand the actual problem. This is why I say: 

"When you are wielding a hammer, either focus on nails and skip the screws or learn to use the right tool for the right job."

You also have to understand that different personas have different needs and therefore a different perspective. There is no "Best CMS", just as there is no "Best Car". You wish you still had your old, rusty pick-up truck when you are trying to bring home that christmas tree in your shiny new Corvette...

One of the cars I owned that impressed me most was the Audi V8. While it was basically a Audi 200 chassis, these crazy Audi engineers somehow managed to squeeze in a massive V8 engine along with almost every available gadget. The result was a totally crammed engine compartment and you literally had to break your hands to get that wrench in place when you had to fix something. As a car mechanic, you would hate this car, because it is difficult to repair and everything takes much longer than it would with other cars. Of course the spare parts are special, too. The prices for the parts and the maintenance costs are sky high. But as a driver, you just love the car because of it's amazing cruising style, or because of the look in your neighbour's eyes when he sees you drive by or because of the image of the brand.

Conclusion

Different personas have different needs. As long as I don't have to pop the hood, I would go with WordPress again. I'd fasten my seatbelts and cruise right away. In any other scenario I would go with SilverStripe. That's because we are a software development shop and we know our needs. Of course, your mileage may vary.

So, when someone asks you the ultimate question about the best CMS, life, the universe and everything - you know the right answer is: 42 it depends.