Some of my worst memories of poorly-designed online courses bring me back to the awful discussion boards of the standard LMS. The instructor, in a feeble attempt at building community with the tools they had, would ask you to go in and introduce yourself, which meant you had to pretend to be interacting with everyone else in there and care that they like Indian food and hot yoga. Later we’d be asked to respond to articles with our thoughts in a new thread, maybe even comment on others. Everything was extremely linear, the editing tools offered little beyond the ability to style some of the text, and if you were a part of a large class, the threads quickly become overwhelming and as a student you just picked something near the top of the pile rather than attempt to wade deeper into the mess. Open source forum software was often only a small step up from that experience. The ability to subscribe to threads, better layouts, and plugin architecture of software like PhpBB and Vanilla Forums is certainly welcome, but ultimately it still felt like we were stuck in the 90s and hadn’t really rethought what a “discussion board” could actually be. This weekend I got a chance to setup Discourse and play with it, and I’m convinced we might finally have an answer to that.
Discourse is an open source project led by Jeff Atwood who runs Stack Overflow and the Stack Exchange Network. The website makes their mission very clear: they want to rethink what a discussion forum could be and they’ve built something from the ground up to do that. The long list of features is impressive: Image handling by drag + drop, endless scrolling instead of awkward paginated threads, @user mentioning within threads, the ability to respond to a thread while continuing to read further down, replying to a topic as a new thread, realtime updates, link expansion for many popular websites, oEmbed and oAuth, and the list continues to go on. Suffice it to say, it’s extremely modern software in look and feel and it’s designed really well.
I had heard a bit about Discourse but not looked into it much further until I was approached by Jim and Howard Rheingold to see if I could help them use it for Howard’s Social Media Issues course this fall through Reclaim Hosting. The trickiness of this request was that Discourse does not run in a shared hosting environment, in fact it doesn’t use a LAMP stack at all. It’s a Rails app that uses PostgreSQL for the database and while they don’t care what OS it’s run on, most instructions for installation pointed at Ubuntu. Discourse also has some pretty hefty minimum specs for the server with at least 1GB of memory so it was virtually impossible that I’d be running this on the same server that Reclaim uses to host our users. It’s worrisome for me that this seems to be the direction of most software out there. LAMP software seems to be limited by the capabilities of the platform and progressive developers are moving to newer methods that use Rails, Node JS, and other technologies that offer better security and performance, but at the cost of losing out on the ability to do things like “One Click Installs” within shared hosting environments. I worry that choice limits adoption to those that can afford hosted solutions or the technical chops to setup their own server, but I’m also optimistic and hopeful that there will be better technologies and ways of getting at this problem in the coming years that will continue to push things forward for everyone, not just sysadmins and customers with deep pockets.
Anyways, I fired up a virtual private server at Digital Ocean (a company I already use for other pieces of Reclaim Hosting and love!) and within 60 seconds I had the server I needed to get started. After a weekend of trial and error I got it up and running and started to really play with it. Their homepage lists many of the greatest features that I also briefly mentioned earlier, but there are a lot of smaller things that really impress me about Discourse. One is that almost always when I googled for an issue I was having, I found a thread on their forum where the developers were actively trying to fix the issue for the user, and in many cases rolling in fixes to the code and releasing them just weeks later. There’s something really encouraging about seeing someone post an issue about wanting better privacy options and instead of responding with “Yeah, we’ll see what we can go” there’s a lively thread about use-cases and what people would want to see ending with the developers posting that they’ve merged code into the source that offers exactly what the user wanted. I also stumbled upon a really great feature of Discourse: Multisite is built in. That means I can use the same server I setup for Howard to create a second install as a sandbox without having to setup a second server (I will probably have to upgrade the specs of the existing one I’d imagine as more forums require more memory).
To that end I’ve decided to focus on using Discourse as a community space for Reclaim Hosting. If you’re at all curious about playing with the software I’d encourage you to head over to http://community.reclaimhosting.com and give it a try. It’s still very much a beta product and this install is probably not fully-configured since I just fired it up last night, but I think you’ll start to see why I’m pretty pleased with it and why I think it could be a big deal for managing communities as well as providing better online discussion spaces going forward.