Why I'm Reinventing Disqus

July 21st, 2010 by Jacob Barkdull

Why am I reinventing Disqus? That is the question I've been getting asked since I "announced" on Identi.ca that I'd be replacing Disqus with a free (AGPL) comment system that I was to write. Well, I am not the inventor of Disqus, so technically I can't reinvent something I didn't forehand invent. And because I'm not about to run a service for millions of people, my comment system won't have accounts (though it will have the possibility of setting a password so that only certain persons can post with their certain names.)

I've also been getting the pragmatic question of "Why replace it, if it works? Source Code isn't worth having to reinvent Disqus." Well I guess I should point out a few things I don't like about Disqus, both technically and ethically. So let's start with the obvious.

Where my Comment System is at (features and how it works):

There are only a few things that need to be implemented before my comment system will be fit for the job: 1. Replies, with notification of replies to the email supplied, 2. 1. A way to ensure that only certain people can post with certain names (i.e. No visitor can use the name "Webmaster" or "Jacob Barkdull" in my case.), 2. Delete option, comments have to be able to be deleted, 3. 2. Clean up code.

Looking at where the comment system started, it had just "Name" and "Comment" fields, the form had to be placed on the page as HTML, and each page had to be entered into the script manually. Now, to place comments on pages you use a simple <script> tag, it automatically detects which page it is on and displays comments for just that page, there are "Name", "E-mail Address", "Website", and "Comment" fields, all but the "Comment" field remembers what you entered even if you navigate away from the page (using browser "cookies" which expire a month after the last comment posted), simple BBCode support, URLs automatically become links, referrer checking, and permalinks.

When a user posts a comment, a .TXT XML file is created in a directory specified in the script, default is "/comments". The first comment is called "1.xml", second is called "2.xml", and so on, so to delete a comment you just delete the corresponding file. This of course isn't practical it needs to be easy, which is why I plan on implementing a "Delete" option, it's just a matter of how to do it securely.

Well, currently, Disqus is technologically superior to my comment system, but already ethically inferior for the reasons above. You can view the comment system's source code here. Anyone interested in helping me develop this or if you need help using it, please contact me, or do-what-you-do-at-Identi.ca at me.

And finally this article is the first web page to use the comment system,
so enjoy it before I break it trying to implement replies ;)


On the Blog RSS

May 2nd, 2015

Over the past few days I've been in talks with a nice fellow named Kamil Jablonski, a concept artist, graphic designer, and web developer who recently contributed a Polish locale for HashOver. He shared with me a logo design for HashOver, that after some back and forth became, in my opinion, a very cool design.

September 17th, 2014

It was some time ago when I wrote the original share button for Identi.ca, back then Identi.ca enjoyed quite a lot of traffic and user activity, but more than that it was also developed heavily and was praised by many, including myself, for being technologically impressive whilst allowing easy online conversations and communication.

August 25th, 2014

This may sound like analyzing yesterday's news, but I think it's important, and more than that I need to put this here as a resource to point certain people to.

Subscribe to Newsletter

Want to get the latest news and updates about my software, blog posts and behind the scenes information? Than subscribe to my newsletter to stay up-to-date!