Develop my own blog software?

Frantic Fish's picture

He has: 27 posts

Joined: Jul 2009

This is a post I'm making on a number of sites, so apologies about the duplication, but it's important for me to gather as many opinions as I can.

My question is this: is there any benefit to using WordPress or Blogger over and above creating my own blogging software for my site and my clients?

I'm launching a new section on my new site. Part of it will be a blog with the standard topical industry observations. I'll also have articles - some just simple pieces, a few hundred words. Others will be multi-page researched pieces with graphs, comparison charts, data etc. Weighty stuff (at least I hope).

I can get unlimited free programming from a knowledgeable PHP Linux guy (me pops) so I'm leaning towards getting a custom system developed that can be used as a template for client work. Clients I have right now will just be posting simple articles with comments - the classic 'blog'.

Am I right to think that a custom solution would be better?

Advantages I can see are
1) Security
No-one can see what my back-end runs on, hackers will have to work far harder.
2) Cost & Time after rollout
I don't have to get clients to host with WordPress to be fairly secure. If they don't host with WordPress, someone has to check for all patches, updates etc. Billable time (pain for the client) and not something I want to be doing anyway.
3) Lean mean install - not all the extra crap I don't want that comes bundled out of the box, I don't want to have to think about 'hacking the core' as it were.

I really just want
- text / images / links / CSS / doc upload
- add / order categories for nav
- comments (captcha, pre-approved)
- pagination / archive
- extensionless urls
- search (via tags and detailed for all text)

This is all stuff we've done together before and won't stretch my programmer at all.

So my question is, is there any reason that I should consider pre-built CMS systems - and specifically WordPress or Blogger?

The only one I can think of is the initial time (i.e. cost). Once you've practised a bit can you install and config a system that does what I mention above plus get it styled to match the look of the existing site in a few hours?

Or am I missing something? Is there something else I'm missing about these systems that means I should consider them above a custom one?

Very grateful for comments, observations, opinions, stuff I'm overlooking etc.

davecoventry's picture

He has: 112 posts

Joined: Jun 2009

Well, if you know exactly what you want and how to achieve it, I see no reason you shouldn't design your own CMS.

Personally, I tried a similar thing about ten years ago written in Perl, but I'm currently battling with Drupal CMS.

However, I would put these points to you for your consideration.

  1. Security.
  2. If your Dad's programming is anything like mine, it won't be bug free and some of the black hats out there understand the little programming errors that someone who does not have formal training in which ever programming language it is you will be using. In contrast, a CMS with a large user base like Drupal or Joomla will have the code constantly tested for vulnerabilities.

  3. Inventing the wheel
  4. The bulk of what you will be attempting to do will have been solved by someone else. There's nothing to stop you writing your own solution within an application like Drupal and building on the base code rather than starting from scratch.

  5. Extendability
  6. Quite likely you are going to find that your project takes you in a direction you hadn't thought of. In a custom coding environment, that would mean rewriting whole chunks of code (with the attendant probability of error), whereas a modular system would be far more flexible in this regard.

On the other hand there are disadvantages from using CMS:

  1. Learning Curve
  2. If you are already proficient in your language it will be a lot easier and quicker to sit down and whack out some code rather than learn a CMS, particularly something as notorious as Durpal.

  3. Flexibility
  4. If you can program in Python you can use that. I had to learn PHP for Drupal but I would rather have done it in Perl. (or, indeed, Python)

I'm sure there are other points, when I think of them I'll add them on.

Basically, it comes down to the complexity of the site(s) you are designing as to whether it's better to roll your own.

Megan's picture

She has: 11,421 posts

Joined: Jun 1999

I would actually be asking the opposite question - why should you develop your own when there are so many others out there to choose from? Is it just because you don't want to run updates for your clients? Or worry about them having to do it? Wordpress now has a dashboard-based upload feature that solves the problem of upgrading for non-technical people.

What happens when you make changes to your app? Or when they want to add more functionality that you don't have? Or what about if they want to make changes to their site themselves, and they can't do it because they can't find online resources to help them?

You say that the cost of development isn't an issue for you - what about design & usability? This is something that major blogging systems have put a lot of work into. Are you going to spend time training and taking support calls from clients?

At work I have to maintain a whole bunch of custom built apps - most of which do stuff that could easily be done with a CMS platform of some type. We are the only ones who use these things. We are the only ones catching bugs, we are the only ones fixing bugs, we are the only ones who know how they work. (although, I don't have a full time developer to properly support these things either).

The other side of this is that when you have in-house tools people expect you to be able to add and change stuff. Before you know it your app is no longer a simple blogging tool, but has all sorts of other stuff built in. Bloat! If you're using an open source or pluggable system you can say either no the system doesn't do that or, we can build a plug-in for that.

Something hosted like Blogger or Wordpress.com would be a different question IMO. I've never been a fan of remotely hosted services for some reason - I just like to have control. This also means that you're running everything on your own domain and not shunting your blog off to another domain (which means you're spreading any backlinks between 2 sites).

pr0gr4mm3r's picture

He has: 1,502 posts

Joined: Sep 2006

I would agree that using something like Wordpress is a far better idea. I've done my own CMS before, but it will never match up with the features of Wordpress, Drupal, etc. If you think that you can get by with minimal features, you are going to still want to leave room for more features if needed. Projects and websites expand. Don't think you are done with it at launch time.

hhunt's picture

They have: 17 posts

Joined: Oct 2009

This is one of the common traits that's common with all software developers. As a developer myself, I dabbled into some sort of wheel-reinventing some years ago hacking out my own email autoresponder, but soon gave up as it did not work well and I didn't have the motivation to continue enhancing it.

Fast forward to 2003, I did what any self-respecting Java developer would do and code my own little Text Editor. Again, it didn't go mainstream due to security, maintainability and the need to keep it going.

So, the morale of the story is that its fine to try and code your own software, but always put a well tested and trusted software in a public-facing website.

Want to join the discussion? Create an account or log in if you already have one. Joining is fast, free and painless! We’ll even whisk you back here when you’ve finished.