27
nov
2009

Websites and Comments

Comments are great but can be loads of work or a usability nightmare with a bad implementation. There are a number of different ways that comments can be (and are) implemented on websites. I've got my likes and dislikes about most of them.

The Django (django.contrib.comments) comment system is really really easy to use and if your using Django it makes for quite a nice easy addition. However it doesn't have a particularly large number of features and is generally quite a simple base implementation - this is fine as its what its designed to do but it just doesn't tick enough boxes for me. There are also a whole host of Django comments apps1 that can be added to extend or replace django's comment system.

Third party hosted services can provide a solution with many features, one of the most popular seems to be Disqus. Unfortunately I have some issues with this approach. They generally feel overly complicated, not fitting with the website and/or slow. The reliance on JavaScript also puts me off - I know most people have JavaScript now but its still quite a fundamental part of the website and I want it to load correctly and load quickly. The main advantage with these systems seems to be moderation, spam control and openID support.

It was even suggested to me to that I disable (or in this case not implement) comments all together and not bother with them. I would seriously consider this but I've really enjoyed the discussions that spawned from blog posting and hope that more of that can happen in the future. If I don't use comments where else could I take the discussion?

I then realised that Disqus provided me with everything I needed but they failed on one point, the code interface they provide. So after a quick Google I found that Disqus has a API that (while still in beta) can be used to access the comment system. Sorted, this seems like the best approach.

After thinking about this a bit longer I realised that what I really wanted was a code interface that is as easy to use as django.contrib.comments but rather than supporting the full backend infrustructure I could integrate with something like Disqus. Possibly with a cache or some local models to avoid constantly calling the API.

This now seems possible and then it was pointed out to me on twitter by @arthurk that a project like this existed. Hello (http://github.com/arthurk/django-disqus)[django-disqus]! I'm now experimenting with this but its looking pretty good so far. Hopefully I'll get it launched onto the website soon.


  1. I've not had enough time to try out all of these so if you have a particular recommendation - let me know.  

Short url - Related tags: comments, disqus, usability

blog comments powered by Disqus