Update : I launched Hosted Comments!

I’ll start with a little back story : I started this blog around 9 months ago and managed to build up traffic to a few hundred hits every day. It might not seem like much, but it was and still is a big deal to me. Readers used to leave comments with suggestions for improvements, questions or just to say that they enjoyed reading a particular post. Comments were powered by Disqus and all was well. One day I received an email notification from Disqus informing me that someone had left a comment on my blog. A pretty routine notification, so I opened the post and scrolled down to the comments section and noticed…six shady ads with images to accompany them. Without any warning, Disqus enabled ads on my site. Until then I never really bothered with what Disqus was doing in the background, but the ads incident made me curious. I inspected the requests that Disqus was making and it turns out that 100+ http requests, sending tracking data to 10+ external advertisers and 2MB of data transfer was required to display a comments section with 5 comments! That was my breaking point and so I promptly removed Disqus from my blog and deleted my account as well.

I did not spend time looking for an alternative until a week ago. I missed the engagement with readers, so I started searching for an alternative commenting platform. My search for an alternative turned up either ad supported Disqus clones or open source self hosted options which were hard to work with. The search for an alternative also made me realize that people were frustrated with Disqus and didn’t want to take the trouble of self hosting and managing an open source alternative. Some were even ready to pay for an alternative. I sense a gap in the market! So I decided to build a Disqus alternative which will be as easy to use as Disqus but without any ads or tracking scripts.

Great, I decided to build a Disqus alternative with a focus on privacy.

What are some of the important features in Disqus that I will include in my platform?

  • Networked login : All users who have an account on my website have the ability to comment on any other site that uses my commenting system.

  • Email notifications with the ability to reply to a comment directly from your email client.

  • Analytics and moderation tools.

  • Spam filters

  • User profiles

  • Social network login

What are some of the problems with Disqus that I will address in my commenting system?

  • Privacy : Disqus makes 100 odd requests and sends tracking data to 20 odd domains according to this blog post. The plan is to make my comments system fast by doing what a comments sytem is supposed to do : serve comments.

  • Bloated : As a result of sending tracking data to their advertising partners, page requests that could be completed in 2 http request (one for loading the comment script and another request for retrieving all comments), require 100+ http requests and take between 2 and 10 seconds to load. Since I don’t intend to serve ads or monetize user data, this problem will not arise.

  • Ads : Disqus forces websites on the free plan to display ads, the “Mom makes $4000 working from home” variety…and six of those with pictures to accompany them. This was the case when I checked a few months ago, I’ve since blocked the domain, so if anything has changed let me know in the comments below. Since I will charge website owners to use my commenting platform, my business model does not depend on ad revenue.

The user experience

Here’s the flow that I plan to implement:

  1. User signs up for an account.

  2. Adds a domain.

  3. Adds the generated javascript snippet to their website to enable the comments section.

  4. Pays $xx/month to subscribe to a plan after the free trial period.

Pricing

(Update : This is something that will change frequently in the initial days, visit Hosted Comments for updated pricing.)

  1. $20/month/domain upto 100,000 page views

  2. $300/month/domain upto 1,000,000 page views + priority support

  3. Custom pricing for websites with higher requirements

(Technical) questions/challenges

  1. I recently built a site with a comments section (a blogging platform for developers) and realized that representing the hierarchical nature of comments, traversing the comments tree and querying whether a user voted on a comment can be extremely expensive in terms of the number of database hits. I came across a neat django package django-mptt to represent the hierarchical relationship of comments using a Modified Preorder Traversal Tree. Long story short, most queries can be performed with 2 database queries to gather all the information required to display the comments section.

  2. Loading comments from a third party domain (cross origin) introduces certain challenges. The ways to retrieve data from a domain other than the website itself are :

    Disqus uses sandboxed iframes to display the comments section. This is an area I am still looking into and I am still exploring both the options along with the security implications of choosing one over the other. If you have any thoughts on this topic, let me know either via email or twitter.

  3. Free plan : this is something that I just can’t decide. I am considering providing a heavily limited free plan for websites with low traffic (less than 10,000 page views a month). To clarify, by heavily limited, I mean the number of websites on the free plan will be restricted, but the feature set will not be restricted.

  4. Spam : For the initial version, the only anti-spam measure will be restricting the number of comments per account in a given timeframe. Eg- 10 comments per hour.

Misc

  • Comments will be written in markdown.

  • No social login options will be available. Update : I will include social media login since it’s the most requested feature. I will include a non-tracking version of the social media login buttons.

Since I already built a comments section with voting in my previous project, the main challenge is going to be to get to feature parity with Disqus and build the tooling to turn this into a SaaS.

I don’t have an email list, but if you want to keep up with the developments regarding this project, you can follow me on twitter. I would love to hear your thoughts on this project either from a technical perspective or as a potential customer.