As the survey becomes annual, the value of the data increases greatly. Help contribute to this resource, take the survey today.
As the survey becomes annual, the value of the data increases greatly. Help contribute to this resource, take the survey today.
I've been meaning to move my blog to Django for about 2 years. I've got plenty of UI mockups, I just haven't got around to coding anything. I decided instead to look at some of the pre-existing Django blog applications. It turns out there are at least a few that are quite complete.
Django has been open source for over 2 years now, but it's way behind something like Rails or PHP when it comes to packaged software. If I want a PHP blog, Wordpress is simply a great choice and there are many, many others. By stipulating Django, I'm narrowing the field quite severely. This may be because it looks trivially easy to build a blog in Django, and most people just roll their own.
After doing a bit of searching I unearthed these great projects.
There is a low barrier to entry for starting a Django application. It's very easy to create some models and check them in to Google Code. Creating a rounded reusable product takes much more. I had previously been sceptical about the completeness of the code on offer.
I have been reading Robert Glass's excellent Facts and Fallacies of Software Engineering. He cites several studies which show that if 25% or more of a piece of software is not appropriate to your needs, then it is more cost-effective (in terms of time in my case) to start from scratch. If I modify one of the above apps, I become responsible for merging downstream bug fixes and maintaining my forked version. It would also be possible to take code from many apps to create the "perfect" blog tool, but I wouldn't have access to improvements made by other people. It therefore is important to select a application that is a very good match for my needs off the peg. See Fact 19 in Facts and Fallacies of Software Engineering for a longer discussion of these issues.
There are certainly many more Django blog apps out there. I did not conduct an exhaustive search. These apps have been linked to from either the Django Resources page or I have seen them mentioned in previous reading. That a blog app came to my attention without much effort suggests a certain level of activity and so provides a valid filter for less advanced projects.
The features I require:
Some nice to have features:
I think lifestream applications like FriendFeed and tumble logs are very cool and I would really like my own one. Moving the blog to Django is the first step in building my own lifestream site. It gives me the foundation to build code on.
Features 1-5 are found in every application considered here or can be added without modification to the core application, so I will omit them from the comparison matrix.
| Categories | Comment mod | Workflow | Tag pages | Search | OpenID | Highlighting | Ping | Sitemap | Active project | |
|---|---|---|---|---|---|---|---|---|---|---|
| Banjo | N | Y | Y | Y | N | N | N | Y | N | Updated Nov 2007 |
| BlogMaker | Y | Y | Y | Y | Y | N | N | Y | N | Y |
| ByteFlow | N | Y | Y | Y | N | Y | Y | Y | Y | Y |
| Coltrane | Y | Y | Y | N | N | N | N | N | N | Basic maintenance |
| Django Basic Apps blog | Y | Y | Y | Y | Y | N | N | N | Y | Y |
| Django Project blog | N | Y | N | N | N | N | N | N | N | Basic maintenance |
| Dirio | N | N | Y | Y | N | N | N | N | Y | Y |
| Geeksite | N | N | N | N | N | N | N | N | Y | Updated Jan 2007 |
| Trespams | Y | Y | Y | Y | Y | N | Y | Y | N | Updated Dec 2007 |
Although my feature matrix is skewed to my needs, it shows that the state of off-the-shelf Django blogging applications is improving. We certainly don't have a WordPress or a Moveable Type yet but hopefully these applications will gain more attention leading to more feature contributions.
The matrix doesn't really capture the different levels of work that have gone into the projects. I spent a bit of time looking at source code and their is a fair amount of variation. Diário and BlogMaker in particular are clearly more advanced than the average blog app. The Django Basic Apps project blog and Coltrane also appear fairly complete.
A big plus for many of these applications is how they integrate with other open source Django code available. django-tagging and django-comment-utils are almost ubiquitously used. An honourable mentioned has to go to Pinax/Hotclub, a really interesting project to create an integrated suite of applications that can be used to build a site on Django. There's lots of code there, but a blog app is currently conspicuous by it's absence! Any of the above applications would be an excellent choice for inclusion.
So which tool will I use to power my blog? I'm going to install ByteFlow locally and have a good play with it. If it is not a good fit or there are show-stopping issues, I may also install Trespams, the Django Basic Apps blog and possibly Diário or Coltrane.
Edited Jun 4, 10:30: Added ByteFlow (thanks Simon!)
As mentioned earlier, I like FriendFeed. One thing I found frustrating was the lack of a feed just tracking what my friends are doing. The nearest thing provided includes my own activities. I know about these!
I posted in FF's Google Group, but after a few days there are still no replies. However, a workaround is to use Yahoo! Pipes to manipulate the feed, filtering out my own activity.
Pipes is quite intuitive, so I'll just outline the design of my FF pipe:
Pipes output to RSS, email, SMS, etc, so you can now use your FriendFeed-without-you feed anywhere you like. I'm just using it to track how my peeps iz rollin'.
I've turned off FeedBurner's link splicing feature. Although it was quite cool, it was like I was mixing my media all wrong. Instead, if you want the total information overload, I recommend following my FriendFeed.
FriendFeed is a great service. Good for tracking my content and other peoples'. It's a touch inflexible in some ways, but it is easy to use and works well. More than that it's evolving very quickly. They added search this week and I swear they didn't have a Facebook app last time I looked.
FriendFeed has a feature to pull your friends graph from Facebook. This is great, and a requirement for any social service. The only problem is only one of my friends who record their lives online is really a Facebook user. I have lots of people as del.icio.us friends, Flickr friends and so on, creating lots of content I'd like to track in FriendFeed, but frankly I can't be bothered to enter my list of friends again. This is a known issue in the social software world, but since FriendFeed have taken the step of yanking my Facebook friends, it would be nice to see this feature extended to other sites. Of course we really need a standard method or API for doing this, but that's a year out yet probably. XFN is around, but it's too much like hard work.
Choose another page: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113.
Last updated at 15:53, Tuesday August 12th, 2008. All times are shown in 24-hour clock format and are BST.
Rate my journal on bloghop.com: