Index / Projects / esoBB

The esoBB forum software

Ever since I was very young, I had a particular interest in forums and forum software. The first forum that I joined ran the PostNuke software, which was actually a content management system (CMS) that contained a forum, however the discussion board was the front of the software and it usually required some in-depth customization to suffice as a website on its own. Nevertheless, this was my first introduction to the inner workings of the Internet forum and jumpstarted my interest.

A PostNuke forum using the Xanthia theme engine.

PostNuke used to be an immensely popular CMS, so much so that its installation and configuration was part of some CS-related courses at the college level, and you can still find evidence of this through a cursory web search of the name of the software. It was a derivative project of PHP-Nuke (hence the “post”). A couple of years later, I was exposed to the ProBoards free forum host, which ran its own forum software (at that time, it was just referred to as ProBoards v4) and was used by various communities as a relatively easy-to-use solution for small forums. Having joined the TotalFreedom forum, I became aware of the technical constraints of this solution in the context of a relatively large community. That forum was eventually deleted by its then-owner and has since been partially restored and archived for posterity.

I also became privy to esoTalk around the same time that I was lurking around various forums. The year was 2010 and I, a 7 year old with unfettered access to the Internet, stumbled upon the esoTalk support forum from a hyperlink on another thread, one about the possibility of migrating to another forum software, and became invested rather quickly in esoTalk’s radical design. It was a new take on the traditional discussion board. There were no categories, convuluted structures, shout-boxes and so on and so forth. Indeed, it was simple enough for a child to pick up on right away, and that’s exactly what I did.

A (brief) history of esoTalk

Unfortunately, the history of esoTalk cannot go properly summarized without mentioning the death of Simon Zerner. The forum software was created by two brothers, Simon and Toby Zerner. Simon was Toby’s older brother; he went missing for over a month starting July 2009 and then the support forum was made aware of his passing. Toby continued to progress the software’s development in lieu of Simon, with help from some other members of the community. I was responsible for changing at least one line of code, but unfortunately the original repository has been lost to time. Toby would go on to spearhead a complete re-write of the software that became known as esoTalk gamma, which would in turn be the basis for Flarum, a forum software that is still in active development.

A barebones installation of esoTalk beta 1. There used to be a Wikipedia article about esoTalk, but it no longer exists.

Despite all this, I continued to run the version of the software that directly preceeds esoTalk gamma, or esoTalk beta. While the differences in functionality are somewhat minor, the layout and philosophy behind the design of the forums are so vastly different that they might as well be considered different softwares. I took a liking to Beta over Gamma for several reasons, one of which being the reliance on tags over categories in the earlier version, which represents a departure from the traditional structure of forums. Most of my forums were not big, nor were they particularly active; they didn’t really need separate categories in order to separate conversations from one another. (esoTalk refers to threads as conversations.) The pre-rewrite search engine is also just objectively better, and the “gambits” are much more robust than any of the advanced search settings available post-rewrite, or on any other forum software, for that matter. Most people my age and younger tend to mention 4chan as a point of comparison when they stumble upon an esoTalk forum, which is not completely unwarranted, but there aren’t many similarities beyond the deceptively simple way in which conversations are structured. Since the “app store generation” doesn’t have any reason to know how to use a web forum, or even know what a forum is, I see the absence of many traditional holdovers from discussion boards as an added benefit.

The problem with esoTalk gamma

esoTalk has been dead in the water for many years now. In my opinion, Toby’s rewrite was a bad idea; it took away the things that made esoTalk special and so there wasn’t much reason to choose esoTalk over the handful of softwares that are more popular, with more ongoing development and such. From a technical perspective, the post-rewrite code base is far more clunky and harder to future-proof than its predecessor. One of the biggest complaints of contemporary adopters of the software was that it made little-to-no use of libraries, which means that creating new plugins required for considerable effort to be put into engineering new functionality, but I personally don’t see this as a bad thing. (Libraries should be avoided when possible.) On the other hand, the post-rewrite software made heavy use of libraries, many of which are now deprecated thus making it nearly impossible to update the code base to the latest iteration of PHP. It also fell victim to numerous cross-site scripting (XSS) vulnerabilities, so much so that the latest iteration of esoTalk (gamma 4) has at least one known vulnerability.

Of course, there have been numerous forks of esoTalk gamma over the years which seek to remedy these issues, but most of the aforementioned issues stem from the philosophy that went into how the software was created rather than just a handful of bugs. Gamma’s predecessor, esoTalk beta, makes use of only one library—the SimpleTest testing library—as part of its lexer. It doesn’t even use jQuery, although Toby did bundle it for potential use in plugins. There are no known vulnerabilities, but some things needed to be updated for use in a modern production environment.

The birth of esoBB

In March 2018 I decided to revive my old esoTalk forum, which had no greater than a dozen users, as a way to chat with fellow high school students. Eventually, the forum became quite popular and obtained users from a handful of communities, but that’s a story for another day. Upon creating my forum, it became evident that the esoTalk beta software was in need of some changes to remain in line with modern web standards. The first thing I did was replace the rastor button icons with their vector equivalents and eventually ditched the image altogether in favor of CSS linear gradients. Some code needed to be changed to properly function on PHP 5.6.

The first version of my fork was released by the name of esoForum for Projects on November 16, 2018. (The name of my forum became esoForum because it ran esoTalk and I couldn’t really think of a good name.) Over time, hundreds of changes have been made to the base code and now the forum software is pretty much sufficient for most production environments. It’s compatible with the latest iteration of PHP and now has a wide variety of plugins for forum admins to exercise a considerable level of customization. That being said, it’s rather easy to write your own plugins or just modify the source code to fit your needs, seeing as the software is entirely open-source.

I renamed the forum software to esoBB in order to distinguish it from esoTalk, the project from which it derives, and because “*BB” appears to be a relatively popular naming scheme for forum softwares. If you’re looking for a decent forum solution, or just want to tinker with something different, feel free to check it out. I also just recently created a free forum host for esoBB forums; it’s like ProBoards but better. :^)