Final 2020 End of Year Thoughts on Discourse Software

IMG_0622a

With the help of our senior forum members, we migrated our legacy site at www.unix.com to community.unix.com in the second quarter of 2020. This migration was performed for the following reasons:

  1. www.unix.com was based on a legacy version of vBulletin which was running an obsolete version of PHP. Upgrading to a version of PHP which was not EOL (end-of-life) would have required an unacceptable amount of very boring PHP migration work.

  2. We were not willing to upgrade vBulletin because of vBulletin's business model; which I will not detail here.

After visiting a number of forums, I made the decision to move to Discourse and since that decision was made, we have been running this site community.unix.com on Discourse software for around 8 full months in production.

Here are my thoughts, 8 months into this journey with Discourse:

The PROs of Discourse

  • Discourse provides what some might consider an "advanced UI" based on EmberJS. This UI is "slicker" and very "user friendly" compared to other classes of forum software.

  • Discourse is open source and is supported by a very talented and active community of developers.

  • Discourse is geared to businesses which contract (pay) to host their Discourse application with Discourse and provide priority service to those customers.

  • End users (forum members) appear to really like Discourse much better than vBulletin and other forum software packages available.

  • Discourse renders very nicely on both the desktop and on mobile devices.

  • Discourse provides a basic entry point for adding plugins to the core Discourse open source core offering.

  • The Discourse EmberJS SPA is built on top of Rails, which is a mature MVC web dev framework.

The CONs of Discourse

  • Discourse renders a different version to crawlers (crawlers "see" a bare-bones Rails application) such as Googlebot and BingBot, so what Googlebot and other crawlers "see" is different than what the user "sees".

  • Discourse has a slow initial load time because it is basically an EmberJS SPA (single page application) and a huge javascript application must load on the device before Discourse renders.

  • Discourse, as a SPA, has relatively poor SEO (search engine optimization) performance.

  • Discourse, as an SPA, is built on EmberJS which has a very low market penetration rate (see datanyze reference for more details.).

  • Discourse is an EmberJS MVC in Javascript (SPA) on top of a Rails MVC in Ruby. This creates the need to manage and maintain two MVC frameworks, one on top of the other.

  • Discourse is geared toward paid customer hosting and, because of the complexity of the Discourse HLA, is not very user friendly for inexperienced system administers who are self-hosting.

  • Discourse has stated they have no plans to move away from EmberJS and in fact are moving aspects of the Rails MVC asset pipeline up into EmberJS.

  • Discourse core developers consider themselves experts in "every aspect" of the Internet and so they, at times, make "far fetched, technically inaccurate" arguments about topics such as cybersecurity, SEO, and other technical areas which they clearly have little actually broad expertise, but they are never in doubt they are right.

  • Disagreeing on a technical point with the core Discourse developers, even when the disagreement is civil, well referenced, and courteous will result in posts being deleted or "flagged" by their team.

  • Not yielding on a technical point in a purely technical discussion with core Discourse developers, even with the developers are 100% technically incorrect or misleading, will result in being ridiculed, suspended or banned. In other words, you can only be a "very smart person" in the Discourse community as long as an outsider if you are willing to "tow the party line" and yield every technical point to the core developers, even if they are totally wrong; years of outside technical expertise is not welcome.

  • The 2020 Discourse "roll out" of their upgrade from PG 11 to PG12 was, in the view of many people (all of their posts have subsequently been deleted, BTW), a disaster causing many Discourse sites to experience downtime.

Summary for 2020

Discourse is great software for businesses and communities who do not have the technical expertise to administer and run their own forum software and are willing to defer to the core Discourse team on all technical decisions.

Because of the EmberJS SPA high-level-architecture, Discourse is not very suitable for forum owners who wish to generate revenue from display advertising. The Discourse core team has stated this publicly a number of times.

Discourse is built on EmberJS, which seems to be "rapidly on it's way out" in the ecosystem of the web development world with a tiny fractional market share as we speak, and in fact Discourse seems to be the main user of EmberJS.

For system admins who desire to have more control over their forum software and prefer to build with a web development framework with significant market share with a broad community of diverse developers, Discourse may not be a satisfying professional experience.

If you are a very seasoned computer system admin with many years of experience in areas like cybersecurity, network systems administration, and internetworking in general, you must yield to the strong opinions and views of the core Discourse development team even when the Discourse core team is technically incorrect. This type of "yielding to power" may not be suitable for IT professionals with years of experience who prefer less "group think" and more professional collaboration.

2020 Lessons Learned and Conclusion

If you read between the lines, you may get the impression I am not pleased with my decision to move www.unix.com (a legacy VB forum) to community.unix.com (a modern Discourse forum). However, this impression is not correct. I learned many things migrating from a legacy LAMP (linux, apache2, mysql, php) forum application to EmberJS on top of Ruby on Rails application. Here are some my lessons learned:

  • Ruby is really a great programming language and I should have learned Ruby years ago.

  • Rails is truly a very powerful web MVC development framework and if I knew a year ago (about Rails) what I know now (a year later); and if I knew a year ago what I know now about SPA applications and EmberJS, I more-than-likely would not have migrated to Discourse.

  • Yesterday, in just a few hours, I took the first experimental step in building a new forum application using Rails, Bootstrap and jQuery which uses our legacy sites mysql DB. I found it was easy to build a very nice looking forum using our legacy data and estimate I could build an amazing Rails forum application (without EmberJS) in a few months, depending on how much time I put into it.

  • Next, I plan to do the same experiment using our current Discourse postgres DB; because Discourse is already optimized for Rails and we have already migrated our legacy data to postgresql (and Rails) from mysql (LAMP).

  • I am considering writing a new forum application with Rails (but have not fully decided if I want to do this amount of work!) in 2021. However, I think I can easily (technically speaking) use our underlying Discourse postgresql DB to make a nice Rails application. I have a lot of tech projects going on; and I've been trying to spend less time coding and more time with family. After all, am supposed to be semi-retired!

  • We will continue to run Discourse for community.unix.com into the foreseeable future; but if anyone wishes to become a forum admin and think they would (and could) manage this site, technically; I would have more free time to write a new forum application which would not be an EmberJS SPA. I am currently looking at (1) Rails with Bootstrap jQuery and (2) other frameworks like ANT, which supports many frameworks including Bootstrap.

  • I have already created a number of Rails/Bootstrap forum mockups; and I started to port ANT to run on top of Rails, but then I realized instead of EmberJS on Rails (a MVC/MVC HLA), I was embarking on a React on Rails (MVC/MVC HLA) and put that effort on pause a few months ago.

Please send me a message if you are interested in becoming a Discourse admin here at community.unix.com in 2021 so I might have free time work on other forum mockups.

Happy Holidays, Merry Christmas and Happy New Year

IMG_0623

8 Likes

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.