Every two weeks we spread the word of Node.js and the cool and incredible things it can do. We do that by profiling creative, interesting and fun uses of Node.js in various products and projects. We call it “In the Loop.”
Today we are chatting with the creators of NodeBB, which they call the Discussion Platform of the Future. We like bold statements like that, so we reached out to NodeBB’s team of three: Andrew Rodrigues, Julian Lam and Barış Soner Uşaklı.
Tell us about NodeBB. Why is it the discussion platform of the future?
Andrew: It feels like forum software has been evolving slowly; web 2.0 features that are almost standard across modern software just do not exist on older forum platforms… at best these features seem tacked on. We haven’t seen much progress in responsive forum layouts and its quite evident to anybody doing a simple Google search for any given topic and running into a forum website. It’s ugly and impossible to maneuver without pinching and rotating ad nauseum. We believe that starting fresh with a clean slate will allow us to build a modern platform that will hopefully help shape forums of the future.
Can you walk us through the early genesis of NodeBB? Did the Node.js portion come first, or the BB?
What made you decide to go with Node.js as the foundation of this platform?
Julian: Node.js was a great fit as a platform for NodeBB because it allows us to really produce something groundbreaking in the realm of forum software. The forum ecosystem is already a crowded one, but they all happen to run on the LAMP stack, or a similar variant. Our deciding factors were the performance benefits offered by Node, as well as the amazing community, both in terms of feedback, and in terms of the wealth of modules available to use.
Did Node.js bring any problems that you had to solve?
Julian: The biggest problem was (and still is) adapting our programming style to Node.js “standards”. Coming from a PHP/js background, there is a bit of a learning curve, but once you understand the basics (such as event loops, etc), everything else becomes much easier. There are user-created modules for doing virtually everything, so in many cases, our development time was reduced. The PHP community is already embracing the idea of re-usable modules through programs like composer or bower, although the DIY mentality is still well-ingrained, and new programming practices are just chipping away at the monolithic iceberg that is the PHP development methodology. We found that using Node.js was like a breath of fresh air.
Our readers are curious about how things are built and how performance is monitored. Anything you can share in those areas?
Barış: NodeBB in particular was built following aspects of the lean startup mentality. We built a minimum viable product, and have recently begun iterating on user feedback, in order to build a product that users want, not a product that we think users want. Luckily for us, our feedback tells us that we’re on the right track! In terms of performance, we are still actively looking for a system similar to blitz.io, but we have not found a comparable solution yet, especially one that can reliably benchmark websocket performance.
You ran an Indiegogo campaign, right? Why did you go this route, and how did it go?
Barış: NodeBB is open source and free to use if you want to host it yourself. To further develop and add more features we went the crowdfunding way. Crowdfunding also means backers will be able to help in shaping the product which is very important for us. We want to build a product that people will want to use.
Julian: The Indiegogo campaign has finished, and we reached just under 25% of our goal, which while not ideal, did allow us to continue work on NodeBB, and gave us a bit more breathing room in anticipation for…
NodeBB Premium Hosting, which we’ve just quietly launched into closed beta. We seek to offer simple setup of NodeBBs to individuals who may not have the technical know-how to do it themselves. Plans start from $35 per month, and all you need is a credit card. Your NodeBB can be ready to go at a moment’s notice!
Premium Hosting is slated for public launch in January 2014. As we are in closed beta, we are actively looking for interested participants. As an exclusive offer to StrongLoop, the NodeBB team would like to offer a $50 credit to anybody who emails us at firstname.lastname@example.org and mentions StrongLoop, StrongOps, or NodeFly.
We are excited to hear you say NodeBB is free and open source. How did you come to this decision?
Andrew: We believe by open-sourcing NodeBB we can create a better product which in turn will be used by more people. WordPress went the open-source+SaaS way to great success.
Finally, anything you can share in regards to future plans for NodeBB or Node.js in general?
Julian: Right now, NodeBB is an open-source project that anybody with the technical know-how can set up. We want to go one step further and allow anybody to set up a forum at the press of a button. To that end, we’re working on releasing a software-as-a-service web application that will be tightly integrated with our hosting servers, so clients can focus on customising their forum and building their user base, while leaving all of the technical set-up and maintenance to us. The free and open nature of NodeBB allows anybody to customize and contribute back to the project, and we’re always in need of Node.js developers to proofread, extend, and awesome-ify our code, so if you like what you hear, join the project community!
Open Source contributions have been coming in from around the world, in the form of bug fixes, language translations, plugins, migrators, and themes.
Finally, our plugin system was introduced not too long ago, and we’ve already received contributions from several different authors. We’ve gone from two plugins to 19 in a matter of weeks.
Thanks to Andrew, Barış and Julian for their time.
Interested in looking at how NodeBB can power your discussions? Click on over to http://www.nodebb.com/ and get the details.
- What’s in the upcoming Node v0.12 release? Six new features, plus new and breaking APIs.
- Ready to develop APIs in Node.js and get them connected to your data? Check out the Node.js LoopBack framework. We’ve made it easy to get started either locally or on your favorite cloud, with a simple npm install.
- Need for Node? Learn more about both the private and open options StrongLoop offers.