Thursday 22 May 2014

Blogging Options Paralysis

At least once a year I think about moving this blog off blogspot. When I started this blog back in 2007 I picked blogger over wordpress, as I thought Google’s ownership of blogger would mean that it would soon become the premium choice for bloggers. I was wrong. Blogger has stagnated, and I’m still here six years on with the same (somewhat naff) URL, a very bland theme (which I occasionally attempt to improve, although I am always thwarted by my total lack of CSS skills), and a very clunky administration interface which sends me email notifications about my own comments.

So I should switch to another blog provider right? The trouble is, every time I start to plan a move away, I get stuck in options paralysis. I do have some free Azure credit thanks to my MSDN subscription, so it makes sense to host it there. But there are still too many choices…

Option 1 – Stick with Blogger and Customise Theme

The boring option. Stick with what I have, and just give the CSS a makeover.

Advantages:

  • No need to migrate content
  • Get to keep all my existing post URLs
  • Probably will be best for SEO (although my blog hardly gets a lot of traffic)

Disadvantages:

  • Editing blogger themes is awkward
  • Limited control over other aspects of the site (such as hosting additional javascript files)
  • Can’t change to a custom domain name without breaking all existing links to old posts

Verdict: Probably what I will end up doing since I am lazy!

Option 2 – WordPress

The option I probably should have gone with originally. I host another blog on WordPress, and it has been a pleasure to maintain compared to other blogging options I have tried (previously that blog used serendipity).

Advantages:

  • Does everything a blogger could want and a lot more
  • Access to lots of nice looking themes
  • Has plugins for everything
  • Polished admin interface
  • Now keeps itself updated to the latest version (very nice indeed!)
  • Good spam detection

Disadvantages:

  • Needs MySQL, which can be a pain to host. Azure lets you have a free 20Mb instance, but after that you need to pay quite a bit more. I could use an Azure VM with MySQL installed, but then I need to keep that patched.
  • Written in PHP, so would need to learn that to do my own extensions.

Verdict: If WordPress worked against sqlite or postgres this would be a no-brainer.

Option 3 – Ghost

The newest and coolest blogging platform, written in node.

Advantages:

  • Lots of momentum, likely to become a very nice platform
  • Doesn’t require a separate database server
  • Azure has a template to make installation easy

Disadvantages:

  • Doesn’t currently auto-update itself like wordpress can
  • Doesn’t include a commenting system (would need to outsource to disqus)
  • I don’t know node, so adding custom features might be tricky
  • Runs on an Azure VM rather than an Azure Website, so would need to keep the server patched

Verdict: A good choice if I want a chance to improve my node / Linux understanding, but I’d like to wait and see how it develops

Option 4 – A Static Blog

You can do a surprising amount with a static blog and there are several choices here. Main ones are Jeckyll and Pretzel or Sandra.Snow (.NET based alternatives).

Advantages:

  • Simple to deploy
  • Cheapest option to host
  • (Jeckyll) lots of themes and plugins available
  • (Pretzel) written in C# – I can hack it and add features easily. I actually contributed a Blogger importer for Pretzel a while back, so I know it fairly well.
  • (Sandra.Snow) written in C# – a demo video shows how to upload to Azure with git publishing

Disadvantages:

  • (Jekyll) requires ruby, which I have no experience with and probably a Linux VM to develop on since installing on Windows is a nightmare
  • Pretzel not under active development (but getting occasional features added)
  • Comments need to be hosted elsewhere (disqus)
  • Can lack flexibility with regards to URLs, and historical search capabilities.
  • Some of my existing posts don’t convert to Markdown very well.
  • Bit more of a pain to do scheduled posts

Verdict: Still one of my favourite options, although static blogs are a bit clunky when it comes to features like archives and tag browsing.

Option 5 – An ASP.NET Blog

There used to be quite a thriving ecosystem of ASP.NET blogs including SubText, BlogEngine.NET and DasBlog. Of those three, blogengine.net seems to be the only one that is still going strong.

Advantages:

  • No problem getting it runnning on Azure
  • Posts can be stored as XML, so no need to worry about a database
  • Supports comments
  • Written in .NET so I can create my own widgets / plugins

Disadvantages:

  • Not so many themes available as wordpress

Verdict: Certainly a workable long-term solution if I plan to host on Azure

Option 6 - Fork Miniblog

I’ve been playing a bit with Mads Kristensen’s MiniBlog, which is basically a really stripped back ASP.NET blog, with the bare minimal functionality.

Advantages

  • Simple C# project – small enough for me to understand
  • Posts stored as XML
  • Already does 95% of what I want
  • Windows Live Writer support

Disadvantages

  • Rudimentary admin interface
  • Would need to write my own migrator for posts and comments (although have been prototyping this and it is nearly done)
  • A little awkward to keep my custom changes in sync with those on GitHub
  • Need to develop my own theme
  • Not entirely sure whether I would end up overwriting post XMLs and losing comments if I deployed with git

Verdict: One of my favourite choices so far, would be a good way to improve my ASP.NET & web development skills

Conclusion

I still can’t decide what to do, so maybe I’m stuck here on blogger for another seven years. Tell me in the comments what you’re using, and whether you recommend it or not.

No comments: