Muut client is a JavaScript application that is embedded on your page with HTML. It communicates with a central Muut server using secure connection. The server is always there and you only need to install the client. The client works on all modern desktop, tablet and mobile browsers, starting from IE8.

Site integration

Muut is embedded directly on your site. It’s a true integration instead of a 3rd party IFRAME. You’ll have complete control over

  1. design (CSS)
  2. behaviour (JavaScript API) and
  3. authentication (Single Sign-On)

Think of Muut as your own application that you customize and extend any way you like. It sits on your page and communicates directly with the server. You can extend and modify Muut just like any other JavaScript component with a proper API. New kinds of social applications can be made by anyone who can write JavaScript. This is a tremendous advantage over IFRAME’s which are not part of your page.

The API is not there yet but will be introduced later. Please have a look at our roadmap.

Muut is the first to make such deep integration into your site possible.

Network

Muut is built on Amazon EC2 as a distributed multi-region application. We're set up to distribute API servers globally, at the moment distributed API endpoints are not publicly available, we'll be rolling them out as our traffic increases. The functionality is similar to a content delivery network (CDN) but instead of static content we are dealing with dynamic requests.

We're also working on the first WebSocket CDN proxy to help alleviate variable response times with the websocket handshake. We're committed to making Muut reliable and fast — even if it means inventing new technologies to do so.

Muut is built for scale from ground up. We spent years building the infrastructure and application to avoid scaling issues later.

Distributed service

Muut is a distributed cloud service. Our goal is to unburden individual forums from network, installation, maintenance and update tasks, and provide full access to the data using a world class content delivery system. This is why setting Muut up as a self-hosted service, i.e. using your own or your service provider's servers, is not supported; nor would it be feasible since Muut was built specifically as a distributed service and it's simply not reasonable to expect someone to setup a mirror of our entire infrastructure.

Muut cloud is superior to a self-hosted service in multiple ways.

Speed

Our median API response time is 2ms. That's over a 100 times faster than the blink of an eye, and on a completely different level than any other service. Couple that with our upcoming global network where each request is served from the fastest endpoint minimizing latency for dynamic content.

We use Redis as our sole data store so everything is in memory. Requests never result in disk IO, and persistence is handled on dedicated, independent servers. Everything is asynchronous; node.js servers, redis, and haproxy. Muut architecture is, at the core, built around asynchronous, in-memory single threaded processes.

Please read more about the Redis usage from our blog.

No traffic limits

If your site gets really popular or there are temporary spikes, you won't need to worry about bandwidth caps or extra hardware investments.

Maintenance

Each API endpoint is a collection of Redis, Solr, 0MQ, Node.js, MongoDB, stunnel, python, and Haproxy servers that are constantly monitored and any unusual event is detected. A problem is quickly solved and every forum gets the fix at the same time. We've already shielded against the heaviest DDoS attacks and various unusual situations. You get the benefit of a team of engineers constantly working to build a robust and stable infrastructure.

Each local endpoint is split into multiple availability zones so that we can handle even the most catastrophic failures.

Updates

Muut has an agressive release schedule. New features, fixes and security patches are released weekly. Muut can be setup so that you'll always have the latest version. Both server and client are silently updated and without your participation. This is crucial with multiple forum and commenting instances on different projects, customer sites and personal blogs.

Data

In Muut the data is yours. You'll get a hourly HTML snapshot for search engines and you can manually export all the data in JSON format. With JSON you can, for example, load the data to a database so you can query the data any way you like or build custom applications on top of the database. Full data access is usually the main argument for self-hosted solutions, so Muut provides the best of both Worlds.

JSON Data export is not ready yet. Please follow our updates.

Central data

With all forums sharing a centralized database, users get some distinct advantages now and down the road with our development roadmap. For example:

Once Muut is generating enough content, we're introducing a Muut hub, allowing users to have global feeds amongst all the forums they use, follow interesting users, as well as curate the most interesting discussions from around the web. We've built out the internals to power the Hub and will make it publicly available once we are generating enough data for the hub to be a compelling service.

JSON-RPC

Muut uses WebSockets communication channel and a slightly modified version of json-rpc as protocol. We call it JSON-RPC 2.1. When WebSocket is not supported by the browser we fallback to AJAX/CORS or XDomainRequest. Basically all major browsers except IE6/7 and Opera 11 work.

Today most services and applications use REST as their transfer protocol. Server API’s and client frameworks base their design on REST principles. We’re crazy enough to bet that this will change.

Real-time applications such as Muut cannot be built with REST. It uses a request-response pattern and does not understand things like push events. In Muut servers must be able to notify clients at any time. Both clients and servers need to communicate with each other in a peer-to-peer bi-directional fashion.

We expect RPC to make a return and for it to become the backbone for real-time applications, and subsequently you'll see an influx of RPC based frameworks popping up on GitHub.

We’ll open source our compact json-rpc library once it’s properly packaged and the codebase has stabilized.