An overview of blog publishing tools


I'm often asked what blogging tool I recommend for those looking to blog.

The easy-to-use hammer

For a complete blogging virgin, I highly recommend services such as Blogger and LiveJournal, just as long as it is not Xanga. For the love of god, please don't use Xanga. I'm not sure why my friends seem to have some unholy attraction to it. I had to write my own software just to read their blogs.

Anyway, using these services is dead simple. Just create an account and you'll be blogging within five minutes. They require zero technical knowledge, and don't require you to have your own site (although Blogger can publish your blog to your own site via ftp if you like).

The customizable hammer

Sometimes I have geek friends who aren't comfortable with their masculinity if they aren't running their own software on their own server. That's cool. I'm simpatico. I can relate. And it's more fun to talk about the personal publishing platform variety of software, rather than the services, anyway.

Realistically you want to go this route if you the likes of Blogger and LiveJournal aren't flexible enough for you. Perhaps their templating system doesn't allow you to customize the design of your blog to your liking, or perhaps you don't like the way such services handle comments. Whatever the case, running your own blogging software may be for you.

The contenders:

Movable Type

I use Movable Type for my site, although this has caused me enough hassle that I would use something else if I had to do it over again. The main pain involved with using Movable Type is having to rebuild your site every time you edit a design template. If this were easy then there would be no problem (if there were a way to trigger a rebuild from the command line, for instance), but no... As of Movable Type 3.15 rebuilding your site still involves having to login to Movable Type via your browser and navigate a web UI that involves popups in particularly inconvenient spots.

In theory Movable Type provides a way to dynamically generate the pages on your site so that you don't have to deal with rebuilding nonsense. In my experience, this is messy. It involves Movable Type hijacking your .htaccess file, and in the end doesn't work very well anyway.

Overall, I've been less than impressed with Six Apart's development of the standalone Movable Type software, ever since they became fixated on TypePad.

And, of course, unlike the other systems mentioned here, Movable Type is not free as in speech.

So Movable Type is out. I may migrate to another platform someday, after I can adequately abstract my permalink urls.

Blosxom

I use Blosxom for my work blog, and have been quite impressed with it so far. The nice thing about Blosxom is its simplicity. It's essentially a single cgi script, written in Perl. If you know anything about programming, you can read and understand the whole thing in about ten minutes, which makes it very easy to customize and extend. It's the epitome the "Try to solve 100% of the problem or 40%?" principle outlined by Philip Greenspun here (scroll about 2/3 of the way down the page to read what I'm talking about, although whole chapter is worth reading).

The downside to this minimalist philosophy is that a blosxom blog lacks many of the features that you want out of the box (search, comments), but the upside is that plugins have been written for nearly any feature you could possibly want (and if not, it's easy to write your own - see above).

Very clean, very zen, very good.

Wordpress

If you're looking for solution that is a bit more complete out of the box, I've heard good things about Wordpress, though I've never used it myself. The nice thing about Wordpress is that, because it is a complete opensource blogging solution, a lot of web hosting companies can install it for you with the click of a button, making it easy to maintain and keep up-to-date.

Typo

Typo is an excellent choice if you like being on the cutting edge. It is minimalist, like blosxom, and is built on top of the Ruby on Rails framework, which almost makes it cool by default. Again, I haven't used it, but I've heard very good thing. If your server supports rails, I'd give this one a hard look (unfortunately mine doesn't :().