I started this blog back in 2009, and at the time, I really had no idea what my requirements were in a blogging engine. There was only one thing I knew for certain: I wanted static HTML pages. Static pages are served up fast and are very secure. Other than that, I had no idea what I needed.
I ended up choosing Movable Type. All the blog post pages in Movable Type are static, so it did a pretty good job of meeting my only requirement. It has other features that seemed interesting, too. It has a commenting system, and it will send users an email notification if someone replies to their comments. It has a built-in search system. It will notify various services every time a new post is published. Movable Type also lets you schedule posts to be automatically published in the future.
Four years ago, the fact that Movable Type will announce the existence of my new blog posts to the world sounded like it would be an amazingly useful feature. At this point, I am pretty sure it was completely useless.
What was wrong with Movable Type?
Everything in Movable Type happens in its clunky web interface. The worst part about that is having to compose and edit posts in an HTML textarea. I’ve had something stupid on more than one occasion that made hundreds of words vanish on me because of this. I eventually started using a Chrome extension that would let me edit textareas in Emacs. This helped, but it was still clunky.
Things also seemed to keep getting slower and slower as I wrote more posts. Sometimes I would need to open a half-dozen older posts to check on things and make some small tweaks. This would involve a lot of waiting for posts to open, and waiting for posts to publish.
I was running Movable Type 5, and version 6 was going to be released very soon. I figured that my choices were to upgrade or find a new blogging engine.
What was I looking to improve?
I definitely wanted to get rid of that web-based editor. Most of the new static blog generators store all your posts in text files under Git. This seems brilliant to me. I can’t imagine a faster way to edit blog posts than using Emacs on my local machine. My plan was to be able to have a ‘commit –> push –> publish’ workflow.
I also wanted a more modern theme. I’m not the least bit artistic, and I have absolutely no sense of style. I just wanted something that looked clean, and it definitely had to be a responsive design. Responsive web pages detect what sort of device you are on and adjust the layout of the page to fit.
One small roadblock
All of the available static blog generators are completely static. That means they’re not going to have any sort of a built-in comment system. That meant I was going to have to use some sort of comment service. I decided to give Disqus a try.
I wasn’t convinced that this was a good idea. When I was surfing the web, I used to notice Disqus all the time. It was often very slow to load. Sometimes it seemed to make entire pages load more slowly. This had me worried, but by the time I was looking to switch, things seemed to be working a lot better.
I migrated over to Disqus while I was still using Movable Type. I’ve been using Disqus since June, and I am actually very pleased with the results. I’m getting more comments than I did before making the switch, and I’m much happier letting Disqus handle sending out all the various notification emails.
Enter Octopress
I’ve been actively using Octopress since August of 2013. I’m extremely happy with the results. I have a nice, clean, responsive theme. According to Piwik, I shaved over a tenth of a second off my average page generation times. That alone was worth the effort of migrating!
All my blog posts are now happily sitting in a Git repository on my local machine, and Seafile does a great job of keeping the posts synced up between my laptop and desktop, even when I forget to commit something, and that happens more often than I’d like to admit!
One important feature is still missing
I’ve been limping along for the last six months without one of my favorite Movable Type features. I currently have no way to schedule a blog post to publish in the future.
My blog web server was on a virtual machine running an ancient version of Ubuntu. The OpenVZ host server was still running CentOS 5, and you need the newer OpenVZ kernel that ships with CentOS 6 to run more modern versions of Ubuntu. This meant getting an rbenv
and Octopress up and running was pretty much out of the question.
I’ve since upgraded the host server and the web server, but I still haven’t gotten around to setting up an rbenv
up on the server for Octopress. This means I still don’t have my commit –> push –> publish workflow up and running yet. I have a little helper script that makes Octopress a bit more comfortable for me, but it still needs a few more features before I can get my automatic publishing back.
The verdict
I’ve been using Octopress for six months so far, and I am extremely happy with it. My site loads faster, looks more modern, and looks so much better on phones and tablets. My friend Brian also migrated to Octopress last year, and I think he’s almost as pleased as I am.
Are you still using Movable Type? Are you using a static blog generator like Octopress? Are you thinking about migrating to a static blog generator? I’d really like to hear what you’re thinking about, or how it is working out for you!