It's perhaps not the best of reasons, but part of my motivation for setting up a new blog was to try out Ghost. Ghost is the most recent darling of the web community, starting over a year ago as a set of mockups designed to highlight the problems with the high-profile incumbent, Wordpress. Somewhat rarely for design-led flights of fancy, however, Ghost succesfully rode the Kickstarter wave and is now a fully functional project.

The problem with Wordpress

Wordpress started out as the saviour of internet blogging; a well considered approach to making the act of putting words on a site as simple as possible. But that was many years ago. Over time, it's grown into something much larger, and in 2014 the main issues (as they appear to me) are:

  • Jack of all trades, master of none. Wordpress now does a lot of things. Posts, widgets, themes, user accounts, forums. But they all seem to hang together rather poorly; working with one aspect can be a completely different experience to working with another, and there is a constant sense that things will start falling apart if you spend too much time looking at them.

  • Spaghetti Code everywhere. Having built several sites with Wordpress, I shudder at the thought of having to touch any code to do with it. Arguments against PHP aside (and there are many to be made), the simple fact is that there is no real structure or sensible approach to the code; it's a mess of procedural and OO programming munged together. Looking at the source is like seeing a living history of programming trends.

  • Poorly documented. The sprawling set of documentation known as the Codex contains much that is apocryphal, or at least wildly inaccurate.

  • Legacy support to the point of self-harm. One of the things that Wordpress prides itself on is its massive collection of plugins and themes that has been built by its community over the years. Whilst there are some real gems in there, the vast majority of these are old, unmaintained, or just poorly written. It's not uncommon for the highest rated plugins to be 2 years out of date, and this is compounded by the fact that Wordpress insists on maintaining compatibility with every plugin ever written. This severely restricts their ability to do some much needed refactoring and house-cleaning, to the point of being a detriment to the platform.

Ghost to the rescue!

Luckily, Ghost seems to be designed from the ground-up to explicitly address all of the above.

The main feature that appeals to me is the focus on getting out of the way of writing content; the split-pane Markdown/Preview screen is perfect for putting words to paper (or fingers to keyboard) without falling afoul of the old CMS predicament of not knowing how your textbox content will translate to an actual webpage template.

The real joy, though, is that this is (at present) the sole functionality of Ghost. There is nothing else to concern yourself with - it is simply a very well constructed text editor for the web. And that's the point.

On a more technical level, the decision to use Node.js leads to a succint codebase that has the advantages of being high-performing as well as taking advantage of the rapidly-maturing ecosystem of libraries that is characteristic of the node community - a benefit that the PHP-based Wordpress is noticably lacking. Everything is stored on GitHub - which makes it trivial to browse issues and development efforts, as well as contribute directly to the source.

The structure of Ghost is also far more opinionated than that of Wordpress, and this proves a significant benefit. Themes are constrained (by dint of the lovely Handlebars) to being logic-free collections of templates, and nothing more. The in-progress design of plugins (or Apps, as current vernacular dictates) are properly sandboxed and exist as normal NPM modules. This approach is far more future-proof and will hopefully allow a vibrant community to flourish.

But it's just a blog

Sure, and that's fine. Unlike Wordpress, which has evolved to become a gordian-knot of plugins and features that extends far beyond simply posting articles, Ghost knows what it's about and does so with minimalist precision. It does nothing to dilute the primary purpose of actually having a blog; namely, to present decent content with as little distraction as possible.

It's a general truism in technology that fewer features, done well, will always trump a plethora of poorly-considered options. There is an undeniable advantage to reducing the cognitive overhead for using any tool; this is the basis that Apple has made billions on.

As far as I'm concerned, Ghost is the future, and I'm looking forward to seeing where it goes.