Why did we change the forum software?


(Michael C. Grant) #1

The inspiration for CVX Forum was the StackExcahange network of Q&A sites. I’m a big fan of StackExchange, and a regular participant on Math StackExchange in particular. The voting, karma, and moderation systems in these sites helps to ensure a high level of quality in both questions and answers. When I decided to build a Q&A site for CVX & TFOCS, I sought software to duplicate that experience, and I selected Askbot.

What soon became clear was that the CVX Forum community didn’t adopt the full StackExchange style of interaction. This is not a criticism, just an observation. Indeed, the fault is mine for thinking that it would. We’ve deviated in several ways:

  • Most of our participants do not stay long. I am supremely grateful to our small cadre of faithful forum members, but we are few in number. Most participants stay only as long as required to get their question answered.
  • The voting system is underused. Few answers are voted up or down, and even fewer questions are.
  • *We do not distinguish strongly between comments and answers. If a question can be answered in one or two sentences, a quick comment simply seems like the most expedient choice.

In hindsight, then, the StackExchange-style Q&A format was not the best choice for the CVX Forum. In contrast, this new software, Discourse, employs a more linear forum format. There is no distinction between comments and answers; they are all just “replies.” There is no voting, though there are Facebook-style “likes”. Interestingly, Discourse was co-founded by one of the founders of StackExchange—an apparent acknowledgement that different communities need different forum structures!

Even if you grant that this new forum software is a better fit, it would be reasonable to ask why we should make a change. Wasn’t Askbot sufficient, even if it is not perfect? There were several reasons behind the scenes why some sort of upgrade was inevitable:

  • Spam, spam, spam. Some of you may have noticed the occasional spam post. In fact, at times, we have been positively flooded with spam, and only the vigilance of our moderator-level members has kept the forum reasonably clean. Spambots have cracked the Askbot login model, and our site has been under nearly constant attack. It really has been difficult at times to keep the firewall changes coming fast enough.
  • Obsolete login methods. Discourse supports secure logins using Facebook, Google, GitHub, and Twitter accounts. This is good not just for spam avoidance for general security: if someone hacks this site, you haven’t lost a valuable password. Askbot’s support was such logins was spotty at best. Google is soon phasing out the very method Askbot relies upon, and there is not clear roadmap from the Askbot team to fix this.
  • Other desired features. You may recall the pinned FAQ posts that appeared at the top of the old CVX Forum a few months ago; see the image below. This was actually a custom hack that I put together for the site. We have so many posts about non-convex models that I felt it was essential to prominently display a FAQ to address such concerns, but Askbot provided no way to do this. Discourse also provides a much cleaner mobile (tablet/phone) experience as well.
  • Upgrade fragility. We were running Askbot 0.7.43; as the version number implies, it is considered pre-release. Attempts to upgrade to 0.7.48 broke quite a few customizations, including the “FAQ hack” above. In contrast, I have taken the Wordpress software on the main CVXR site through major version upgrades with nary a hiccup. I have every reason to believe that Discourse will bring similar upgrade stability.

I hope this gives you a picture of why we’ve made this change. I’ve worked hard to bring over the content from the old forum as cleanly and completely as possible, so we can still benefit from the contributions of so many. Thanks for sticking with us!

Please feel free to offer your comments, criticisms, suggestions, and feature requests by replying to this post, or by creating an entirely new topic under the “Meta” category.


(Michael C. Grant) #2

(Michael C. Grant) #3