Why I Use WordPress

I suggested the choice of CMS was a philosophical one which began a discussion which put WordPress on the defensive against ExpressionEngine.

I recently got in a Twitter ‘discussion’ where I felt like I was put in a position to defend WordPress as a superior CMS to ExpressionEngine. Not an argument I’m actually qualified to make as I’ve never used ExpressionEngine. I did consider it about three years ago and perhaps if I’d started then I’d be on the other side of the fence. But I decided over a year ago that WordPress was going to give me the juice I was looking for in a CMS and I dived in head first. The truth is I experiment on the web too much to pay an entry fee for every install (EE). I may have run 50 installs of WordPress in the last year for both client and personal projects including demos and tests. That would be a pretty serious expense on ExpressionEngine’s pricing model. Thankfully WordPress is fully open source and free to experiment with.

Here’s some interesting tweets from that Twitter conversation:

[blackbirdpie url=”http://twitter.com/#!/iAmJasonPaul/status/47870309071720448″]

[blackbirdpie url=”http://twitter.com/#!/PXLated/status/47910383712874496″]

[blackbirdpie url=”http://twitter.com/#!/iAmJasonPaul/status/48037270770556928″]

[blackbirdpie url=”http://twitter.com/#!/PXLated/status/48022168314986499″]

[blackbirdpie url=”http://twitter.com/#!/iAmJasonPaul/status/48039051877552129″]

There was a bit more but hopefully you get the jist. Defending WordPress against ExpressionEngine doesn’t happen when I bid for jobs. Usually clients are more concerned with which open source CMS to use such as Joomla, Drupal or WordPress and I’ve come to see strengths in each although I’m strictly a WordPresser for the moment. I’d estimate that it’s difficult to be a master in more than one CMS as a web developer, although probably not impossible. The time one puts into developing on a CMS cannot help but create a kind of myopic point of view on how to develop for the web. So I kind of do understand where PXLated is coming from. He’s invested serious time into EE, he has control of it and intimate knowledge of how to achieve results. That’s similar to how I feel about making sites on WordPress. But not exactly. His point about surgery and makeup is actually quite true. I prefer it that way though. It can be like working on a special car. After I’ve customized a WordPress site I definitely feel like I’ve built something. Often there are moments when I feel like I’m starting from scratch with WP. It’s very rewarding to be able to assemble the right mix of code/plugins to make a site do exactly what I want.

I do have a feeling that he’s right in a way. For certain situations, building a site on EE would be easier and faster than it would on WordPress. WordPress’s native format is a blog structure. If a client is looking for a blog or publication website it’s hard to see how they would choose any other platform besides WordPress. A lot of sites are smaller and more like ‘brochure’ websites. While WordPress may be competing with other CMS’s to prove it’s the ideal platform for page based sites the truth is static content is a cakewalk on WordPress. EE has something called Channels which is extremely helpful in structuring out a website (Not everything should be categorized as a Page or a Post…the native WP formatting). WordPress lacked this kind of taxonomy until version 2.9 and thus wasn’t taken seriously as a CMS until it allowed for Custom Post Types and Taxonomies. Even now these crucial features require either extra functions or plugins to implement. I have a feeling these will be baked into the next major release of WordPress which will make it an undisputed fully functional CMS. Despite the fact that WordPress is the most used CMS on the web there are detractors.

But that’s all boilerplate. I’m not really an expert with stats or on every CMS. I’m a designer and WordPress developer who is also a user. This is important because in addition to it’s usefulness in my professional life, customizing my WordPress sites is also now a hobby for me. This blog/site is a good example. I’m sure it’s evident that I haven’t designed it despite the fact that I earn a living as a web designer. Aside from time constraints (isn’t it hard to design a site for yourself?) it’s strategic. I use this blog as a test platform for all sorts of new plugins, functions and features. I intend to make this site an archive of my entire creative life. It’s a personal project. I have various interests that range from art, tech, music and ideas. How to categorize these things? Well, I wanted to be on an evolving platform. I love that when I have an idea or have seen a new web functionality on the web I can Google around and find either the perfect plugin or function to implement on my blog. It’s actually not always as easy as it sounds. But it’s fun for me. The chase of finding that piece of code that’s going to expand the capabilities of my website. This tenacity to build and expand my personal websites for fun by experimenting has taught me so much about usability and given me great strategic insight into the functionality a site can and should have. This hobby creates useful knowledge that I then apply to client jobs. This kind of integration creates a special appreciation for the work (and play) I do.

I’ve read that some EE designers love that they don’t have to muck around with PHP code. Seeing how powerful and accessible WordPress is I feel the opposite. I’m inspired to learn more code so I can contribute something to the platform if I have my own take on a specific functionality. Seeing and experiencing the enthusiasm and vibrancy of the WordPress community (I went to my first WordCamp NYC last year) I have to say that I feel even more inspired to dig in and help WordPress grow and improve. I got the sense that WordPressers feel they’re involved in something special. Matt Mullenweg is an incredibly pure face/figurehead for the platform. Here’s someone who is arguably as important as Mark Zuckerberg (same age too) yet has chosen to vehemently adhere to the open source values he had when he first forked WordPress (at the age of 18). I doubt he’s rich (but I bet he’s comfortable) and he’s shown something vibrant and innovative can be created without monetizing the daylights out of it. More importantly he’s shown that open source success can surpass commercial products in an overwhelming way (not necessarily in a monetary way.) All these developers, designers and amateurs working and hacking at this one thing is really yielding some amazing web innovations.

Why do I use WordPress? It comes down to community, accessibility, scalability, usability, fun, freedom and yes…philosophy.

30 thoughts on “Why I Use WordPress”

  1. Why do I use WordPress? Security, developed by professionals, client friendly, consistency and reliability…. oh hang on… WordPress is none of those; only ExpressionEngine fits that description. Ah well, WordPress is free – the client doesn’t need a secure a reliable CMS. Good choice.

    1. I don’t understand why you’re so grossly misinformed. WP’s hq is Automattic which is run by incredibly talented professionals doing amazing development in addition to quality control while harnessing the power of thousands of other developers in the open source model. WordPress undergoes regular security improvements, is incredibly consistent as well as totally reliable. If it wasn’t those things it wouldn’t be the top CMS for many of the world’s top websites by a long shot. It is true that for WordPress to be a success on a larger website it requires experienced web developers to be on the job. But that’s a given with any large site. I really doubt you’re going to do a fortune 500 site on EE and just walk away without building in ongoing support. I honestly don’t need to defend WordPress against EE and I won’t because EE is not even considered a ‘competitor’. I’ve read that it’s ‘apples and oranges’. What I’m worried about is people confusing your misinformation about WordPress as truth. When was the last time you built a site on WP?

      1. Can’t argue with numbers:
        http://secunia.com/advisories/search/?search=wordpress
        http://secunia.com/advisories/search/?search=expressionengine

        As for whether the most popular thing is the best thing… well Microsoft make the most popular OS, Born This Way by Lady Gaga is the most popular song (http://www.billboard.com/charts/hot-100#/charts/hot-100) and Ford make the most popular car http://blogs.cars.com/kickingtires/2011/03/top-10-best-selling-cars-february-2011.html

        Does “popular” == “best”???

        Point taken about comparing the two systems though. WordPress is much better for blogging – it just seems reckless to build professional websites with it.

        1. Any WP dev knows that those plugin stats are meaningless. 800 or so EE addons vs 10000+ WP plugins (on an open source model) so of course you’re gonna be able to pull up that kind of stat. The popular = best argument just means you’re responding with tunnel vision.

          You’re not a WP developer and refuse to see it as a legitimate platform. I don’t take issue with that. But the fact that you’re using skewed logic to knock down WP is irritating. Using words like “reckless” to describe using WP as a CMS is pretty bizarre. When’s the last time you built a WP site? You just can’t say that stuff without some serious horror story to back it up. It’s not about popularity. It’s about what’s working best for people. It’s incredibly easy to move databases these days so why stick with WP if it was so bad?

          My post is about why I use WP. It’s about more than just a task based tool. I have built robust sites using WP as a CMS. To do that means you have to go deeper and be a real developer. Be able to fundamentally change the platform for any kind of site. From what I’ve read EE makes it easy for a designer to ‘plug and play’. That’s great for some sites. Is anything really possible in EE? I’d bet you can push WP a lot further than EE. You can have it all if you’re willing to do the work (and/or the research). A good WP developer is willing to go there. If they’re not then they’re probably not a good fit to make WP sites professionally. Admittedly there’s a threshhold of functionality for certain sites that is better suited to Drupal (open source) or Magento (open source).

          1. I like your passion Jason. It will be interesting to hear your thoughts on this post when you decide you’re ready to branch out beyond WP and try a grown up CMS. Seems like you don’t like EE much (fair enough, it’s not for everyone) but Magento and Drupal would both be great choices (for e-comm and ent dev respectively).

          2. my point is that WP is a grown up CMS. It’s roots as a blogging platform make it an easy target to pick on. But paradigm shift, blogging/syndicated content is why people keep coming back to the internet. And ultimately much more crucial than static pages. So you’re going to see in a shorttime why WP is the undisputed CMS winner precisely because of it’s roots in blogging. It’s perfected the blog…the other stuff is well…easy. They may not have intended it as a full CMS but something about the way they’ve built WP makes it a appealing to content managers and developers alike. And all these developers have pushed and pushed it and those changes get integrated into core and now it is a full CMS.

            I definitely didn’t say I didn’t like EE. I’m a tinkerer. Like I said in my post, this is both hobby and profession. With an EE fee for every install and every add-on it’s unrealistic for me to tinker with it like I can with WP.

            The greater point is all the thousands of developers tinkering on WP is precisely what’s made it great and what makes open source great. passion. fun. Show me that kind of vibrancy in the EE developer community and I’ll get on board too. If I get unlimited free installs of EE I’ll be the first online to try it out. (I’m not against paying for service so if that’s part of the deal great…just let me touch it).

          3. I think you’re losing me Jason. Thousands of people tinkering with the source code sounds hazardous to me. I’d be hoping for a concise plan being implemented by experts in an organised fashion in order to produce a stable and professional product.

            In terms of paying for software – you can take it or leave it. I like the idea that someone was paid to build and support the CMS we develop on. It seems you like to rely on volunteers. Fair enough.

          4. Well, it’s more centralized than that thanks to these guys who develop the core http://automattic.com/
            There is a team of experts addressing all those crucial issues. If it wasn’t for that team WP would probably be more like the chaos you’re under the impression that it is. But they harness the contributions of all these other developers who are encouraged to submit to the core. It sounds like a crazy dialectic but someone actually is minding the store.

            but I think we’ve come full circle. For me and countless WordPressers it’s about philosophy (not totally, but a big part). For you it sounds like it’s about a reliable tool. I feel that WP’s growth can’t help but be more rapid and dynamic under the open source model. It grew astronomically in 2010 mainly because it added needed CMS features in v.3. That’s when I decided this was really going to work for me.

          5. Ah indeed I agree we have gone full circle; to this extent, I still wonder if in time you’ll perceive rapid growth and the volunteer base of WP to be a “good” thing in time… still, I’m glad this suits you now – diversity is what keeps the Internet strong.

            Thanks for the chat.

    2. For some examples of what’s possible with WordPress as a CMS check out the showcase:

      http://wordpress.org/showcase/

      It’s true that WP had very humble beginnings and was focused mainly at blogging, but it’s evolved hugely since then. It’s a secure, scalable, and a joy to use, which is why the NY Times, Wall Street Journal, CNN, Wired, BBC, Time, TED, TechCrunch, CBS, and many more use it.

      To understand why WP’s community-oriented model has been so successful, think of the Wikipedia vs Encyclopedia Britannica.

      1. Great to hear from you Matt! In my view blogging is the life-blood of the web and those humble blog beginnings are the reason for WordPress’s overwhelmingly widespread success. That focus on a simple way for any user to setup a site and publish continuously as the nucleus is why I see WordPress as a movement which is bigger than CMS’s. Truthfully WordPress shouldn’t be used for all sites. But for sites where content is the premium I think WordPress is king.

      2. Matt – Betting that all those big sites you mention are on premium WP dev/support contracts with a lot of your premium devs working on them – correct?

  2. having never used EE i’d be totally uninformed in making a comparison. philosophically, i do love the WP open-source model. thousands of people constantly pushing to improve it is what has taken it from a simple to blogging platform and is moving it closer to a fully-fledged CMS.

    “It comes down to community, accessibility, scalability, usability, fun, freedom and yes…philosophy.”

    Agree 100%

  3. Developing on both platforms, I completely understand your views. The tinkering and experimenting you describe is most def a prerequisite when developing on the WordPress platform. Some like it, some don’t. I don’t. 🙂

    The way I approach building an EE site is much closer to how I work as a programmer; methodically planning and setting up data types, identifying and setting up channels for publishing content into, and starting with blank templates, adding only the functionality necessary to do the job. When doing wordpress sites I seem to spend most of the time finding and testing plugins, trying to figure out how to use the post/page/category format, and hacking premade templates to achieve what I want. I hate that… 🙂 I know that I don’t have to do all of this, but with WordPress it seems alot harder to start from scratch..

    So yes, it’s probably just a question of philosophy and background. It’s really a shame that EllisLab don’t have some kind of free version of EE, though, cause I think alot of ppl would have gotten their eyes up for this great CMS if they got to try it out.. 🙂 But, everyone should choose a tool that they’re comfortable with, that’s what makes good results.

    1. If you’re developing on both platforms then you’re definitely the guy I want to talk to. My impression is that you’re going to got more features and flexibility (through plugins) on a WordPress site. I can literally imagine a feature that I would like on my WordPress site and just do a quick search in the WP plugin repository and will usually find several options (often free) that will suit my needs. Also, I find WP plugin developers incredibly responsive. In some cases I’ve been encouraged to participate in the dev of their plugins to facilitate a better plugin. It also wouldn’t be hard to contract a plugin developer (often at very affordable rates) to produce one of my own original plugin ideas. This is the kind of interaction that makes me fanatic about WordPress (community and accessibility). Yes WP isn’t perfect but the fact is that I’m encouraged to help make it more perfect.

      Going back to EE, it’s very hard for me to imagine that this kind of activity and community with regards to Add-ons exists in the EE community on such a broad scale. The fact that there are only a fraction of EE add-ons compared to the many thousands of WP plugins makes me think I just wouldn’t be able to do everything I could imagine on EE. What’s your impression of EE addon functionality? Have you ever hit a brick wall when you’ve needed functionality in the form of an add-on?

      My superficial impression of EE sites is that the EE sites are often very beautiful but seldom concerned with social connectivity. I rarely (I mean never) see modern share tools, Disqus or even Facebook Graph stuff on EE sites. I’m sure these things do work on EE but I suspect there’s something about the commercial walled-garden approach that also changes the approach to building a site. Dare I say my impression of EE sites is that they are elitist while WordPress sites are friendly and welcoming.

      1. Numbers can be deceiving. Just like you can’t judge how secure WordPress is based on the number of reported security vulnerabilities vs the same for EE (as someone linked to in another comment), or how many times wordpress has been seriously mass-hacked, you can’t really use the number of plugins to say anything about the actual “value” of the available plugins. 🙂

        My impression of the wordpress plugin community is that, and I’m very sorry if this feels like an insult to someone but, there’s alot of passion and not *always* as much skill. I’ve done my share of wading through loads of useless plugins in that database, before finally finding something that actually works. Don’t get me wrong, there’re lots of really well-made plugins out there, but they tend to drown a bit…

        The EE plugin community is, as you’ve observed, much smaller. And, to get the really useful plugins you need to pay some dollars most of the time. But, the fact that there’s actually a working plugin eco-system where developers can actually make (at least some) money on their work, make wonders for the *quality*, in my opinion. There’s some plugins, like the stuff that Pixel&Tonic (http://pixelandtonic.com/) makes and Structure (http://buildwithstructure.com/), which adds functionality that’s really, really well made. Even better than what I’ve seen in CMS’s 10 times more expensive than EE.

        When I’m looking for plugins, it’s not a plugin for Google Analytics or Disqus I need. I don’t even need a plugin for SEO, cause I know how to make my site SEO friendly as long as I can build the html exactly how I want, and combine information exactly how I want. What I need is really fundamental functionality like Matrix for EE, which empowers me to give the client the ability to easily publish really complex content, in an as intuitive as possible way. Or Structure for EE which takes the whole structuring (duh!) of the website to another level, combining different content types seemlessly. That’s what really adds value to my projects.

        Just to test it, I checked how long it would take to integrate Disqus in my site. Approximately 10 mins, most of it signing up for the service and getting the javascript embed code. This I could paste into my EE templates, and voila.. Up and running..

        Regarding your impression of EE sites and social connectivity; I’m pretty sure this is only based on the actual sites you’ve seen, and not what’s actually possible in the different systems. There’s no way one could argue that it’s harder or easier to implement Facebook Connect in one or the other – it’s easy in both. I think this has more to do with the types of sites made with WordPress and EE. A huge portion of wordpress sites are blogs, news and community sites, where social functionality is far more useful and natural than on most other types of sites. On a corporate webpage, which is more what you would use EE for, that kind of functionality isn’t as useful.

        But, I really don’t think it’s worth making a WordPress vs EE war out of this. Both systems has it’s strengths and weaknesses, and as I said earlier, I agree that it has alot to do with philosophy and background. Coming from a background as a programmer, the EE methology makes more sense for me. But I have no problem seeing that for people without a programming background, EE will seem really, really hard to get into, compared to WordPress. There’s beauty in both. 😉

        I have four projects line up for the next two months, two EE projects, one custom Symfony application, and one WordPress site. I think being able to choose, enables me to deliver more value to my clients. That’s what it’s all about.

        1. I actually pretty much agree with you on everything you’ve said. I’m well aware of the multitudes of mediocre or poorly made WordPress plugins for sure. I’ve been at it long enough to have my own repertoire of tried and true plugins I always use. I only get a little defensive when it’s suggested that WP doesn’t cut it as a CMS…and while there could be a lot of customization involved in tailoring it to a client’s needs…looking around the web and seeing how many great non-blog oriented sites are using it gives me confidence that it is a good CMS. For my own client projects there hasn’t been a project I’ve run into where I thought using WP was a mistake.

          But I keep having to take this back to philosophy…WP is also a hobby…I can install it and break it and do whatever I want with it as I experiment with it on my personal sites where there’s very low stakes. This is how I learn and I use this cultivated knowledge I can use later on client projects. EE actually sounds fantastic from what I’m hearing from everyone, but the commercial framework does not seem conducive to play and experimentation (how I think the web evolves). Unless I’m convinced otherwise I’m unlikely to invest time in becoming an EE developer. That of course could change if EE suddenly became more in-demand with clients. Judging by the passion of these EE developers posting on here I wouldn’t rule it out.

  4. Since I seem to have started this on Twitter…
    Several things…

    1) “clients are more concerned with which open source CMS to use” — I’ve never had a client (where I’m doing the dev) bring up open source. I’ve had one client with internal developers that chose Joomla even though I didn’t think it would work – it didn’t – but other than that, nada. The difference could be though that I’m always working with marketing (strategic) vs tech departments.

    2) “For certain situations, building a site on EE would be easier and faster than it would on WordPress.” — For me, it’s every case. It’s not that I haven’t looked at and investigated WP. I have lots of friends that swear by it – But, I’ve sat down with them and point blank asked them if they could build the sites I do using WP and the answer in “every” case has been either “no” or not without a lot of “difficulty”. And when they’re spending their time shoehorning WP into a CMS for a client, my feeling is the client is getting ripped off. It’s costing the client more in dev and costing the client in ongoing site babysitting fees.

    3) “The next major release of WordPress which will make it an undisputed fully functional CMS.” – Doubt it as the overall underlying structure is “blog”, everything else is a bolt-on even if built-in.

    4) “some EE designers love that they don’t have to muck around with PHP code” — Yes, most don’t but that’s not really the point because if one wants, you can. Unfortunately that’s not the case with many CMS/blog tools, you have to muck about. With EE, if you want to get down and dirty, there’s nothing stopping ya.

    5) “I’m inspired to learn more code ” — Since I don’t have to muck about, I’m inspired to build better sites overall, putting the effort on
    the proper organization of both site and content, usability and client objectives. And doing it with standards compliant front-end code.

    6) “I got the sense that WordPressers feel they’re involved in something special” — EE has just as enthusiastic a community so don’t feel too special 🙂

    7) “amazing web innovations” — Huh” You still talkin WP?

    8) “and yes…philosophy” — And from everything you’ve written, that’s the biggest for you. It’s that open-source thingy.

    And to close…
    I stand by the radio vs TV star analogy 🙂

  5. As someone who has used both, WordPress for 5 years, EE for 1.5, I find this whole conversation asinine.

    Yes, WP is a CMS, but is it a good one. Given that I’ve had to hack out a lot of functionality that was so poorly documented in WP that it took me two weeks to get right, and I was able to recreate that functionality in 1 day using EE, the value to me is how quickly I can deliver what I need to my clients.

    The fact that I can save my clients days worth of billing hours (or not have to eat it) is worth far more than the $300 (+plus any plugins that I’d purchase) in real dollars.

    WP is definitely better at a few things like File Management, a few small aspects of user management, and updating the software. But given that most of it’s CMS-ness comes from unsupported plugins and lack things like an out-of-the-box set of functions for calendar events (EventsManager is a joke) and record-relationships I am always wary of experimenting as I’ve often had plugins cause serious problems across a site, and forum feedback is rarely forthcoming in a timely fashion.

    I am building several projects whose scope I’ve tried with WP, and it was a nightmare. EE isn’t perfect, but I’ve built enterprise applications out of it in a week. With WP, I simply haven’t been able to get them across the finish line without days of garment-rending and frantic forum posting. EE has been a smoother ride in almost every way.

    And to be clear, I’m writing this from Ubuntu. I am all about the spirit and philosophy of open-source community-built software, but things have to work well, and get built quickly. WP has let me down on several projects from this perspective. It is technically a CMS in that it manages content, but that doesn’t mean that it means what people think when they think Content Management System.

    …oh, and BTW, ExpressionEngine is built on open-source software, and the source code of the platform is available for review by anyone. So it’s not as completely in the commercial camp as some might think.

    My $.10,
    Sam

    1. It probably is asinine. My suggestion is that WP is still world class in the right hands. But I never actually said it was better (because I can’t I haven’t used EE). It’s very possible that EE is better for what most clients expect in a CMS. My only reason for writing the post is to articulate reasons why I use WordPress and those reasons do come down to philosophy. I said this before, if EE’s model involved allowing me to experiment with as many installs as I’d like and encouraged hacking into it (even by ‘amateurs’) than I would definitely be using it as another CMS tool. But it’s niche is a commercial specialty. That just doesn’t fit how I prefer to develop and create for the web at the moment. Part of this is fun and the fun keeps me engaged to learn new things and then that knowledge goes back into client work. I admire how you’ve got more than one CMS specialty and that’s a place I hope to get to as well.

      1. Well, I certainly LIKE WP, and still use it for several clients, depending on the project. But, as you mentioned getting defensive above, I tend to bristle at a lot of the labeling of what is or is not a CMS, or what’s the ‘best’ whatever at something.

        At the end of the day, it doesn’t really matter. If people have a client base that is satisfied by WP, then there isn’t a whole lot of incentive for replacing the platform with something that costs money and my preference or products SHOULDN’T persuade people away from what works for them. Our client base tends to want things that pushes WP a little out of our comfort zone from the perspective of the value of our time versus the value of the deliverables, and that’s how we make our decision with regard to what is a better use of tools.

        A few distinguishing factors that matter to me personally as a coder / IA designer:

        1) Control over code. WP’s code output has gotten A LOT BETTER over the past year or so. The savvy can drill down into config files, the functions.php file, or create child theme overrides to bend that HTML output to fit their coding style. That said, I prefer EE’s strategy of not trying to predict usage. I can basically custom craft my template files how I see fit and just drop template tags like {title} or {my_custom_field} wherever I want. This strategy kinda makes the widget and child-theme systems seem unnecessary at best. While WP’s default settings have a lot of SEO best practices in mind (a serious boon for those who don’t have the time or inclination to delve into those ever-so-dark arts), I find the process of overriding what WP wants to do out the gates to be time consuming and tedious. If you’re more concerned about getting content out the door right away, and are just going to replace some CSS, it’s hard to make an argument against WP, but if you have something particular in mind, WP’s default methodology is annoying.

        2) The loop. Knowing where WP has come from, what they’ve done with the loop process is pretty impressive, but the includes structure they’ve set up is pretty painful. It can be learned, and once expertise has been gained it’s not too obstructive, nor does it fly in the face of best practices from a PHP-from-scratch perspective, but trying to nest loops, getting multiple loops on a single template, and relating posts to what’s in the current loop is so painful that I’m surprised people are satisfied with it at all.

        3) functions.php. Knowing what’s supposed to go in the functions.php file is not common knowledge, nor well documented, and so many themes take so many different strategies that building a ‘best practices’ for how to use the functions.php file would be of great benefit to the community. Since so much effort (and admirable effort at that) has gone into abstracting the administration tasks in WP’s excellent Admin Panel, I’m kinda left scratching my head that abstracting the functions.php hasn’t been slowly worked into the Admin Panel. I think I can say with confidence that the majority of custom work that would go into a more sophisticated WP site happens at some level in this file. The structure and understanding that most WP folks have with regards to the functions.php file is easily correlated to the point where people drop off in terms of intimidation.

        There’s more, but I don’t want to bore anyone. Hopefully, some of the WP folk can take note of the above an show me the error of my ways, or take note as I would LOVE for WP to be a better option for some of my higher-dollar clients. It’s just not quite there for the reasons above.

        1. One quick addendum, once you’ve purchased a copy, you can make dev installs as you like, they just can’t be publicly available sites or provide commercial value to you in private (i.e. you can’t make an intranet application for your company if you’ve purchased a license for a client’s unrelated website.

          It was a little bit of a climb to get our hands on a lot of the baseline plugs we now use on most sites to be sure, but we regularly wireframe our sites for clients using dev copies, they just can’t go live until they’ve paid for their licenses. But showing them what it looks like and saying the licenses for this value is $800 tends to go a lot further than saying I can do that, but it will cost $2000 of my time to implement. Other people’s mileage will most certainly vary.

          1. This is a key point.

            One of the biggest arguments against EE is often the price, but when working on client projects, it’s very straight-forward to just build that into the project quote.

            The reality is, with a great add-on you get battle-tested code for $50 or so that might otherwise cost you hundreds or thousands in internal development costs. Those add-ons come with first-party support as well, the value of which should not be underestimated when something breaks and you need it fixed *now*.

            Yes, many (most) WP plugins are free… But, you usually get what you pay for. Many WP plugins suffer from buggy code, lack of support, or just limited architecture (one thing done in one way).

            Free is not always the best option.

  6. Hi Jason,

    For another perspective from the other side of the fence, you might want to check out my email-thread-turned-unintentional-blog-post on WP Candy: http://wpcandy.com/thinks/about-the-wp-vs-ee-pdf

    Keep in mind, this was written 5 months ago, pre-WP 3.1. Both WP and EE have matured since then… However, I do feel most of the points still stand.

    As many have pointed out on this thread, the most fundamental difference between WP and EE is the assumption (or not) of how site data is to be structured and used:

    EE is designed from the ground up to facilitate a “blank canvas” approach. Plugins (or add-ons, as they are called in EE), while fewer in numbers, are designed to allow devs to create their OWN solutions.

    Even if you have never used EE, a quick browse through the options of a popular add-on developer should help you understand how and why EE add-ons are generally more extensible than WP plugins: http://www.solspace.com/docs

    In addition to delivering a specific result in a specific way as many WP plugins do, EE add-ons give devs the tools they need to design their own solutions. This is a huge, absolutely huge difference.

    For a collection of what is possible with EE add-ons, see: http://www.devot-ee.com

    By contrast, WP makes a lot of assumptions about how your site must be structured — it has to, in order to maintain functional consistency across its robust and massively popular theme ecosystem. Because of this, in many ways WP has become a victim of its success, in that the massive availability of themes has reinforced a fairly rigid conception by design.

    WP 3.1 makes big strides to offer more options beyond “simple blogging”. And some WP themes impressively extend the core beyond this already. But as many have noted in this comment thread, developing a non-blog-like site in WP from scratch is, at best, very much about swimming upstream against these assumptions.

    However, the rigidity of the WP approach has given the world thousands of high quality, one-click-install “plug and play” WP themes, something EE cannot and will never duplicate.

    The two are not at war, IMO… They occupy very different design spaces, with a relatively small overlap that seems to cause a lot of heated debate over which is “better”.

    As I concluded previously in my aforementioned post, choose the right tool for the job!

    1. The most compelling case for EE yet. I must say I didn’t mean to start a which is better war, I just wanted to hold the line that WP is a good CMS solution. But you’re totally right about the assumptions of WP. Most of the client work I do is creating child-themes that often have to create new structure to the dashboard. With every project this seems to get easier and easier which I attribute to the dynamism of the Opensource developer community. When talking strictly about structure I’m persuaded by your WP Candy post that there are going to be projects that EE is going to be better suited for. (you’ve suggested WP multisite is limited compared to EE. I’ve done a project on WP multisite and found it very comprehensive and quite well done).

      But…for my own personal projects, where experimentation is key I’m not persuaded to go with EE. It ultimately comes down to plugins. For obvious reasons the blog paradigm is very good for personal projects. The majority of WP plugins enhance blog functionality. I can literally have an idea to enrich my content and do some quick searching in the WP plugin search and find a handful of similar plugins to experiment with to add to my site. I have no doubt EE is full of extremely practical and useful add-ons for client work but I’m not convinced that I could find unusual, fun and even groundbreaking add-ons like I do for WordPress. I feel ultimately this kind of activity is where the rapid evolution of WordPress comes from. The growth I’ve witnessed in WordPress over the last year is what’s keeping me vested in the platform.

      1. Yup, network (multisite) admin was added in WP 3.1, after this post was published.

        I think your conclusion is a good one: WP plugins provide a tremendous wealth of ‘turn key’ functionality without the need to roll your own. The WP developer community is unmatched for this. For many personal projects or blog-like sites, yes, this absolutely makes sense and for these sites, WP is the simplest, easiest and often best solution.

        EE is best suited for projects where you need to execute a particular idea in a particular way — as you point out, often for client work. EE add-ons give you the tools to build what you need very easily. That’s a very different world!

Leave a Reply