Horses for courses

Selecting the best tool for the job seems like it should be a common sense decision, right? Those in the know don't mow the lawn with a vacuum, or hammer home a nail with a screwdriver. Although, I will admit, I have attempted the latter. Unfortunately in the world of the web, picking the wrong tool seems to happen more often than it should. Usually against the better recommendation of others.

There are a couple of angles I could have approached this issue from. I could have easily gone down the 'native app' vs 'web app' vs 'web app masquerading as a crappy native app' route. I could have even gone down the 'php' vs 'ruby' vs 'asp' vs 'this months hipster language No. 73' path — I have started heading towards this one in the past but never managed to form the post into anything other than a bunch of bumbling bullet points, still, maybe it is one to revisit in the future. Instead I'm going to keep this simple.

'Blogging software' vs 'Not blogging software'

To begin with let's get one thing out of the way early, this is not a debate about what is or isn't the best 'blogging software'. Everyone has their own personal, or professional, preference. That's fine. My preference is WordPress. Why? I've got roughly eight years of time invested, and experience working with it, bending it to my will often making it do things that really probably shouldn't be doing. It's flexible, easy to setup and run, easy to use, easy to customise. It does what it says on the box.

So, several months ago I was approached to discuss a theoretical future project that would involve setting up a network of blogs — maybe a dozen or so to begin with, potentially more further down the line. The initial question was if our brand-new CMS would be capable of delivering this functionality, the answer to which was pretty easy. No, no it would not. It barely handles basic content. But that's another story, for another time. Second question was "how would you do it?".

Great! I had already been thinking about this exact question, and my response, for months prior to this discussion. So much so that I had already prepared a 15-page "brief" on exactly how — and why — I would do it my particular way and what benefit it would have going forward. This brief, like most things that go 'up the chain', was ignored. As expected. No massive shock. But at the very least it meant I was prepared for this question when it arrived.

WordPress. You want a network of blogs on a platform that allows not-so-technical people to relatively easily manage their own sites, and gives them options to customise (within certain parameters) to their liking? Then, WordPress. That's how I would do it.

The months passed by, due to lack of available time my involvement was really limited to just the occasional brain-storming/picking meeting, much of the other investigation and planning was happily in the very capable hands of others.

It got to the point where it seemed, at least from my semi-outside perspective, that a point had been reached where we knew what was needed, what the goal was and how it could be achieved.

Then IT folk got involved.

Not for the first time, the mention of WordPress, php and, mysql was greeted with opposition. I wasn't really shocked, more disheartened — I'd seen this show before. I wasn't at the meetings that produced this opposition, nor the ensuing 'recommendation' (which I'll get to), but if it was anything like previous occasions the reasoning would have been around things like scalability concerns, lack of internal knowledge, and "hey look, we've got this other thing that we can probably make do what you want, so let's use that instead".

First up. Scalability.

If WordPress scales so badly then how on Earth does manage to run tens of millions of blogs? So yeah, pretty sure it could handle the few dozen we were looking at. The greatest enemy of WordPress' ability to scale will the platform you stick it on, and if I can run 15+ WordPress sites on my shitty shared hosting then surely our internal enterprise-level hosting should be able to handle it. Seriously, take your "scalability" argument and shove it, I don't want to hear it again.

Lack of internal knowledge

*mouth fart noise* It's like they thought they were going to be the ones running it day-to-day. Oh please. All we really needed was a php capable box and a mysql database. After that all they'd have to do was keep the power on. I don't recommend solutions that I don't have the knowledge to implement. Whether or not someone in IT also has that knowledge is kind of irrelevant. I get asked to do things with their random applications that I know nothing about all the time, I'm just expected to work it out. You don't know how to set up a box with php and mysql on it? Fine, work it out.

Let's use this instead

A precedent had been set, I expected this one. Several years ago I was involved in a not too dissimilar project. At the time I think my suggestion was also WordPress. The project itself would have pushed the functionality limits of WordPress, but it would have definitely been possible. But I'd only been around a year or so, so honestly my opinion didn't really hold any weight. IT suggested a product because it could "do everything", and because they'd used it before and would be able to assist. It was selected. The rest is history.

The product, DotNetNuke, was a massive clusterfuck of sadness. Yes, it could do everything, but it couldn't do anything even remotely well. The 6 month project took 18 months. IT provided none of the promised 'help'. The bugginess and near-impossible-to-use nature of the product led to it getting barely touched by users once it went live. Slowly it faded off into the background and died a slow death as yet another project that should have been great but was ruined by the selection of the most horribly wrong of products. In the latter stages of the project and egged-on by people from the DNN community I wrote a lengthy article on just how terrible bad it was.

This time, however, their suggestion is apparently SharePoint. I laughed out loud when I was told this. "Sure, that's ok, but I won't be having anything to do with it". The explanation I was given is that they 'think' SharePoint should be able to "do blogs", no one knows exactly how, but it should be able do it. Ok then…

Tonight, out of curiosity, I had a look at the SharePoint website. Apart from being a very sad looking site, nothing seems to give any indication of it being capable of 'blogging'. There seems to be a bunch of 'apps' that you can add to SharePoint so maybe one of them does something resembling blogging. Don't know, don't really care.

Then I noticed a link in the footer, 'SharePoint Blog'. Oh boy, I'm so glad that I clicked it. It's a blog about SharePoint (snooze), and it's running on… not on SharePoint. It, as are all the other Microsoft product blogs, is using something called "Telligent Community" which, as far as I can tell, doesn't appear to have any real connection to SharePoint.

So, you'd think, that if SharePoint is indeed "capable" of running a network of blogs, that Microsoft would be eating their own dog food crap, and using it for their product blogs. A bit like Google running all their blogs on blogger (assuming they still do that?). But, no, they run it on an entirely different product. That's some confidence inspiring stuff that is.

It is for all these reasons, and few more, that our handful of existing WordPress installs live on an external VPS. Unfortunately an option that doesn't seem likely for this other project due to the potential need to interact with other internal systems.

So what now?

I'd say it is about 99% likely that they'll proceed down the SharePoint path. From that I, genuinely, give it little chance of any success, which is sad. They'll also be doing it without my help. I won't be providing support. I won't be trying to style or customise whatever piece of useless sadness SharePoint spits out. They can ask, but I've already got my response prepared:

"I don't have any knowledge of SharePoint. I don't think it's a suitable solution to the task at hand. And I've already given my recommendation and it was ignored. Again."

In the end, there are many (many, many) solutions for blogging that are infinitely better and more appropriate than SharePoint. WordPress being just one of them.

SharePoint is not blogging software, and quite simply it is the wrong horse for this course.