Django Blogs vs. WordPress.org vs. WordPress.com

February 4, 2008

Django blogs vs. WordPress.org. vs. WordPress.com

Going by what I read, there’s lots of technical interest in writing Django blogging applications.  Django-users regularly gets questions about it, and it’s easy to come across a related blog post. For example, Patrick Altman wrote I want to Move my Blog to Django, and James wrote Where is Django’s blog application?

I’m puzzled about the intensity of this interest, because I see a Django blogging application as a dead end.  I agree that coding one is a good way to learn Django, and I understand most of the other reasons why it might hold a developer’s interest.

It’s good because…

It’s a good first application for a Django newbie. The UX model and forms are simple, and you can copy layout tricks from existing blogs.   The database schema is easy to make from scratch, or you can copy an example from the web if you’re expedient.

Even if you start with copied code, you’ll learn many concepts.  You’ll hit table relationships, URLs, ORM lookups, bound and unbound forms, errors, generic views, flatpages, CSS, and more.  You can choose to add authorization, I18N, caching, and fancy template tags.

You may not dive into very deep waters, but a simple blog can introduce you to a wide range of Django concepts, and some of its interesting corners.

Some revel in customization.  This is a motherhood-and-apple-pie issue for many.  They want at least the potential for extreme customization, even if, as Heidi Adkisson recently noted, they usually don’t take advantage of it.  For example, even though Akismet does the anti-spam job very well, they may not like being locked into it, on principle.  Or they may not like another party making the anti-spam decision for them — even if they would make the same decision.

But those who really do customize their blogs can do so, since the code is theirs to hack.

Some see WordPress as evil.  I don’t understand this sentiment, but I won’t deny it’s out there.  I’ve used WordPress in both self-hosted and WordPress.com-hosted configurations, and I didn’t find it evil/bad/limiting at all.  It’s supplied under a GPL, so you can hack the code if you want.

Movable Type is also open-source.  A Google search produces lists of open-source blogging applications, so if you want to host a blog but not be locked into an “evil empire,” there are easier ways to do it than writing your own.

If Rails has it, Django should have it.  This kind of reasoning is attractive in technology turf wars.  It also begs the question of why Rails has blogging applications, since the next section is also true for them.

Don’t reinvent the wheel

Before you start down the path of writing and maintaining your own blogging application, you should consider the downsides to doing so before you join the zeitgeist:

The “conventional” blogging applications are excellent.  They have many built-in options, and you can download many more if you self-host.  Since at least two of the major players are open-source, you can hack their existing code. True, it won’t be Django, but at least the option’s thereYou’ll find more gee-whiz features in any of the popular blogging systems than you could ever code up.  With all the WordPress themes and widgets out there, what will you develop that’s new and exciting?

Then there’s “professional-grade” e-magazine software. If you want more than conventional blogging software, you could use software like ExpressionEngine. Their free edition is crippleware, but it still has more features than standard blogging software.  For $100, you can get a Personal license with all the features enabled.  If you need more than this for your blog, your priorities are misplaced.

Content matters more than form, anyway.  The energy that goes into laying out eye candy (meaning, the code to support the eye candy, and then the eye candy itself) isn’t going into research, reviewing articles before posting, thinking up interesting topics, counting to 10 before responding to a flame, etc.

I’m not saying that we should all be using typewriter fonts, or not using XHTML.   I am saying that you should reconsider if you want some gee-whiz feature in your blog.  Your words should matter a lot more than their format, so don’t write an application for this reason.

Customization means more work.  You know the routine: Check the server logs, something’s crashed, debug the exception, you missed this corner case, update the code and restart… You have a lot more to worry about with your own application.  This is energy that could be going into other activities — like producing more compelling content.

Maintaining a blogging app won’t teach you many things. It’ll be great for learning the basics, no question.  But then you ought to move on to bigger projects.  The best way to learn new things is by doing new things, and tweaking your blogging app won’t teach you anywhere near as much as jumping into a new project’s 12′ waters.

The end result is…a blog.  The B-List is a great blog.  There’s more Django knowledge in James’ right pinkie finger than I may ever have.  He’s an excellent writer.

But his Django-powered blog acts like…a blog.  The formatting is OK, but not novel. It works fine.  It’s perfectly acceptable.  He wrote blogging software, and it’s fine, but his blog doesn’t look any better than if he had used WordPress or Movable Type.  His words are the attraction — content over form!

It should be an exercise

A blogging application is a great homework assignment for learning Django.  It’ll get you familiar with the core concepts, and you’ll learn a few of the framework’s nooks and crannies.  But after you get it running, I suggest you put it aside, go host your blog on wordpress.com, and call it a day.

If I’ve missed some positive angle to blogging applications, I’d enjoy hearing about it.  If I’ve mis- or under-represented some aspect of them, tell me.

WordPress.com vs. WordPress.org

This has been written about before (including on WordPress’ site), but I’ll summarize the differences.  Both of these are superior to writing your own blogging application.

WordPress.com is a shared-hosting version of the WordPress blogging system.  It’s very easy to use, but offers fewer customization options than WordPress.org.  The most significant limitations are:

  • You can’t upload a theme from the web.  Instead, you must choose from their repertoire of 66 themes.  (But you can customize the CSS.)
  • You can’t  upload widgets, or plug in random JavaScript or Flash
  • Akismet is your spam protection, and it’s your only choice

OTOH, they take care of all the software under the hood, the site’s always up, it’s free, you can export to another blog, and for a small charge you can register a blog domain through them with email addresses.  No security hassles, no upgrading hassles, no backup hassles.

With WordPress.org downloading comes ultimate customization.  You can hack the code to your heart’s content, but then again, you have to update it and you’re responsible for your own security.

No comments yet.

RSS feed for comments on this post.
TrackBack URI

Leave a comment





Leave a comment

0.0/5