Why I am Ditching Disqus and You Should Too
Two years ago I launched a new version of my Blog, a version I created to further dog food and demo my way of building modern web applications. One part I decided to outsource was comment management. I chose Disqus because it was easy and popular. That has been a big mistake.
Disqus is a Perfect Example of Bad Third Party Solutions
Software as a service is great, until it isn't. Most bloggers and online noobs in particular know nothing about developing software or web sites. Instead they rely heavily on 3rd party extensions and services. Wordpress and WooFoo are popular choices because they solve perceived complicated problems easily and cheaply. The sad reality is Wordpress sites are studies in poor performance and have polluted the Internet with unnecessary scripts, CSS and images.
WooFoo is just a form, I mean web development 101. WooFoo's script and iframes are just bad taste. Sure they enable the average person to add a form to their site, but they do it in a poor technical fashion. But I guess some of a little is better than nothing of a lot.
Disqus is a third party service that manages comments to sites like Blogs. In exchange for being free they drop links to articles or ads on the page. To most this is a reasonable trade off, until you do the math and realize it is just killing your user experience through bad performance and just flat out breaking stuff.
Performance Matters, Except to Disqus
For me any site or application I build must pass a performance test. It must load almost instantly or be perceived to load instantly. Because I had initial issue with Disqus loading efficiently I decided to lazy load their script. This was necessary because the Disqus scripts were taking up to a minute to load, delaying user experience. By deferring a full second I ensured the post or the critical content would render first and you could read the content.
This seemed to work at first. I still was not happy that Disqus was downloading 4-5 times as much content for comments and suggested articles and ads than my entire Blog. By that I mean every byte of code that drives this blog.
Another choice I initially made was to not load Disqus on smaller screens. I chose to do this because the payload and delay was so bad over a GPRS (that is a cellular connection) it made the experience unbearable. This worked for a while. Then iPhone started getting higher and higher resolutions. This mean my simple 'how wide is the screen' check was failing. If the screen was less than say 420 pixels wide (a typical smart phone in landscape view) Disqus was not loaded. However with newer iPhones they report more pixels because retina screens are higher density.
Suddenly I started getting complaints on Twitter from followers that my blog would not scroll on phones. I could not replicate this issue until I got a newer iPhone, then I got it. If I waited about a minute, even over my home broadband I could scroll my articles. This is because Disqus was freezing the screen as it loaded the comment related content and scripts, all 19 or so scripts.
To resolve the problems and move forward I have removed Disqus from this site and will no longer use it anywhere. My performance scores have immediately improved. You can see the differences between these two waterfalls.
The first waterfall is with Disqus and the following one is without Disqus.
Summary
I challenge you to take some time and audit your third party content. Do not limit it to Disqus, WooFoo and other content aggregations but consider your analytics, help desk services, etc. Anything you do not own consider it bad until you can prove it is not bad.
WalMart had to establish a third party service SLA because external content providers were killing their site's performance. This was just part of the overall performance improvement movement they implemented and it has paid off emensly as they are seeing increasing online sales.
WalMart just serves as a tangible example, I can guarantee you eliminating excess third party services from your site will improve your performance and user experience. These improvements will directly improve your business' conversion rates and profit margins. Consider bringing the services in house. Often these services are not complicated to implement.
Simon Hearne has done a lot of valuable research into third and fourth party script impacts to web performance. Here is a slide deck from his recent Velocity Conference detailing what 3rd party scripts are doing to your sites.
I have pulled Disqus from my Blog and will be replacing it soon with an internal solution. It is part of another complete overhaul, so stay tuned for more updates in the near future. I encourage you to examine what 3rd party content your company is using and ask yourself is this adding or subtracting value. In most cases it will sadly be the later.