M
Muut Blog
muut.com · Company blog · on HN since 2014
Muut, the company behind a hosted forum and comment service, writes about its product and the Riot.js UI library.
What HN saysHN commenters mention Muut as a Disqus or Facebook comments alternative, and discuss Riot as a small React-like library.
32HN people shared it
22linked it in comments
20stories submitted
531story points
6 years agolast shared
2014people per year2026
Most-shared posts
- 1Riot – A React-like, 2.5K user interface library8 people · 400 points · first shared 2014 · 214 comments on HN
- 2Muut7 people · 2 points · first shared 2014 · discussion on HN
- 3Redis as the primary data store? WTF?5 people · 9 points · first shared 2014 · discussion on HN
- 4RIOT: A React- like, 2.5k user interface library4 people · 4 points · first shared 2015 · discussion on HN
- 5Riot v2.0.14 with server-side rendering3 people · 9 points · first shared 2014 · discussion on HN
- 6Riotjs the 1kb mvp framework3 people · first shared 2014
- 7Faq2 people · first shared 2015
- 8April 2014 service failure2 people · first shared 2014
- 9From React to Riot 2.01 people · 79 points · first shared 2015 · 38 comments on HN
- 10From Disqus to Muut1 people · 16 points · first shared 2015 · 2 comments on HN
- 11Moot rebrands as Muut1 people · 3 points · first shared 2014 · discussion on HN
- 12Building modular applications with Riot.js1 people · 2 points · first shared 2014 · discussion on HN
- 13Check out our new Slack integration1 people · 2 points · first shared 2014 · discussion on HN
- 14Create private forums with Muut1 people · 2 points · first shared 2014 · discussion on HN
- 15Tweak Shopify liquid tags to add a commenting system1 people · 1 points · first shared 2014 · discussion on HN
What HN people wrote when they linked it
dsego · 2020-11-01
I didn't have time before to go through your case study. But after looking at it for a bit, it doesn't look that much different from the mvc example I linked.
It seems that you are leveraging the built-in event system for observers and using the dom for referencing your components. Personally, I don't feel that mvc for the web is inventing a whole lot more, just patterns and some utilities.
Having events that bubble from the child component up to the app component is an interesting approach. It simplifies the code by not having to pass controllers into views, but makes the child components less reusable in other contexts.
Btw, this structure also reminds me of backbone(1) and that riotjs 1kb blog post from ages ago(2).
I love the effort and thank you for making it.
(1) https://backbonejs.org/#View
(2) https://muut.com/blog/technology/riotjs-the-1kb-mvp-framework.html.
darekkay · 2018-10-24
Some Disqus alternatives emerged in the last few years: Muut[0], Remarkbox[1], Hosted Comments[2]. I've also linked my blog post in this thread with some more alternatives for static sites.
[0] https://muut.com/
[1] https://www.remarkbox.com/
[2] https://www.hostedcomments.com/
niutech · 2017-06-02
Muut (https://muut.com) is another alternative to Facebook comments.
e12e · 2016-07-03
Only if you are comfortable using a 3rd party comment service (or injecting 3rd party javascript in your site in the first place). I know it's common, but even with the advances in CORS and whatnot, it still (IMNHO) defeats a lot of the benefits of a static web site.
That said, I would probably prefer embedding disqus or https://muut.com/ comments to running a complex php application just for comments.
mneil · 2015-01-26
Have you checked out Muut https://muut.com/? It's completely customizable with CSS, uses a lightweight javascript client, minimal design and focuses on the conversation (text). You can also use it privately. That requires a subscription. It's a hosted service.
Disclaimer: I work there.
nathanallen · 2014-12-21
I've enjoyed working with riot.js (https://muut.com/riotjs/). It's a "minimalist" front end framework, written in vanilla javascript. It's easy to pick up, and it's not super opinionated. You can read/absorb the library in one sitting -- so you'll have a good sense of what's going on under the hood.
Another great resource is You Might Not Need jQuery (http://youmightnotneedjquery.com/). Take what you need, leave the bloat behind!
raelmiu · 2014-09-11
I completely agree. There's something really wrong with the approaches.
They're both too complex and too simplistic at the same time. BackBone and Angular in particular demand a lot of code to do simple things and still fall apart in large scale production.
The best I've seen is https://muut.com/riotjs/ which is basically just a collection of JS-objects and a router. But it's far from useable because they've tried to cut corners, and lacks all sorts of documentation.
fiatjaf · 2014-08-05
I don't like it, the forums look like those spam pages that aggregate comments from other pages on the web to get clicks without providing any value (I'm talking about the visual aspect of the forums in the screenshots).
Also, it is too expensive, too expensive for a new product, specially when the field already has experienced competitors offering the same things for less (I'm talking about https://muut.com/).
Natetronn · 2016-06-30
Craft can handle everything you have described with one caveat:
The "few discussion boards."
If it is a very basic setup then you could build something. For example, if it was similar to a comment system, such as the one I'm currently writing on (here at Hacker News), then I think it could be done easily with a comment plugin:
https://github.com/engram-design/Comments (note the threaded commenting and that by adding a few other plugins you could make it more feature rich than even this. Josh (@crawf) is almost always in the Slack channel if you have any questions about any of his plugins.)
If you need something more advanced, with allot more features etc, you'd currently want to look into third party options (since you don't have the time and or resources to build a plugin, I'm sure and one it's currently available.) For example:
Using a third party forum system like Vanilla and setting up SSO via a Craft plugin: https://github.com/nystudio107/vanillaforums
Or a discussion system as a service like: https://muut.com
Craft is new compared to some though, it is going on 4 years old (https://craftcms.com/changelog#build2063). Pixel & Tonic, the company behind Craft, is definitely not new, however. They've been around for along time and built some amazing add-ons for ExpressionEngine before they started Craft. The Matrix being one (https://craftcms.com/features/matrix)
Are you still worried about it being new? Well, consider a different perspective in that this is…
fweespeech · 2016-06-21
https://muut.com/blog/news/april-2014-service-failure.html
https://muut.com/blog/technology/redis-as-primary-datastore-wtf.html
Counter point of a real world implementation where they tried to make it the primary data store.
tacone · 2015-09-11
Interesting.
It reminds a bit of the tag files of riot.js [1] Another possible approach (widely practiced today) is to have the children template extend the main template and override some blocks in the main template (you can do it with twig, blade etc). But even then, your templates could not be nested.
Nice concept!
[1] http://muut.com/riotjs
insin · 2015-03-08
If you were to put the event bindings in the markup instead, some of the examples would look very similar to Riot 2.0 [1] tag definitions, although it uses a more Glimmer-like approach which only looks at the bits which can change based on the template, instead of a Virtual DOM.
[1] https://muut.com/riotjs/
vog · 2015-02-06
I believe Riot.js provides a lightweight alternative: https://muut.com/riotjs/
maemre · 2015-01-28
According to [1], Riot developers are aware of that and chose to support custom tags without a dash:
> W3C specification demands you use a dash in the tag name. Instead of <person> you must write <my-person>. Obey this rule if you care about W3C. Both work fine.
However using hyphens to be standards-compliant and future compatible would be better.
[1]: https://muut.com/riotjs/faq.html
tipiirai · 2015-01-23
Riot is compared to React mostly and React worked as an inspiration for it. We totally see the value in it. We have used it and still use it on production. Not sure if you have seen the React vs Riot 2.0 comparison:
https://muut.com/riotjs/compare.html
bshimmin · 2015-01-22
It seems like their manifesto here hasn't really stood the test of time: https://muut.com/blog/technology/riotjs-the-1kb-mvp-framework.html
(The bits about jQuery at least, anyway.)
Nekorosu · 2015-01-22
They have a different approach. There are some details under "Same but different" part of comparison to React.
https://muut.com/riotjs/compare.html
mxpxrocks10 · 2014-08-05
they did a very transparent post on the production gottcha a few months ago. https://muut.com/blog/news/april-2014-service-failure.html
JLehtinen · 2014-08-05
This blog entry offers more detail on the Redis setup: https://muut.com/blog/technology/redis-as-primary-datastore-wtf.html
aleem · 2014-06-13
This is the first I have heard of Vue and am impressed by its simplicity and intuitiveness.
In particular, I like that the JS code is free from cruft as in the other examples there. I also like that the HTML stands on its own which makes the UI design process easier.
Prior to this I had been considering RiotJS[1].
[1] https://muut.com/blog/technology/riotjs-the-1kb-mvp-framework.html
apo · 2017-03-12
> Now to you: how do you deal with JS fatigue?
If possible, ignore Internet Explorer completely. All the other current browser versions support ES6 (sans modules). A wonderful little utility called Reify allows you to load ES6 modules in node without transpilation:
https://www.npmjs.com/package/reify
For packaging those modules to use in a browser, there's Rollup:
http://rollupjs.org/
Both are fast, even for largish JS projects. Reify allows me to write clean code and tests in Node using bone stock Mocha and Chai configurations. When I need to deploy to the browser, I reach for Rollup.
This method allows me to eliminate a good chunk of the complexity swirling around Babel and its dependents.
As far as React - I found the learning curve quite steep. Once I was comfortable enough with its core concepts, though, I found Riot to be more suitable (and quite a bit simpler) for the medium-sided applications I'm building:
http://riotjs.com/
Keeping with the attempt to promote clean code and avoid transpilation, I don't write Riot "tag files" (Riot's version of JSX) but instead use built-in ES6 template strings:
https://muut.com/i/riot-js/using:the-case-for-not-using-riot
In other words, I strive to base my projects on pure ES6 only. No fancy inline markup. No bleeding-edge ES7 features. Just plain old ES6. When native import/export finally arrives for Node and browsers, there will be almost nothing needed to switch.