We've been using Wordpress for awhile and I've been self-managing it. It's been a great platform and I'm sure that it'll continue to be a great platform. But, being the curious tech nerd that I am, I want to keep things fresh and try something new.

Long Live Wordpress


Wordpress started off in 2003 as an easy to use blog platform written in PHP. In the 12 years since being unleashed on the web, it has grown from a simple blog to a pretty robust content management system. From a programming perspective, I've gotta tip my hat to how the app was designed as even though its complexity and utility has grown substantially with a million hooks and filters, the database itself is still quite simple.

Wordpress Database Diagram

But as we'd like to focus more on writing about our process and experiences as we find our boat and sail the world (and less on everything else), that extra functionality really has no place. Going along with our philosophy of reducing complexity in our lives in meatspace, I think that it'd be a good idea to reduce complexity in the digital realm as well.

Hello Ghost


I've been interested in Ghost.io since it was announced late 2012. It was started by some of the same talent and leadership that helped grow Wordpress to what it is today; it has a clear focus on writing; and its built on node.js, a wonderful new and modern architecture that's sweeping the net.

Though it doesn't quite yet have all the bells and whistles, that's a good thing!

Goodbye Plugins

Plugins were both a blessing and a curse within wordpress. They were a blessing when you needed to add some quick functionality, but had neither the time nor the know-how to write it yourself.

They were a curse because you were then stuck with the html generated by the plugin author... and more often than not, the plugins only did about 90% of what you wanted. So, since you went the plugin route to save time, you also more often than not either just lived with it, or hacked it either in css, writing a filter, or editing the plugin code directly.

With ghost.io, there's currently no plugin (aka app) support yet. While this is the number 2 requested feature, I think it's a good thing.

Markdown > TinyMCE

Markdown, co-invented by Aaron Swartz, is the "editor" and pretty much eliminates the need for a wysiwyg editor.

Wordpress uses TinyMCE, a great and mature wysiwyg editor written in Javascript.

To be candid for a moment: from having started cleaning up MS Word exported web pages, weaning people off of Dreamweaver, and then fighting the idiosyncrasies of TinyMCE, I've always had a dislike for WYSIWYG editors.

Despite doing a great job most of the time, in one way or another they always end up generating the wrong html and I resort to manual edits or some other form of hackery. It requires quite a bit of code to make it work right - and even then, it never really works right anyway.

With markdown, you do trade off a bit of the wysiwyg and are exposed to markup... but the markup is extremely simple. And seeing the markup in context is a good thing - it makes it very easy to see what's generating what. With WYSIWYG editors, you'll see this:

Fun Heading#

But is it being generated by:

<h1>Fun Heading</h1>

or by:

<p style="font-size: 5rem; letter-spacing: -2px; text-indent: -3px; margin: 0 0 .3em; line-height: 1.15em;color: #242628;">Fun Heading</p>

Both will produce the same result, but the latter is horrible when trying to keep things consistent with css, useless for proper semantics, impossible to read, and a nightmare for search and replace.

In markdown, you know exactly what's producing what because the markup in the editor is this:

#Fun Heading#

So +1 for markdown!

Ghost.io's post editor goes a step further with a side by side preview... which shows you a live preview as you type. +1 for Ghost.io!

post editor inception

Easy Images :D

With wordpress, you had to use the media uploader:

So many options

Its got a lot of options, which is great! Except most of the time, you really don't care about most of the options. It also takes you out of the writing flow. Again, removing us from our goal of focusing more on writing.

The ghost.io way of doing it is much much more simple... you type in this:


and that's your media uploader. Not quite sure what image to upload or not ready for it yet? Write yourself a note:

![@TODO: Find and image of ghost uploader]

Then continue on your merry way. Once you're done, and you want to go back and check for images you need to add, search for "@TODO" and put in the images you need. The markup is already there for you too.

So if you find a photo on the web that suites your needs, just copy and past the image's url:

![Kitties](http://www.pluspets.net/wp-content/uploads/2011/01/Best-Cats-Photos8.jpg "Photo from pluspets.net")

Generates this:

Photo from http://www.pluspets.net

Not too shabby! And on top of that, you can immediately tell if the image is coming from where... and replacing the image is as easy as copy and paste. Love it!

Great Experience Thus Far!

In any case, the experience is awesome thus far and I'm looking forward to where ghost.io is going to go!