We take a good look through SimpleLog, a Ruby on Rails weblog application that does less. It’s designed to be simple, as the name indicates, and focuses on writing above all else.


For some time now, Garrett Murray has been quietly and diligently laboring away on a wonderful little Rails-based blogging tool. While other’s do everything and then some, SimpleLog stands out for what it doesn’t do. Earlier this week, Garrett finally released version 2.0, and the boy has really outdone himself. For lack of a better structure, we’ll let the navigation be our guide and outline and move through the different areas of the site one by one. (Figure 1)

[A screenshot of the navigation for SimpleLog] A screenshot of the navigation for SimpleLog
Figure 1

With SimpleLog, what you see is what you get. The navigation is simple and straightforward.

↩︎

What SimpleLog Doesn’t Do

SimpleLog is great, but it is intentionally missing some of the features common to blogging tools. So, before we get in too deep, I figured it’s only fair to address those ahead of time. SimpleLog is doesn’t allow for multiple blogs, formalized publishing workflow, or different privileges for different users. It simply focuses on writing and managing content.

[A screenshot of the theme drop down in the SimpleLog preferences.] A screenshot of the theme drop down in the SimpleLog preferences.
Figure 2

Changing themes in SimpleLog is done by simply changing a value in a drop down.

↩︎

One major aspect worth addressing is that SimpleLog doesn’t have a built-in templating system. To some, this is great because SimpleLog doesn’t reinvent the wheel. Instead, assuming that you’re comfortable with Ruby and Rails, you can create a theme by simply editing a small set of rhtml files. If you’re not comfortable with Rails, the files are still very editable and extremely readable and well-documented. However, having a good understanding of Ruby and Rails enables you to go much farther in customizing the code.

If you’re not interested in getting into the code, SimpleLog employs a fantastically simple system for themes. (Figure 2) Given it’s relative youth, you won’t find a plethora of themes out there, but once they exist, it’s a matter of copying a theme directory into the themes folder, and changing a drop down in the preferences setting.

The Tabs

Posts

One aspect of SimpleLog which, due to the format of my posts, I haven’t personally been able to benefit from is inline previews. (Figure 3) However, I imagine most would benefit greatly from this. It parses content on the fly, and renders it on the right side of your post. Naturally, this can be hidden and shown at your discretion. I’ve found it to be incredibly responsive and accurate.

[A screenshot of the preview from editing a post in SimpleLog.] A screenshot of the preview from editing a post in SimpleLog.
Figure 3

Previewing content in SimpleLog is snappy, simple, and elegant.

↩︎

Posts can be formatted with Markdown, Textile, plain text, or just line break conversions. It also supports automatic pinging of Ping-o-Matic. For managing categories, SimpleLog relies on a rather elegant tagging system similar to the one used by del.icio.us. (Figure 4) You can either type tags manually, in which case new ones are added to your list of available tags for future posts, or you can choose from a list of pre-existing tags by clicking to add or remove them from the list of tags for your post. Whichever method you choose, the two lists of tags are kept in sync so that the tags listed in the text field are highlighted in the list of pre-existing tags and vice versa.

[A screenshot of the tagging features in SimpleLog] A screenshot of the tagging features in SimpleLog
Figure 4

With SimpleLog you type tags with a new post or simply click the list of pre-existing tags to add or remove them from the list of tags for your post.

↩︎

Pages

One of my favorite features of SimpleLog is that of Pages. Most blogging tools make it easy to regularly update a blog, but static pages are rarely as easy to manage. With SimpleLog, the ability to create and manage your static pages is just as easy and natural as blogging. So, if you have an about page or other content that doesn’t fit into the blog, it can all be managed right from the administration area. (Figure 5) Whenever you create a new page, you can specify the link URL, title of the page, and the body text can be formatted with Markdown, Textile, plain text, or line break conversion just like a post.

[A screenshot of creating a new static page in SimpleLog.] A screenshot of creating a new static page in SimpleLog.
Figure 5

Creating and managing static pages in SimpleLog is a snap.

↩︎

Comments

[A screenshot of the blacklist page in SimpleLog.] A screenshot of the blacklist page in SimpleLog.
Figure 6

Easy blacklist management is included.

↩︎

Comments are new to SimpleLog 2.0, and they’re pretty solid. All of the basics are in there, but SimpleLog does them with a sense of, well, simplicity. First and foremost, we’re all well aware of the challenges that come with opening comments on a site, and I’m mainly referring to spam. SimpleLog has extensive blacklist features, and even makes it easy to update your Blacklist regularly if you need to add or remove IP addresses, emails, or any other line of text you can create, including regular expressions. (Figure 6) Of course, manually editing a blacklist isn’t fun or easy, so you can also ban commenter’s IP addresses by editing their comment and clicking the provided “Add to blacklist?” link next to their IP address. (Figure 7)

Of course, since there aren’t any silver bullets with fighting comment spam, you can also require manual approval of comments. And, unsurprisingly, SimpleLog handles comment approval in an elegant and efficient way. (Figure 8) When viewing the list of comments in the administration area, comments that haven’t been approved appear as a light grey to easily distinguish between the two, and it only takes a single click to approve comments. Have a lot of comments to approve all at once? Don’t worry, there’s a bulk approve feature to streamline the process as well as a bulk delete feature for trashing the comments you don’t approve.

[A screenshot of the administrative list of comments.] A screenshot of the administrative list of comments.
Figure 8

Approving comments is a simple and quick task with the ability to toggle approval from the administrative comments list.

↩︎

In addition to blacklisting and approval, SimpleLog offers a variety of options (Figure 9) for configuring how comments work on your site. You can require approval for every comment, allow commenters to add subject lines to their comments, and setup whether or not comments are enabled by default. SimpleLog even supports Gravatars and lets you easily disable them if you’re not a fan.

[A screenshot of available options for configuring comments in SimpleLog.] A screenshot of available options for configuring comments in SimpleLog.
Figure 9

With plenty of options, it’s easy to configure SimpleLog’s commenting system the way you like.

↩︎

Tags

Tagging can be a nightmare, but again, SimpleLog makes it smooth and seamless. We’ve already taken a look a how we tag posts, but managing tags after the fact can be quite a chore as well. In fact, SimpleLog has the smoothest system for managing tags and categories that I’ve ever encountered. (Figure 10)

[A screenshot of the tags list in the administrative section of SimpleLog] A screenshot of the tags list in the administrative section of SimpleLog
Figure 10

SimpleLog makes it easy and clear to manage your tags and see their relative density.

↩︎

You can edit and rename tags, and SimpleLog is smart enough to merge tags and update all of the posts that are tied to that tag. (Figure 11) Also, as with most features in SimpleLog, if you find yourself confused, clear and concise help text usually isn’t far away.

[A screenshot of editing a tag in SimpleLog.] A screenshot of editing a tag in SimpleLog.
Figure 11

enaming tags in SimpleLog is incredibly simple, and the system is smart enough to merge tags and update related posts.

↩︎

Authors

Authors is one area where SimpleLog definitely keeps it simple. You won’t find any settings for varying privileges or anything like that. Users have one privilege. Either they can login, or they can’t. The users page, like the tags page, shows inactive users in a light grey as well as a count for the number of posts created by a given user. Editing users is simple as well with only a few fields. (Figure 12)

[A screenshot of editing an author in SimpleLog.] A screenshot of editing an author in SimpleLog.
Figure 12

True to its name, SimpleLog keeps things simple when managing users.

↩︎

Ping

[A screenshot of comment options from the comment editing page.] A screenshot of comment options from the comment editing page.
Figure 13

An elegant and simple way to ping.

↩︎

There’s not much to say about the ping feature, but it’s damn sexy and elegantly minimal. (Figure 13) It uses Ping-O-Matic, and, in my ever so humble opinion, exemplifies the thought and effort that has gone into making SimpleLog as elegant as it is. That’s pretty much it for that feature. On to preferences!

Preferences

Now, I’m usually not a fan of extensive preferences, but SimpleLog does alright. Most of the preferences are really about configuration, and the others are perfectly reasonable. The preferences section is a bit robust, so I won’t go into all of the details, but I did want to point out the ability to create custom fields for posts. (Figure 14) In case your posts have one or two unusual fields that you need in order to make things work, you can create up to three custom fields to use with your posts. Again, this is one small part from a whole group of preferences and configuration options available in SImpleLog.

[A screenshot of the custom fields preferences for SimpleLog.] A screenshot of the custom fields preferences for SimpleLog.
Figure 14

SimpleLog lets you configure up to three custom fields to use with your posts.

↩︎

Updates

Software has updates, and staying on top of them isn’t always easy. However, with SimpleLog, you’ll never have to worry about missing an update–unless you want to. (Figure 15)

[A screenshot of SimpleLog’s automatic update check.] A screenshot of SimpleLog's automatic update check.
Figure 15

SimpleLog will automatically check for updates, but you can easily turn this feature off.

↩︎

If you do disable the automatic update checks, you can always go to the “update” tab and run the check manually, and the nice thing about that is that SimpleLog even tells you the reasons you might want to upgrade. (Figure 16)

[A screenshot of the manual update process for SimpleLog.] A screenshot of the manual update process for SimpleLog.
Figure 16

If you want, you can manually check for updates, and, if one is available, SimpleLog will also let you know what the changes are and why you might want to upgrade.

↩︎

Help

[A screenshot of SimpleLog’s help links.] A screenshot of SimpleLog's help links.
Figure 17

SimpleLog has a useful set of help available from any page.

↩︎

Of course, none of us ever want to need to rely on the help feature of an application, but when we do, we can only hope it looks this good and works this well. (Figure 17) it’s hard to tell based on the screenshot, but the SimpleLog wiki and FAQ’s are incredibly helpful. In particular, if you’re looking to customize your theme, the helpers section of the wiki is particularly useful.

Summary

SimpleLog isn’t for everybody, but it is a fantastic candidate for most people. It’s elegant, doesn’t waste your time with useless features, and really makes writing enjoyable again. I’ve been using it and developing on it for a few months now, and one intangible factor is that Garrett Murray is a machine. He has been consistently cranking out updates with bug fixes and interface enhancements for the entire time. Even if you don’t think it’s right for your needs right now, I’d keep a close eye on it because Garrett’s not wasting any time putting out updates.