« Latest links | Main | Latest links: Ventur... »

Approaches to blog customization

One of the things that new bloggers tend to complain about is theme customization. It's just too hard to customize the look and feel of your blog. And that's true even if you just want to make a couple of minor tweaks like changing a banner image, changing a background color or adding a "widget" to your sidebar (e.g. a Flickr badge of most recent photos or an RSS listing of recent links from del.icio.us).

With Roller and most other blog servers I've used, you can configure some aspects of your blog's layout and appearance via a web UI with no HTML, CSS or template coding.

With Roller and others, you can configure these things:

  • Change blog title and description
  • Configure the number of posts displayed on main page
  • Change from one stock theme to another
  • Add links to your blogroll
  • Add new categories to your blog

For everything else, you must customize, i.e. edit templates and deal with HTML, CSS and a specialized template language. For non-geeks, that can be pretty daunting. How can we improve the situation? We've discussed a couple of alternatives on the roller-dev mailing list and internally at Sun, but sometimes it helps to take a look at how the other guys do things. So I did some research today and in this blog entry, I'll briefly review how several popular blog systems enable blog customization.

Roller

But first, I should explain how Roller enables theme customization. When you create a blog in Roller, you must select a theme. A theme is a set of Velocity templates and resource files (images, CSS, etc.) that generate and style the HTML that makes up your blog. If the theme is updated by your Roller site administrator, then your blog will be updated to match.

If you want to customize your theme, you go to the theme page in the Roller UI and click the customize button. You now have a copy of the templates and resources that define your theme and you can edit them yourself within the Roller UI. Using the Velocity template language, you can access the Roller objects that make up your blog (e.g. blog entries, comments, bookmarks, pages, etc.) via Velocity expressions and you can call Roller specific Velocity macros to generate HTML and other markup based on those objects. You can add as many page templates as you want. Objects and macros are documented in the Template Author Guide (PDF).

Wordpress

Wordpress is not all that different from Roller in the blog customization department. When you create a blog you get one of two predefined themes. A theme is a set of PHP templates and resource files that generate the HTML and CSS files that make up your blog. Using the PHP template language, you can call a set of Wordpress specific Template Tags, which are PHP expressions, to insert information from your blog and to generate commonly used things like a calendar or a category drop-down choose.

One of the top reasons that bloggers want to customize their theme is to add a "widget" or two, e.g. a Flickr badge of most recent photos, an RSS listing of recent links from del.icio.us or a Google search bar. So Automattic, the company founded to support Wordpress, now offers a free Wordpress Widgets plugin. Once installed, you can use a drag-and-drop interface to add components to your blog's sidebar. I haven't installed the plugin myself, so here's a screenshot take from Automattic's site:

screenshot of wordpress widgets configuration 

Figure 1: Wordpress Widgets configuration

Wordpress has one limitation that is not shared by Roller or Movable Type. Allowing users to edit PHP on a multi-user blog server is not safe -- bad code could potentially bring down the system. So, on the Wordpress.com service users cannot customize their themes. They can pick from a (very nice) set of predefined themes or purchase a Custom CSS option that enables CSS-based customization only (no PHP changes required or allowed).

Movable Type

Movable Type is also pretty similar to Roller when it comes to blog customization. A blog's appearance is defined by a set of template files that use a variety of Movable Type specific Template Tags. Unlike Roller (and Wordpress), Movable Type publishes static files. So, after you make changes to your templates you must rebuild your site. It's easy to start the rebuild via the Movable Type UI, but it could take a little time to rebuild a large site.

Movable Type also support the notion of sidebar widgets which, as you can see below, are very similar to Wordpress Widgets.

screenshot of movable type widgets configuration
Figure 2: Movable Type Sidebar Widgets configuration

Blogger.com

Blogger.com provides about 30 pleasant looking themes for your blog. Each theme is a single template file plus resources (images, CSS, etc.). You can customize your blog by editing your chosen theme's template to change the HTML, CSS and Blogger.com specific Template Tags used.

Live Journal

Unlike the others I've covered, Live Journal steers users away from template editing by proving a much wider range of configuration settings you can apply to your blog. In addition to the settings supported by most blog, you can also:

  • Pick from a dozen or so layouts
  • Choose from a dozen or so color themes, choose an ad layout
  • Set colors and fonts for most parts of your blog page
  • Set icons for 30 or so items commonly displayed on blogs
  • Set custom navigation, music and mood text
  • Add your own custom CSS style sheet

And if you pay extra you can customize your blog's "layers" using the S2 template language, which is used by both Live Journal and FotoBuilder (a photo gallery package).

That's it for now...

In summary, it seems that Roller is not that far off from state-of-the-art when it comes to blog customization but there is plenty of room for improvement. I like the way that Live Journal allows users to configure a blog's look-and-feel without requiring (or precluding) template changes. I also think the idea of a configurable sidebar is good. But I need some more good ideas, so I'll probably take a look at a number of other systems. Any suggestions?

Comments:

Among IBM's internal blogs, sidebar customizations are by far the most common modification folks make to their blogs. Right now we're working on an upgrade to version 3.0 and are trying to figure out how to migrate over 1000 customized templates, most of which differ only in terms of different arrangements of sidebar widgets. To make things easier I've been experimenting with some ideas on adding some kind of sidebar customization mechanism to Roller. Users would be able to create new Sidebar Widgets and arrange those on their blogs. These would be stored separately in the DB from the templates. A macro would be used to render the customized sidebar. I haven't had the opportunity to yet work out all of the design details but I think it could be a pretty cool new feature for Roller.

Posted by James Snell on November 30, 2006 at 08:54 PM EST #

I have been modifying blog templates and adding/subtracting widgets for nearly three years. I am self taught, but wouldn't consider myself an expert in HTML manipulation. I tried out Beta Blogger (after using Blogger) and found that the interface for adding widgets was simple and easy to use. What I do not like though, is this type of widget install almost always leaves the user wanting more control. My new passion is collecting and reviewing widgets into a sort of "online resource". I display a bunch of widgets. In posts as well as sidebars and footers. It's fun! Whether it's working or not I can't really say. But the traffic seems to be growing and comments sometimes indicate satisfaction. Derek

Posted by Derek Anderson on December 03, 2006 at 05:29 PM EST #

I remember being impressed by Serendipity's ability to customize page layout. It also had a very nice install process. It might be worth a quick look...

Posted by Sean Gilligan on December 05, 2006 at 01:47 AM EST #

That's a good breakdown Dave. That'll definitely get us moving in the right direction.

I think the Widgets sounds like the thing Roller needs the most. If Roller had a nice Widgets interface like Wordpress and MT then that would go a *long* way towards improving usability for theme customizations.

Posted by Allen on December 05, 2006 at 05:47 PM EST #

Post a Comment:
  • HTML Syntax: NOT allowed

« Latest links | Main | Latest links: Ventur... »

Welcome

This is just one entry in the weblog Blogging Roller. You may want to visit the main page of the weblog

Related entries

Below are the most recent entries in the category Blogging, some may be related to this entry.