On Rolling Your Own Blog Engine

August 27, 2010
By

Lets take a trip back in time through several aeons of www strata, to a year known as 2004. In Internet terms this was another world entirely – YouTube was months away from its initial founding in February 2005. Twitter was but a twinkle in the eye of a young hacker named Jack Dorsey (no relation to Englebert Humperdinck). Back then, the hottest idea for public communication on the Web was still blogging, even though it was a fairly well-matured concept by that point.

Happy coder

Towards the end of the year I picked up an ego domain – tomwalsham.com – and decided to give this blogging malarkey a go. I like to think I have a creative hand, I’m certainly never short on opinion and I like pontificating.  I’d also recently moved to a country where winter really means winter, allowing for lots of shut-in time with t’interweb.  I was going to use my creative urge to spew forth my rants, ideas, code projects and general nerdery to the hopefully listening public.

So, why 5 1/2 years later do I have very little to show for that original spark?  What could have derailed such a promising career in online self-publishing, leading to a pitiful 70 posts having been published and a hit count still some way below 100,000.

There were a few major factors I can put my finger on, which I will put in order of increasing influence:

  • A new job which has taken the majority of my creative and/or code output for the past 5 years
  • My other side projects being rather more fun than shouting at imaginary people from an ego-hilltop
  • Having offspring – she (rightfully!) dominates my non-work time
  • Rolling my own Blog engine

Work and child commitments were contributory factors, and my side-interest in zombie fx took rather more of my web-publishing energy, but they did not strike the fatal blow.  I fell into a trap that many people have also over the same period – the natural counterpoint to an ego project for a programmer – writing your own blog engine.

I’d dabbled previously in blogging around the the turn of the millennium – a quick ‘n’ dirty Perl implementation with some very rudimentary file-based post control.  It starts fairly simply.  The idea of using a hosted blogging service for somebody whose career path was moving from sysadmin to web developer just didn’t feel right. There were plenty of FOSS projects out there, but in 2005 there was no ‘one’ contender for convenience. WordPress, Movable Type, Typo3 – all had their benefits and drawbacks and were not the mature projects they are today, in particular vis a vis the supporting ecosystem of plugin devs.  Templating/theming was also not well separated yet in these engines, and I’d been building CSS-based sites for 4 years already at that point – I wasn’t about to be confined by someone else’s tag soup. So I broke ground on Walsham Blog v0.1

To begin with the blog engine is more consuming than the content; putting in the basics – some simple scaffolding and a layout engine – was easy enough, but the roadmap seemed to grow ever bigger every time I fired up the text editor.  With half a jealous eye on the enormous steps made in the ‘real’ CMS over the years,  began to find myself fighting a one-way Cold War against worldwide Open Source communities; toiling to develop elements only to find some dedicated team of hackers had released an amazing, fully functional, open source system just prior to you completing your half-arsed effort.  Glancing shiftily towards the door, you shamefully swap it in for your past weeks of hard work.  Case in point was my own rich text editor developed for ‘WalshamBlog’ which was at the super advanced level of bold, italic, and unordered lists when TinyMCE matured enough to fully unscratch that personal itch.

While they’re both driven by similar concepts, personal projects tend to have different aims, motivations and requirements than ‘work’ projects.  At work the priority is just get it done, so with a few minor exceptions (simple non-techie FOSS Project Management/Bug/Collaboration software really doesn’t exist, still) I use the status quo free-as-in-speech implementation. Over the past few years the community expansion on many of these projects, particularly with regards to plugins, has accelerated to an amazing level of polish, complexity and extensibility.  Recent work-related blogs executed with WordPress have brought me back round to the idea that blogging could be a fun and potentially helpful thing to do, and that if I’m going to do it, WordPress (particularly version 3 with custom taxonomies) is the way forward.

So it came to pass, and the roadmap for WalshamBlog v0.(5?) is being finally retired. Glancing through the list, here are some of the notable elements I can ceremoniously cross of the roadmap for WalshamBlog:

  • Anti-spam! (I had 12,000 spammy user accounts at last check)
  • Posting from Android
  • Gravatar
  • Trackbacks
  • Image management
  • A million extra fun little things that won’t eat up a weekend implementing

So here I am on WordPress.  I’m finally ready to discard my ‘Hello World’ of multiply refactored features, fun and informative though it was to do.  I’ve finally written the requisite cathartic ‘why rolling your own blog is a bad idea’ post which most self-cms-ers end with, and as I type in the elegant input system of WP3 and seamlessly inline images, I can’t help but feel that nothing of value was lost.

No related posts.

You should probably follow me on Twitter @tomwalsham

Tags: , , , ,

One Response to On Rolling Your Own Blog Engine

  1. ricks2 on August 28, 2010 at 12:34 pm

    nice pic lol. I was thinking of doing this myself – i reckon I can do the basics, but what you say on plugins makes sense. Ive not looked at wordpress3 is there much new?

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Random Quote

Human beings were invented by water as a device for transporting itself from one place to another — Tom Robbins, http://www.amazon.com/Another-Roadside-Attraction-Tom-Robbins/dp/0553349481/ref=sr_1_1?ie=UTF8&s=books&qid=1281043084&sr=8-1