Apparently blogging is dead. And I’m pretty sure I know who killed it.
No, I’m not talking about Facebook or Twitter. I’m talking about WordPress.
Let’s face it, it’s 2014 and WordPress is starting to show its age. Just compare the writing experiences on WordPress and Medium: one is slow, cluttered with panels and widgets, and bloated with plugins. And the other is fast, smooth, and focused on writing.
The truth is, WordPress is now much closer to a full-fledged CMS than a blog engine. Which is fine, actually. The question is, what will us bloggers replace WordPress with?
To find out, I thought I’d start by listing out my requirements.
To explain how I feel about Markdown, let me paraphrase Churchill’s famous quote about democracy: it’s the worst form of text formatting, except for all the others that have been tried.
Well, that’s not entirely true. I quite like Medium’s own editor for example. But until we can have that everywhere, I’ll take Markdown over some funky WYSIWYG editor that injects nested divs at the drop of a click.
Post Types and Post Metadata
Yes, yes, I know. I complained about WordPress becoming a CMS just four paragraphs up, and now I’m saying I want CMS-like features. Having/eating cake, and all that.
But I do think a modern blog engine needs these features. Post types are useful to build Daring Fireball-style linkblogs, and some kind of metadata is necessary if you want to do things like attach an image to each post or specify a post author.
This one should be a no-brainer, but it’s one of WordPress’ biggest problems.
I want my blog to be able to withstand being number one on Hacker News out of the box. After all a blog is made to be read, so shouldn’t it actually work when people try to do exactly that?
Another gripe I have with WordPress is that it was built before the time of modern tools and workflows, and it shows. By default, it stores media files locally instead of on an external service like S3, the ecosystem is not geared towards using git for deployment, etc.
In fact I shudder just thinking about it, but I’ve heard that a number of WordPress devs still deploy sites via FTP.
This one is pretty subjective, but I think it’s important. I’m willing to bet that one of the factors behind Medium’s success is that it just feels so much nicer to write here than anywhere else on the web.
Now this request may seem a bit less reasonable, but I also want my blog to be a single-page web-app, just like Medium.
This could involve outputting post content in JSON and rendering them on the client, or rendering page fragments on the server and sending that over whole.
Either way, there’s no good reason why I should have to wait for my browser window to refresh in 2014.
Customization & Control
Finally, the platform should not limit what I can do. I’m not saying it has to do everything for me, just that there should be a way I can extend it if need be.
So all that being said, which platform comes closest right now?
Out of the box, WordPress doesn’t support MarkDown, has crappy performance, and as far as I know does not make it particularly easy to build a single-page web app.
So it seems to me that while WordPress might be great for building more complex sites as part of a small team, setting it up properly is just too time-consuming for a single blogger.
Ghost was created as a successor to WordPress precisely to address all the issues I raised.
I haven’t tried it yet, but from what I saw it has a lot of potential. The only problem is that it’s still pretty young right now, so most of the features I brought up (such as custom post types) aren’t supported yet.
Tumblr has a lot of cool features, but it’s just too limited. It doesn’t even give you a full range of headings, for crying out loud!
Tumblr is great for bored 16-year-olds and lightweight company blogs, but for serious blogging it just doesn’t cut it.
Every time I’ve tried implementing a Tumblr-based blog, I quickly hit Tumblr’s limitations and ended up scraping it in favor of another app.
Static Site Generators (Jekyll & co)
They hit every single checkbox: they’re simply to set up, pleasant to use (you just edit posts in your text editor of choice), and since there’s no moving part they’re as fast as you can get.
For example, Punch is a static site generator that runs on Node and can parse JSON files. So who’s to say those same files couldn’t also be parsed on the client?
Or here’s another idea: Middleman lets you define multiple layouts. So you could define a layout stripped of header, footer, and sidebars, and use this to produce content-only versions of each page that will then be loaded from the client via AJAX.
The great thing about static site generators is that by staying simple, they end up giving you a lot of freedom to do what you want.
After years of using a complex PHP app containing thousands of lines of code, it seems ironic that the best solution to this problem could actually be flat HTML files.
But at least until Ghost matures a little more, I think that static sites generators will be the worst platform for blogging, except for all the others that have been tried.
Liked this post? Sign up for my newsletter to receive weekly (well OK, more like monthly) essays about design, coding, and life in Japan.