I started blogging in 2005, using a self-hosted copy of Wordpress 1.0. Wordpress was a shining example of open source web apps done right: easy to install, came with (or had plugins for) all the features I wanted, and had very low barriers to editing the code if I wanted further customization. I’m still using it today for my personal blog; and despite it showing a bit of age, I’ve basically been happy with it this entire time.
Unfortunately, it’s been all downhill since then. The options for blogging software today are pretty lacking.
There are three options for hosting a blog: hosted services, open source, and roll-your-own.
There are surprisingly few hosted services: blogger.com, wordpress.com, and typepad.com are the big ones, but there are surprisingly few offerings from smaller, potentially more innovative, companies. (Leave a comment if you know of one.) Hosted services are great for effortless setup and low maintenance overhead, but the lack of flexibility and control over your data and presentation isn’t enough for tinkerer/hacker types like myself.
Open source blogging engines seem like the obvious choice, especially given my early good experience with Wordpress. But after years of using many packages in this category, no others have satisfied me. Even later versions of Wordpress don’t work for me, like I used for my Bitscribe blog; they add a bunch of extra features which to me just feel like bloat. In the meantime, hosting PHP has become a hassle now that I don’t use Apache anymore.
Why not use an open source Rails blogging engine? These are, sad to say, a rather sorry lot. Mephisto and Typo are the popular, but both have suffered from very spotty upkeep by their maintainers, and seem a bit too feature-heavy in any case. I like SimpleLog, as it’s a leaner, more focused piece of software, and I’ve been using for my work blog (this one) for a while now. But SimpleLog no longer seems to be maintained anymore, yet another orphaned Rails blogging engine. Last I checked, none of these even work with Rails 2.0 or higher out of the box. Urgh.
Two blogging engines written in Ruby which caught my attention were Feather (Merb) and Wink (Sinatra). These seem appealing since they are from the tinkerer / cutting-edge tools camp, which I count myself a part of. But cutting-edge often means bleeding-edge, and that’s the case here. I could not get either of them to install in the hour or so I was willing to devote to trying.
The final option, roll your own, seems like a really severe case of reinventing the wheel. I’ve pointedly avoided it for a long time, unconvinced that something as fundamental as blogging software is something I need to write myself.
And yet, the word on the street in the Ruby community is that writing your own blog from scratch is the way to go. So after the circuitous route of exploring all these other approaches, I may finally be on board with this philosophy. To paraphrase Arthur Conan Doyle: When all other options have been eliminated, the one that remains, however impractical, must be the best.