Given we are getting super close to launch, there are a lot of conversations with prospects who are keen to use our product. We get many (welcome) questions from prospects/clients on how to use the platform. Additionally, because we are a new start up,
we don't have great documentation. How to solve this problem with limited bandwidth?
The requirement is pretty simple, an easy way to communicate with prospects and clients, which stacks. The
stacking aspect is the idea that
effort today should
not just be useful today, but also should compound in some way.
A forum could meet this requirement quite nicely. First, it allows us to link a
natural extension to blog posts, in a
questions? comments? continue the discussion here... way. Second, it should help us provide better support to our clients as we answer complex questions on how to use the product.
How does a forum stack? If the forum software is relatively modern, the questions asked and answers provided become a shareable resource. These
questions and answers can be
indexed by search engines, can be queried, and basically
turn into a very useful knowledge base which prospects, clients and staff can refer to as the need arises.
Why do we need a forum?
We started by looking around for what a forum does? The folks at WiseGeek have an article which covers the basics,
An Internet forum is a discussion area on a website. Website members can post discussions and read and respond to posts by other forum members. A forum can be focused on nearly any subject and a sense of an online community, or virtual community, tends to develop among forum members.
Clearly though, there is more to forums than just the above. Some of the complexities of running a forum can be seen from the comments below the same article. The long and short of it is:
ymmv, or your mileage may vary.
this could get exciting. However, our choice to build a forum was made with the following objectives in mind:
- Build A Community - this lets us know what prospects/clients think of our product, and what we can do to improve it.
- Crowd Source Service and Support - this is a cheap way to provide support from the existing user base. But, the quality of the support varies. This can be a double edged sword.
- Social CRM - a form of CRM where the interaction between client and vendor is mediated through a social media channel.
If you want to read more about these tradeoff’s, this article from 2010 covers some of the concerns.
What do we need from our forum?
Okay, we are getting a forum. Which one though? Below is some of our requirements when picking a forum.
- We want a nice new piece of software. Our own stack is,
React, Meteor, Node, and Mongo. So we were looking for Node JS solution’s as opposed to PHP, though we would be happy to consider a Ruby-On-Rails or some other modern software solution.
- We use a lot of cloud hosting, and as a startup firm, want to be conscious of cost. So in an ideal world, we can get something which is open source to start with, self host, and then later move to a hosted solution when we are happy to pay someone else to manage it.
- Want a nice way to manage users, mostly to ensure that
trolls and other toxic commentersare kept out. Largely, ensuring the forum is focused on our technology and how it is being used, should manage most of these issues for us.
- Want to be able to use the forum as a knowledge base, so it should be relatively simple to add images and other hypermedia to the forum.
- Some gamification, because as usesrs of forums, we know how much of a difference that makes.
As heuristics go, we are big fans of Meteor, and their forums in terms of providing prospects and clients with answers in a timely manner. There are a number of articles we looked at like this, this and this which gave us some ideas. The key point to consider is how forums are different, in terms of the
structural elements of managing the interactions between users - the last link is to a Reddit thread which covers many of these concerns.
For us, we decided to not get cute and stick with the Discourse forum.
How to setup Discourse on a Digital Ocean Server?
We added a discourse forum to the website. The people at discourse define the project as,
Discourse is the 100% open source discussion platform built for the next decade of the Internet. Use it as a mailing list, discussion forum, long-form chat room, and more!
Given we are a new startup, the plan was to not use the hosted discourse solution, but instead build out a self hosted forum. The actual building out of the forum was very simple, and probably took a total of 2 hours from start to finish.
Steps to setup Digital Ocean server, MailGun emails and Discourse forum.
We are on Digital Ocean infrastructure, so we picked an off the shelf $10/month Ubuntu 18.04.1 box, with 2GB of RAM as that is the minimum requirement Discourse has - its just a Docker image. The process is detailed (here)[https://www.digitalocean.com/docs/one-clicks/discourse/], and looks like the below image -
all we are doing is initialising a new droplet with a Docker image of the latest Discourse.
selected the Singapore data centre, extra monitoring and added an SSH key. It took a few minutes to build, and this was all pretty straightforward. We need to setup MailGun properly before we can log into our new Discourse deployment. Note: We use MailGun for our email infrastructure.
A bigger challenge was setting up MailGun which the Discourse forum needs for emails. The Discourse forum will need the below MailGun settings to work properly. Assume some additional time for the records to refresh and for typo’s if you are not a DevOps specialist.
- SMTP Hostname -
- SMTP Login -
- Password -
- SMTP Hostname -
Please note the
Domain Verification and DNSsettings in
your MailGun. These settings will need to be put into Digital Ocean in the networking setup (or where ever you manage you DNS settings). Specifically, you will require the below records added.
- CNAME -
- TXT -
- TXT -
v=spf1 include:mailgun.org ~all(value);
- A -
- CNAME -
Once the above records have been added to your DNS settings, verify that MailGun can see this information properly. The button is shown below.
Once the verification is happy, we will need to setup the Discourse forum on our server. We already have the droplet, so log in
ssh root@your-digitalocean-ip. On successfully logging in, the droplet will run a startup script which will need the above information (and an
administrator email/password). Note this will all happen in
Terminalor your specific
We also need another email address, for the
Let's Encrypt digital certificate. Once complete, the
Docker image will run an update cycleto the latest Discourse source code, do a (re-)compile and start the process. Once complete,
exit the server. Now go to the ip in your browser, specifically to
setup is simplefrom here on - this resource has some screen shots, but largely its just adding some branding information. This resource shows how to do the install without the 1-click deploy, which may also be useful. Once complete, go to your
https://forums.your-domain.comand you will see something similar to the below.
The platform is currently in closed beta, while we work out bugs in the code. Now however, you are able to
post questions on our new forum, and hopefully we can start getting some useful information up. Additionally, we will be adding topics from posts into the forum, so please feel free to
add your feedback, or any questions you may have on our new forum.
If you are interested in trying out our technology, please drop us an email at firstname.lastname@example.org.