Upgrade Complete: Let's Discuss

Upgrade Complete: Let's Discuss

Blog : a discussion or informational site published on the Internet and composed of chronologicaly ordered posts.

Popular blogs are composed of both the discussion and the information. To deny this is to deny how the Internet works. This is a problem, given that Ghost, the blog engine that powers Technodabbler, lacks discussion fonctionalities.

This limitation is by design. The authors of Ghost decided to focus on developing a blogging platform first. Yet, they made Ghost flexible enough existing discussion solutions could be integrated. The question remains: which discussion solution is best suited for Technodabbler?

Selection Criterias

The search for a discussion engine started with a list of selection criterias.

First and foremost, the content of the comments should be exportable in some form. It remains likely that the discussion solution is not permanent and a solution to archive existing comments would be nice. If the solution is self-hosted, then an export of the data storage solution is fine. However, solutions hosted by a 3rd party should provide an export functionality.

Second, the solution should be simple for users. Ideally, the system should not require the user to create a new account. This is very common with system that allow users to re-use existing login solution, such as Facebook or Google+ integration.

Third, the solution should use some kind of new technology. This criteria is counterintuitive, as no solution should be chosen solely on the fact that a nifty new technology was used. However, the goal of this blog is to try new things.


The simplest solution by far would be to use an proven existing discussion tool such as PhpBB or vBulletin. However, these fail the third criteria as they offer little in terms of inovation. Keeping with the NodeJS tradition that powers this blogs, NodeBB was an interesting choice. Built in the same spirit of Ghost, NodeBB seeks to modernize the concept of digital discussion using social integration and cutting edge technology.

From an administrative point of view, the Dashboard is simply striking. It's simple, easy to use and intuitive. This is a perfect example of how Javascript and asynchronous calls can be combined to create an excellent configuration screen.

NodeBB also breaks the norm in terms of traditional user interfaces for discussion boards. Topics are displayed on blocks on the main page, where users can select a topic by reading a bit on the top post on the topic. The interface uses a Javascript and Websocket strategy, allowing for a smooth browsing experience. I suggest you try it out at the community board.

Unfortunately, as impressive as the solution is, the weak integration with Ghost made it impossible to use. In essence, Ghost posts are replicated on NodeBB, and users can either use the NodeBB interface or an interface below the Ghost post to comment. Changes on the Ghost post are not synchronized with NodeBB. Also, the integration plugin simply did not work with the current version of Ghost.


There is a bit of discussion on a new solution : Ouija. Built for Ghost, integration appears very easy. However, there is only one release so far (v.0.1.0), and the demo doesn't seem to work.


After the failed attempt with self-hosted solutions, more work was done to explore 3rd party solutions. Searching the Ghost discussion board, two solutions stood out : Disqus and Livefyre Comments.

Disqus is the veteran of the two solutions, founded in 2007 and found on over 750 000 blogs across the Internet. It also offers an XML export functionality, which improves the likelyhood that comments will not be lost during a migration to another system.

Livefyre started as a commenting platform in 2009, an evolved launching several ad-related products in 2013. Although the platform is smaller than more popular alternative, Livefyre works with leading brands.

In the end, Disqus was chosen because it is such a popular platform. It increases the likelyhood that a commenter would already have a Disqus account. Integration was very easy. The first step is to create a Disqus account (if you down have one), and then create the discussion board itself.

Disqus provides integration information for various platforms. In the case of Ghost, it is a simple matter of integrating the "Universal Code". Integration instructions can be found here.

The End?

Although Disqus is a good and simple solution, it is not very satisfying. Having a self-hosted solution would have been much better. Hopefully, a comment system with proper Ghost integration will be developped. Given the large number of Ghost blog using Disqus, I can also hope for an import feature.