Section 1.5. Blogging Tools

While it's possible to generate and maintain a blog by writing and updating each page by hand, you'd have to be a masochist to do so. The remainder of this book is devoted to several tools that automate the administrivia of blogging: Blogger, Radio UserLand, Movable Type, and Blosxom.

This isn't the full spectrum of blogging tools ? products such as Greymatter, Manila, LiveJournal, and others all have strong user bases. The tools we've chosen to cover in-depth, though, represent various niches in the blogging spectrum ? some are for gurus, some are for novices; some require you to install software on your PC, some can be run completely from afar; some work with your own domain, others host your blog for you; and so on.

This section discusses the features of several blog management systems, not just the ones we describe in detail in the book. Table 1-1 lists the systems covered in this section and their URLs.

After reading this section, you can make an informed decision about which tool is right for you.

Table 1-1. Blog management systems

System

Home page

Blogger

http://www.blogger.com/

Blogger Pro

http://pro.blogger.com/

Blosxom

http://www.raelity.org/lang/perl/blosxom/

Greymatter

http://www.noahgrey.com/greysoft/

LiveJournal

http://www.livejournal.com/

Manila

http://manila.userland.com/

Movable Type

http://www.movabletype.org/

Radio UserLand

http://radio.userland.com/

Slash

http://www.slashcode.org/

Zope

http://www.zope.org/

1.5.1 Hosting

A blog takes up disk space and must be served from a web server. If you already own (or pay for space on) a web server, you probably want to host your blog there. For example, Neil Gaiman's web site contains a biography, a bibliography, FAQs, a message board, and much more, so it's the logical place to keep his blog.

Some tools (for example, Greymatter, Movable Type, Blosxom, Slash, Zope, and Manila) can be installed on your server. Others (for example, Blogger and Radio UserLand) can publish your blog to your site by uploading files via FTP. FTPing your blog files can become very time consuming, though, for blogs with many entries.

Installing software on your web server requires some know-how (logging into Unix or adding software to a Windows or Macintosh server, where are the CGI programs kept, and so on) that may eliminate some choices for the less tech-savvy.

If you don't already have web hosting, or you're just getting started online, or even if you're an old hand but simply don't want to pay for the bandwidth used by your blog, you can choose to host it on someone else's server. Radio UserLand, Blogger, and LiveJournal come with free hosting.

There are caveats to blog hosting services, though. Blogger's free service, BlogSpot, puts banner advertisements on your blog (they do offer an ad-free service for $13/year). The LiveJournal service doesn't let you host your blog on anywhere but LiveJournal's web site. In all cases, when you use someone else's hosting service, you're at the mercy of their quality of service ? both Blogger and UserLand have had occasional outages. And although it hasn't happened yet, if your blog hosting service goes broke, your blog could be a victim.

Table 1-2 summarizes the installation and hosting requirements, and choices for the blog systems.

Table 1-2. Hosting and installation

Tool

Publish blog on own server?

Publish blog on free service?

Must be installed on the server?

Free hosting?

Blogger

Y

Y

N

Y

Blogger Pro

Y

Y

N

Y

Blosxom

Y

N

Y

N

Greymatter

Y

N

Y

N

LiveJournal

N

Y

N

Y

Manila

Y

Y

Y

N

Movable Type

Y

N

Y

N

Radio UserLand

Y

Y

N

Y

Slash

Y

N

Y

N

Zope

Y

N

Y

N

1.5.2 Price

LiveJournal, Blosxom, and Blogger are completely free. Blogger has an upgrade path, however: for advanced features such as RSS and Weblogs.com notification, you have to pay for Blogger Pro (now $35 per year, will be $50 per year, once all the planned features are available). LiveJournal sells a subscription ($5 for 2 months, $15 for 6 months, $25 for 12 months) that provides you with benefits such as a livejournal.com email address, text messaging, advanced customization, and faster servers.

Radio UserLand has a free 30-day trial and costs $39.95 per year. This gets you free software updates and blog hosting. You can continue to use the software after your subscription expires, but you won't receive updates and you must make separate arrangements to host your blog.

Greymatter is completely free. The author accepts donations through PayPal, however. This may seem odd at first, but it enables those who can afford to pay for their software to name their own price. If you can't afford to pay, you can still use the software and not be a criminal.

Movable Type is free for personal and non-profit use. Commercial users need a $150 commercial license. Personal and non-profit users can donate in a PBS-like model ? $20 gets you a key to be listed on "Recently Updated Movable Type Blogs" and $45 gets you all that and support for instant messaging within certain hours.

Manila is part of the $899 commercial product called Frontier. Manila is the blog hosting and management part of the larger Frontier content-management system. You can get a free 60-day trial of Manila from http://manila.userland.com.

Slash and Zope are both open source software. You can download, install, and use them without paying. Slash is released under the GNU General Public License (GPL), while Zope is released under the Zope Public License (ZPL).

Table 1-3 summarizes price and optional services for each blog system.

Table 1-3. Price and optional services

Tool

Free?

If you pay

You get

Blogger

Y

$35-50/yr

Advanced features

Blosxom

Y

N/A

N/A

Greymatter

Y

Anything

A warm feeling inside

LiveJournal

Y

$2-$2.50/month

Advanced features

Manila

60-day trial

$899

Frontier

Movable Type

Y

$20 or $45

Listed on the home page and (for $45) support

Radio UserLand

30-day trial

$39.95/yr

Hosting space and updates

Slash

Y

N/A

N/A

Zope

Y

N/A

N/A

1.5.3 Syndication

As we saw earlier in this chapter, there are two aspects to syndication: producing an RSS feed for your blog and consuming the RSS feeds from other sites.

LiveJournal automatically creates RSS feeds for you and autoaggregates the feeds from your buddies in the LiveJournal community. There is no way to aggregate RSS feeds of non-LiveJournal blogs.

Blogger does not create or consume RSS by itself, although you can use the RSSify script mentioned earlier in Section 1.4 to produce an RSS feed of a Blogger blog. If you upgrade to Blogger Pro, you can create an RSS feed of your blog. Blogger has no way to consume an RSS feed, though the Fyuze aggregator has a way to automatically incorporate its feeds into Blogger blogs (http://www.fyuze.com/blog/).

Radio UserLand is built for and around RSS. It automatically creates an RSS feed of your blog and can incorporate the RSS feeds from other blogs into your blog, Radio UserLand functions as an RSS reader, letting you subscribe to feeds and read the latest articles, and this makes it trivial to turn a syndicated story into a blog entry. Radio UserLand is the only product with a built-in RSS reader ? Manila creates and incorporates RSS but does not include an RSS reader.

Also built around RSS, but in a different way, is Blosxom. Blosxom automatically offers RSS feeds, and the optional Blagg aggregator can incorporate feeds into your blog.

Greymatter neither produces nor consumes RSS out of the box; however, a third-party modification from http://www.foshdawg.net/gm/mods/ makes Greymatter produce RSS.

Movable Type automatically publishes an RSS feed of your blog. While it doesn't come with the ability to aggregate RSS, you can use Blosxom's Blagg to insert stories from an RSS feed into your blog.

Slash produces RSS feeds and can incorporate other RSS feeds into pages. Zope does not come with the ability to offer an RSS feed, but it's simple to write an RSS generator.

Table 1-4 summarizes the RSS capabilities of each blog system.

Table 1-4. RSS capabilities

Tool

Produce

Consume

Read

Blogger

Requires third-party add-on

Requires third-party add-on

N

Blogger Pro

Y

Requires third-party add-on

N

Blosxom

Y

Y (with Blagg)

N

Greymatter

Requires third-party add-on

N

N

LiveJournal

Y

Y (but only other LiveJournal feeds)

N

Manila

Y

Y

Y

Movable Type

Y

Requires third-party add-on

N

Radio UserLand

Y

Y

Y

Slash

Y

Y

N

Zope

Y

N

N

1.5.3.1 Local versus remote

Almost all the blog management systems we've talked about offer web interfaces. That is, regardless of whether you're using Radio UserLand, Blogger, or Movable Type, you can use your web browser to post and administer your blog. Some server-based systems such as Blogger and Movable Type also offer an XML-RPC interface (called the Blogger API, although it's not specific to Blogger) that lets you edit posts and templates remotely.

If your chosen blog management system offers the Blogger API, you can choose one of several desktop clients (programs you install on your desktop PC) to administer your blog. Chapter 2 discusses some of these desktop clients in detail.

Blogger is a web application that resides on the blogger.com server. You can interact with Blogger from any web browser. There is no desktop component to Blogger, however, you can use a desktop client to post to your blog. Blogger can also be used to post to any blog that supports the Blogger API.

LiveJournal is a web application that runs entirely on the LiveJournal servers. While it does offer an API so that desktop clients can post to a LiveJournal blog, it's not the Blogger API. Thus, the desktop clients discussed in Chapter 2 do not work with LiveJournal. You can't post to another blogging system's blog from LiveJournal.

Radio UserLand is a desktop application, meaning you download and install a program that runs on your desktop PC. This program contains a web server, and a typical Radio UserLand user maintains their blog through a web browser. Power users can go into the desktop application, however, for more advanced content-management features.

Manila users interact with their blogs through a web browser. There is no client component like Radio UserLand, although you can use Radio UserLand to maintain a Manila blog. A Manila blog can be posted to via the Blogger API. You can also use Manila to post to another blog via the Blogger API.

Movable Type has no desktop component ? once you've installed it on your server, you are ready to blog. It offers an XML-RPC interface, so you can post to it from a desktop client, including any Blogger API client. You can't, however, post to another blog from Movable Type.

Greymatter is also web-based, with no desktop component. It doesn't understand the Blogger API, so you can't post to a Greymatter blog from a desktop client nor use Greymatter to post to another blog.

Slash and Zope are also purely web-based server-side systems. Each offers a web interface for administration. Neither Slash nor Zope speak the Blogger API, but Slash does have its own SOAP interface for posting to journals.

Blosxom offers neither a web interface nor a desktop interface. To post to Blosxom or change your blog's appearance, you must create files on your server. A plug-in for Blosxom lets you upload posts to another blogging system via the Blogger API, but you can't post to a Blosxom blog from a desktop client.

Table 1-5 summarizes the interfaces for each blogging system.

Table 1-5. Desktop versus web

Tool

Web interface

Installs on your PC

Post to blog via Blogger API

Post to other blog via Blogger API

Own interface?

Blogger

Y

N

Y

Y

N

Blogger Pro

Y

N

Y

Y

N

Blosxom

N

N

With Third-Party Addon

N

N

Greymatter

Y

N

N

N

N

LiveJournal

Y

N

N

N

Y

Manila

Y

N

Y

Y

Y

Movable Type

Y

N

Y

N

N

Radio UserLand

Y

Y

Y

Y

Y

Slash

Y

N

N

N

Y

Zope

Y

N

N

N

N

1.5.4 Summary

Blogger and LiveJournal are low-impact, easy-to-get-started services. However, they have their limitations: you must pay to use advanced features, and LiveJournal doesn't support the Blogger API, which would let you use a desktop client. LiveJournal users tend to be part of the LiveJournal community, whereas Blogger users tend to form their own communities.

Also good for entry-level bloggers is Radio UserLand. More so than Blogger and LiveJournal, Radio UserLand offers something for people who like to program and experiment. Radio's not only a user-friendly blogging system, it's also a fully-fledged content-management system. You must pay for it after the free trial period, however.

To host your blog on a Unix server, you probably want Movable Type or Greymatter. Of the two, Movable Type is more actively maintained and has more features (e.g., it supports the Blogger API). Manila is a good choice if you want to host many blogs on a Windows or Macintosh server, although Movable Type does run on Windows.

If you're a programmer and a tinkerer looking to learn and experiment about the insides of blogging, take a look at Blosxom. The Blosxom code is short and easily extended in Perl. Radio UserLand is also extensible and programmable using its own scripting language, Frontier.

To build a full portal site, try Slash or Zope. If both support the features you're looking for, the choice between the two probably comes down to language preference. Slash is written in Perl, and Zope is written in Python. While Zope does support extensions in Perl, you'll soon run into Python if you hack Zope for any length of time. We don't cover Slash or Zope in this book, but you can learn about them from books such as Running Weblogs with Slash (O'Reilly) and web sites such as http://www.zope.org.