A world made by hand, or a proprietary solution?
June 4, 2008 11:49 AM   Subscribe

Blogging software vs. roll-your-own?

I have begun to experiment with a personal portfolio / travel website that will likely include some kind of blog. As a web developer, I would like the site to be something of an experimental testbed, so I plan to use CSS2 and 3, as it becomes better supported.

I have looked at a few blogging systems - MoveableType, WordPress, etc - but they appear to be "all in one" systems that impose their own template language and themes (although some give options for customising the latter). I am comfortable enough in my XHTML, CSS, PHP, MySQL and JavaScript skills that I can create my own back-end for dated blog entries, search functions, RSS feeds and the like, and I'd enjoy doing so. Is there something I'm not seeing in the blogging systems: some technical advantage or difficult-to-code feature that would make Blogger or one of its competitors a better choice than building a solution by hand?

Many thanks in advance for your answers!
posted by Bora Horza Gobuchul to Computers & Internet (19 answers total) 4 users marked this as a favorite
Your question suggests that all pre-built blogging tools are "proprietary", but WordPress is open-source.

The way I see it: you want to focus on your portfolio. If some other group of people have already spent years building an excellent blogging tool, why would you want to start over?
posted by bryanjbusch at 12:04 PM on June 4, 2008


MT and Wordpress themes/templates are 100% customizable.
posted by wongcorgi at 12:06 PM on June 4, 2008

The systems you're calling "all in one" systems actually generally have extremely robust templating that would allow you to build your template entirely from scratch—it's just that their marketing right now is more heavily in favor of prebuilt, customizable templates that take some of the work away from writers who would prefer something that lets them Just Get Writing.

The technical advantage of using WordPress or MT would be that they've already done the heavy lifting of dealing with security problems, multi-user feature, backups, easy upgrades, RSS feeds in multiple formats, conversion of character sets, robust data entry, photo uploads, nested comments, etc. If you'd enjoy doing all of that work (or if you can easily define just the subset that you really want) then there's no reason to use a pre-existing CMS. It's fine to reinvent the wheel if you really know what you want your wheel to be like.
posted by bcwinters at 12:07 PM on June 4, 2008

I'd stick with an existing blogging system.

It's true that WP and MT both have their own template language, but that doesn't really limit you. You can write a plugin (or likely find one that already exists) to add functions if there's some specific output the existing template tags don't offer.

FWIW, MT's template tags are generally more "atomic" than WPs, and generally more rational. But MT has a dual Perl/PHP architecture that may oblige you to write plugins in both languages. I've found WP pretty easy to hack on. I've got a very limited grasp of PHP, and even I have customized some WP functions to make them do exactly what I need, as well as rolling my own theme.

The other benefit of going with an existing system is that you've got something that works right out of the box. It may not be exactly right, but you can tweak it as you go. In order to get something marginally functional rolling your own, you've got a lot more lead time.
posted by adamrice at 12:32 PM on June 4, 2008

Hmm. I guess if time were a factor I'd stick with something off-the-shelf. I'd avoid the nightmare of Moveable Type and skip ahead to WordPress, which is really nice and quite robust if you "harden" the underlying database before you go and get yourself Dugg or Farked.

But, speaking as devil's advocate, I coded a blogging system several years ago as a way to learn a new language and found it to be really fun and rewarding. In the end I had something I could say was my very own that generated valid markup and even made RSS feeds.

But yes, if time is a factor by all means look into Wordpress.
posted by littlerobothead at 12:39 PM on June 4, 2008

Even if you use Wordpress, you can design your own site and just call their functions in a PHP script to get the blog data. It makes a lot of sense to use the existing technology, instead of reinventing the wheel.
posted by knave at 12:43 PM on June 4, 2008

You could also look into a prebuilt solution that includes blogging, but also has a bunch of other features that could similarly save you time building the rest of your site. I'm a big fan of Drupal, which has a built-in blog. Its themes are highly customizable, just like Wordpress, but it also has a ton of additional built-in functionality, plus extensibility via plugins (called "modules" in Drupalspeak).

I've found Drupal to be a huge timesaver for creating all kinds of interesting functionality. The CCK module is just amazing - it's like being able to define your own database (custom fields in custom content types) in an easy-to-use, friendly way.
posted by kristi at 1:13 PM on June 4, 2008

i would agree with the time-benefit analysis, spend your time on things that help you get you where you're going. that being said, i've rolled my own twice :-P both times because of different ways of doing things and both times it was fun.

if you do decide to go with your own, the only advice i'd give is to make sure your content is portable. so if your posts are going to use a formatting 'language', make sure it's used widely enough to where you can find a decent converter should you decide to move somewhere else later. also, don't forget that changing URLs is a pain once posts are published.
posted by maulik at 1:14 PM on June 4, 2008

I'd use ExpressionEngine. The free Core version would cover blogging and some other features, and the templates are completely customizable.
posted by kirkaracha at 2:09 PM on June 4, 2008

I rolled my own, and I'm pretty happy with it. It has one significant advantage, which is that it's not susceptible to script kiddies, because it's one of a kind. It has also been gratifying to create something with exactly the feature set I want, working just the way I want it to.

A problem is that there is no one to turn to for support. If I were using a hosted service with a well-known product, I wouldn't have to diagnose every problem on my own.

The backend for my wee system is sqlite, so backups are a matter of copying one sqlite file.
posted by i_am_joe's_spleen at 2:26 PM on June 4, 2008

I am joe's spleen—I have a friend who built his own blog software. He's had automated spam comments. Someone actually went to the trouble to discover his blog, parse his forms, and adapt a bot to attack him. So rolling your own is no defense against that.

Widely used blog software is more likely to get tested by hackers, but it'll also get fixed quickly when it does. If a hacker exploits a vulnerability in your code that you were unaware of, it'll be that much harder to fix.
posted by adamrice at 3:04 PM on June 4, 2008

I am comfortable enough in my XHTML, CSS, PHP, MySQL and JavaScript skills that I can create my own back-end for dated blog entries, search functions, RSS feeds and the like, and I'd enjoy doing so.

Contra most of the above... this seems like an easy call to me.

You CAN do it, and you would ENJOY doing it? So do it.

Using one of the canned systems will drive you absolutely insane as you bend everything you're doing to "their way" of doing it. If you don't mind that, fine, but from what I think I read between the lines of your post, you'll be happier making it yourself.
posted by rokusan at 3:20 PM on June 4, 2008

I agree with rokusan. Seems to me that the relevant sentence here is "Is there something I'm not seeing in the blogging systems: some technical advantage or difficult-to-code feature that would make Blogger or one of its competitors a better choice than building a solution by hand?" Why not write down a really fine-grained list of all the features you want your blogging software to have, and then consider whether or not you can code them? If you're honestly comfortable and happy around XHTML, CSS, PHP, MySQL and JavaScript, and have the time, I doubt there's much you'll have to put in the "I can't do it" column. (Be very careful and honest with yourself about security issues, though.)

I wrote my own blog software. The result was ugly as sin, to be honest, but it does work, and now I know much more about how I'd write it next time.
posted by No-sword at 3:45 PM on June 4, 2008

adamrice: I didn't say immune to attack. I said immune to script-kiddies - in other words, automated attack.
posted by i_am_joe's_spleen at 4:22 PM on June 4, 2008

Here's the questions you need to ask yourself: Are you a control freak? Do you enjoy thinking of better, more elegant ways to do things? Do you take a personal pride in being a bit different from the unwashed masses? Will you sleep better knowing what every line of code does and why it's there? Do you obsess about performance? If you answered yes to a few of these questions - then definitely roll your own.

If you just want to get a blog up and running, then go with wordpress. You have a lot of control over the templates and final HTML output, but you must submit to certain things as "just the way it is". So, you trade total control for saving time. Oh, and the admin/writing interface in v2.5 is pretty damn sweet. That part of WP would be hard to improve on.
posted by kamelhoecker at 9:07 PM on June 4, 2008

Nthing don't reinvent the wheel. Your time is valuable. Spend your time getting to know a system like Drupal or Wordpress and code your own template, at the most. Drupal in particular is a very, very flexible system and has a higher learning curve but once you get it you realize it's really a meta-CMS more than a CMS.

This problem has been solved reasonably well at this point. Don't waste your time--seriously.
posted by dubitable at 10:58 PM on June 4, 2008

I'd go with an off the shelf platform like Wordpress (Which I use)

In context, I'm a PHP programmer professionally, I've written more CMS and blog(like) platforms then I care to count over the years, and it's just not worth the effort as you'll never get the level of features an open-source product has.

Wordpress and probably others are stupidly easy to add your own code and features to so you won't get boxed into a corner, while Wordpress does use it's own mark up, I regularly supplement my themes with "raw" PHP to get quicker results.

I know it seems easy to roll a blog out, but there are lots of bits which make blogs talk nice to the rest of the blogsphere like tagging, trackbacks and pings that add a lot of under the hood features you don't really see, which all help getting people to your site.

There just isn't any point - two years ago maybe it was worth it, but the Blog and CMS platforms out there today are for the most part all very professionally put together, spend 5 minutes installing Wordpress (Literally) You're writing about travel - Do you want to spend days sitting inside writing software which has been done before, or do you want to go outside and do something you can write about?
posted by paulfreeman at 3:34 AM on June 5, 2008

Agreed with the others who say, "Go with something that works." I use Drupal, rather than WP or EE, to scratch the 'geeky tweaky' itch -- I bolt all kinds of crazy crap on like RSS-sucking auto-aggregation of things I say elsewhere, and dynamic graphing and silliness. But it's still building on something that is there.

The problem with rolling your own is not so much that you're not smart enough, or talented enough -- it's that most of the baseline blogging/simple-cms functionality is solved, conceptually. You're not coming up with elegant ways to solve new problems, just writing the same heavy-lifting code that other teams of dozens or hundreds of developers are working on at the same time.

It's a little like hand-carving your own bed from a tree you felled. If you want to do it, because the experience is something you enjoy in and of itself, go for it. You'll learn a lot and will most likely be able to appreciate how much is already done in any other framework you eventually move on to.
posted by verb at 2:21 PM on June 5, 2008

Mod note: Final update from the OP:
I decided to create my own bespoke site and blog. While it took considerably more work than using an off-the-shelf CMS, doing so has taught me a great deal. I've also avoided some potential security threats: every day I see traces of automated probes for WordPress logins and the like on my site, which don't exist. I'm happy with the final result, and the fact that I can customise the site completely.
posted by taz (staff) at 10:06 PM on June 4, 2013 [1 favorite]

« Older Excel Address Labels?   |   Will I lose my metabolism if I stick with this... Newer »
This thread is closed to new comments.