New Check out Muut IO for developers
Muut Blog

Muut Beta

Tero Piirainen • 2013-04-03

We're proud to present a free and beautiful discussion platform that anyone can copy and paste onto their site, starting today.

This project started with a lengthy chat from Helsinki to Portland nearly three and a half years ago. We realized there was a true need for a clean discussion forum that was easy to use and integrate into your site. The typical solutions were:

  1. Traditional forum software that you install on your own servers and make them work under your own domain. Perhaps tweak a little CSS to make it look something like the rest of your site.

  2. Launch a forum on a 3rd party service and put a link to these forums on your site.

To us neither of these approaches worked. We wanted forums to be a seamless part of our site with complete control over style and behaviour. What’s more, the old solutions seemed outdated UI-wise. So we started developing Muut and took a radically different approach to this basic, yet fundamental need.

Muut is a JavaScript application right on your page. The minimalistic and clean design makes an easy match to your website. Once you copy and paste it on your site it works just like any other HTML element; and it’s fully styleable with CSS. It’s not a 3rd party iframe that you have no control over.

But that’s just one side of Muut. The world is different now than it was a decade ago. Modern technologies allowed us to get on higher levels: everything happening in real-time, pushing 1000 notifications per second, handling all screen sizes, rank based search algorithms, fully event based architecture, syntax highlight for 50+ languages, and much more.

Muut is the reason I abandoned two fairly popular Open Source projects Head JS and jQuery Tools. My sincere apologies! Please read on and hopefully you’ll see why.

3.5 years of neuroses

We were lucky. We had enough time to write a smaller software. Less code, text, fewer graphics and user interface elements. We achieved this by going through multiple rewrites. Couple of full ones and a few partial.

The client now weights 27kb when served minified and gzipped. Packed with the core discussion logic, MV© architecture, json-rpc communication library, typical UI components (tooltip, overlay, validators…), syntax highlighter and more. File size is my personal neurosis.

However our primary goal along the way was simplicity. Be it server, client or design.

Let’s take design. As you might know, a simple user interface is not simple to create. Yet another source of rewrites.

Once you’re done with something you realize that it would actually work better in another way. And boy did we go through changes! Took away elements to bring them back later; moved a piece there, then moved it back here; constant fine tuning of functionality, order, position, sizing, colors. Janne did a fair deal of design work. Here are a few ideas that eventually got replaced by new ones:

Old Muut logo and clothing concept

On the other side of the chat there was Courtney who is responsible for the server side of things. His neurosis is performance. Consider writing a complete Node application and then moving big chunks of logic from JavaScript to LUA. Pain. LUA syntax is — with all due respect — ugly and complex, and in Redis it’s almost impossible to debug. However, this doubled the performance and we can now handle twice the load that we otherwise could have.

One common programming advice is to avoid premature optimization. Courtney ignored this advice completely and prepared our servers for massive loads. A solid architecture is easier to maintain in the long run and scaling issues can get severe and hard to fix later on, spoiling all the fun. Of course we expect Muut to stay with us far ahead in the future; that’s the whole point.

Finally I must admit that making real-time programs is complex. While the world is obeying REST principles there are very few writings, patterns and libraries for real-time web programming.

Old prototype

A prototype 2 years ago

What’s next?

This beta version is fully functional and you can put it on your site now. We have done our testing and cannot find any serious issues in it. The purpose of the beta period is to polish everything before the official 1st version.

The official version will be more stable and we’ll utilize more and more automated tests. We’ll learn more about integration into various types of websites and this will obviously help us focus on the right things in the future, both on client and server side.

We have tons of ideas for improving the product and taking care of various business, user interface and scaling issues. Of what lies ahead we’d like to mention a few features that are not be part of the 1st version, but soon after that:

  1. Search engine optimization (SEO).

  2. Email notifications, to get notified when someone joins your topic.

  3. Data export for full access to your data at all times.

  4. Documented JavaScript API for custom extensions

  5. Open code. We will open source the Muut client, syntax highlight package and our real time communications library once they are properly packaged and documented. (No ETA for this yet.)

Free setup

If you are looking for forums or commenting with seamless integration into your site we believe Muut is the best you can find.

On top of that the fruits of all this neurotic development are handed to you for free. Make sure you’ll reserve your forum name now!

The complete discussion system for your site

Try all features 14 days without credit card. After the trial the community is converted to a free, but fully functional service. See plans and pricing.