A List Apart Web Design Survey, 2008

15:53, Tuesday August 12th, 2008 • feeling relaxed • no comments

I took it! And so should you. The survey for people who make websites.

As the survey becomes annual, the value of the data increases greatly. Help contribute to this resource, take the survey today.

Spread Firefox, make a world record

11:32, Wednesday June 18th, 2008 • feeling relaxed • no comments

Download Day

Moving my blog to Django

0:40, Wednesday June 4th, 2008 • feeling reflective • no comments

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.

Candidates

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.

Some notes on software re-use

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.

My requirements

The features I require:

  1. Write entries in Textile.
  2. Use the admin to write and edit posts.
  3. Pretty urls e.g. /2008/jun/01/moving-my-blog-to-django/.
  4. RSS feeds for posts, tags, ideally comments.
  5. Tags with tag cloud and items-with-tag views.
  6. Categories. I blog about hacking, cycling, business/startups, personal stuff and more. These posts have separate audiences.
  7. Comments with moderation.
  8. Write-edit-publish workflow to allow incremental authoring of posts.

Some nice to have features:

  1. Search (required, but trivially easy to build).
  2. Open ID authentication for commenting like Simon Willison has.
  3. Highlight source code snippets (this can be done in JS, e.g. SHJS).
  4. Ping Pingomatic on post.
  5. Sitemap generation.

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.

Django blog apps compared

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
Di‡rio 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

Conclusion

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!)

Just Friends FriendFeed

17:31, Monday March 24th, 2008 • feeling relaxed • no comments

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:

  1. Use a Fetch Feed node from the Sources section to retrieve your feed from FriendFeed. There is an authorisation ID in the url, so don't share it!
  2. Add a Filter node from Operators. Set the filter to block all posts where the title contains "You ". I would have preferred to use a regex here, but the logical values ("^You .*" etc) didn't work.
  3. Output!

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'.

No more link splicing

10:46, Tuesday March 18th, 2008 • feeling relaxed • no comments

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.

Page 1 of 113

next page →

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: the best pretty good ok pretty bad the worst

aftnn.org → afternoon's journal