Friday, February 23rd, 2007
I’ve refrained from blogging about Six Apart lately, because I have nothing positive to say about them or their products right now, but I’m afraid I can’t let their latest marketing email pass without calling bullshit.
I have spent the best past of the last four or five months listening to various friends struggling on a daily basis to keep Movable Type up and running. In fact, if you’re a regular reader then you’ll have experienced for yourself some of the problems that Corante have had with MT: the slowness, the failed page loads, the inability to post comments and, at one point, Strange’s total absence. I know of at least four large commercial installations of MT that have struggled - and, at times, failed - because Movable Type simply did not scale. (Although the new Rebuild Queue has helped.) I have personal friends who have had significant problems with MT, even though their sites are relatively small. And I have consoled more than one developer as MT saps their will to live, with significant bugs in 6A’s code being found and, eventually, fixed.
(Note: I am not going to name names, other than Corante’s - you knew about that anyway. Businesses in particular seem to be very wary of admitting when they are having software problems, but I am talking about household names both in the UK and the US who are having problems, and not small ones.)
With all this in mind, I find it totally disingenuous of 6A when they write:
We talk a lot about helping bloggers succeed with Movable Type, and that requires us to also focus on an important rule: Failure Is Not An Option.
You see, one thing Movable Type users often have in common is that, whether they’re writing a personal parenting blog for friends and family, or they’re publishing their opinion on case law for a law blog, they just can’t accept downtime on their blog. Fortunately, Movable Type was designed from day one to be super-reliable, standing up to the heaviest traffic load, even if you get linked to be a huge website.
This is nothing more than marketing department spin. MT is not super-reliable. If it was, then I wouldn’t keep hearing of yet another blogger who has abandoned MT, or another company that’s fighting to keep its MT installation going.
Six Apart is talking about MT as if it’s only used by individual bloggers, and that the only problem is when you get linked to by a big site. But whilst there are plenty of individual bloggers who are having problems, there are also business who have paid good money to MT for a commercial licence and are now finding MT to be a liability. And it’s not necessarily a big link that’s causing the problem, but fundamental flaws in the way that MT deals with spam and comments, and other bugs in the code that frankly should have been picked up years ago.
The spam problem, as I understand it, is that MT doesn’t differentiate between a spam hit and a proper comment until it has hit the database. It does the same amount of work in both cases, and the only difference is where that comment eventually turns up: on your blog or in the junk folder. So if your blog is hammered by spammers, the database does the same amount of work as it would do if it were hammered by real commenters. Of course, a spambot can hit your database with more comments more quickly than a human being can, and that alone can bring a blog down.
I heard of one case where, every time a comment was made, it caused 250mb of data to be transferred between servers. Scale that up to 100s or 1000s of spam comments, and suddenly you have the kind of load that can melt a server.
So no. MT is not super-reliable, and it cannot stand up to the heaviest traffic loads.
Six Apart go on:
How does it work? Well, unlike most blogging tools, Movable Type supports two different ways of publishing your pages — it can look in your database and choose which posts to display each time someone visits your site, or it can just generate a regular HTML web page that gets displayed without having to touch your database. That’s what we’re talking about when we say Movable Type supports “static” or “dynamic” publishing — static publishing doesn’t talk to your database every time someone visits your blog, and it’s the default in Movable Type. We let you choose between both so you can set the right balance of performance and scalability. (Static publishing takes longer for you as an author, but less time for your readers — so if you’ve ever waiting for your site to “rebuild”, you can take some consolation in the fact that your readers will have less of a lag when they visit you.)
Aaah yes, the rebuild. They talk as if this is a good thing. The trouble with rebuild is it’s really not very efficient, and frequent comments cause superfluous tasks to be queued for the rebuild, so you end up wasting a lot of server capacity. God knows the number of times I’ve sat there, waiting for a blog to rebuild… and waiting, and waiting, and waiting.
If you have the very latest version of MT, you have Rebuild Queue, but if you don’t then it doesn’t matter whether your site is static or dynamic, the problem is total comment load, including both spam and valid comments.
Most other blogging tools don’t do rebuilds the way MT does, and I can’t think of another tool that I use that suffers as much from bugs and downtime as MT. Doing things differently doesn’t mean you’re doing them right and everyone else is doing them wrong.
Now, if you have a huge farm of servers and lots of technical staff, you can make dynamic publishing work at very high traffic volumes, too. In fact, our LiveJournal team here at Six Apart invented a lot of the open source technology that makes that work — the people behind sites like Facebook and Digg and Wikipedia and our own Vox use it, too. But if you’re running on a regular web server at a standard hosting company, they’re going to get kind of annoyed if your blog is hitting the database thousands of times just because you wrote a popular post.
Most commercial installations don’t have big server farms, nor do they have lots of technical staff. Yet even if you do chuck a few extra blades and a couple of developers at the problem, it’s still difficult to make MT work in either mode, static or dynamic, if you’re being hammered by spammers. Again, writing popular posts isn’t the problem. Serving pages isn’t the problem. Comments are the problem.
Now, it’s very easy to blame the spammers, but the sad fact is that spammers aren’t going to go away, and tools have to be built to withstand their onslaughts. MT isn’t. It didn’t matter how many servers you threw at MT 3.2x, comment spam could still kill them.
Oh, and just to nitpick… all that lovely open source stuff from LiveJournal? Well, let’s remember that minor point of fact that 6A bought LJ for its open source goodies. No sneakily trying to claim credit for LJ, please.
You might’ve seen this effect already — ever check out a link that’s been promoted on a big site like Digg or Slashdot and been faced with a “database connection error” when you visit the blog that got Dugg? Well, Movable Type is designed to prevent you from ever having to face that problem.
I feel like a broken record. Spam, guys, spam. Not the Slashdot Effect. (For the record, I’ve noticed that the Slashdot Effect is nowhere near as strong as it used to be anyway.)
For more tips on how to make sure your blog is performing as reliably as possible, our community’s put together some resources:
* MT Wiki
* Performance tuning Movable Type
* Enabling FastCGI
* Movable Type System Architectures
MT was always a tool that you needed to have a reasonable amount of expertise to install. Then they made it a bit easier, so you didn’t need to have quite the developer chops that you used to. Now you need to be a developer again to make the damn thing work. Make up your minds, 6A. Either MT is a developer tool or a consumer tool - you can’t keep wavering between the two.
And of course, we haven’t yet achieved this goal of making blogs failure-proof. Some of the steps for making a Movable Type blog bulletproof are too obscure or confusing. So we want to collect your feedback on the questions and concerns you have about the reliability of your Movable Type site — if you’ve ever missed out on some page views or potential readers because your blog wasn’t reachable, let us know or briefly summarize your story on this Movable Type wiki page.
OK, so 6A haven’t achieved their goal of making blogs failure-proof, why spend five paragraphs claiming they had?
If they want to understand where the problems are, they should start offering some support instead of expecting the people they’ve let down put the time and effort into writing it all up for them on their wiki. I know of people who have paid good money for MT who have had to fight to get 6A’s attention for support - 6A have complained when people ‘don’t use the ticketing system’ when the ticketing system was in fact broken. Hell, I even know of companies that have had to fight to pay them for a licence to use their software as per their terms and conditions. What sort of way is that to run a business?
Give proper support to the people whose MT blogs are failing, and you’ll soon gather all the stories you need to figure out what’s screwed up with MT. Instead of asking us to put the effort in, why don’t you, for a change?
We’ll start blogging about the reliability stories we’ve heard, both where MT has held up under pressure as well as where MT didn’t do what you’d expect, and how to fix it. Until then, you can help by pointing us at examples of Blog Failure, whether it’s on Movable Type or not, and we can all work together to help solve the problem.
Frankly 6A’s marketing department should be given, at the very least, a strong talking to for this email and especially the first and last paragraphs. Why should we do your work? It’s not the consumer’s job to figure out what’s wrong with your software - that’s your job, and if you provided decent support you’d have most of the answers by now anyway.
MT 3.34, released on 17 Jan 2007, has helped a few of my friends and contacts, but they are still having to do significant work to get all the plug-ins installed and working efficiently. Spam is still a problem. FastCGI gives a perceived speed increase, but frankly is a bit like faking it.
And whilst Rebuild Queue helps, it comes too late for many individual users and large MT installations. In commercial settings, MT’s damaged reputation has rubbed off not just on other third-party blog-related tools, but also on those evangelists who championed blogs in the first place, obscuring blogs’ benefits with serious performance issues that blot everything else out. It also makes it much harder to sell other Web 2.0 applications because of the fear that they too won’t scale.
The truth is that 6A have dropped the ball. They abandoned MT and their users, and their lack of support and updates has caused significant problems for even those people who are paying to use the software. Instead of keeping on top of MT and ensuring that it can cope with a rapidly changing environment and increasingly sophisticated spammers, they’ve spent the last two years focused on Vox.
Personally, I find it hard to have faith in Six Apart’s commitment to developing, improving and supporting Movable Type, which is why I now advise clients to avoid it at all costs.