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)
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.
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.
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.
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.
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.
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.
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.
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)
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.
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)
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!
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.
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)
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)
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.
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.