Dealing with the Mootools Community

April 4th, 2009, 1:23 pm

One of the problems with Mootools is that it doesn’t cater to the masses. While most communities are answering questions on printing “hello world” - the mootools users just laugh at these people and move on. To the detriment of the project, the Mootools team is quick to squash anything that looks like laziness. Luckily for the Mootools authors, they have an awesome framework.

I used Mootools on this site to build an indestructible AJAX interface (downgrades to regular HTTP requests) despite my lack of JS knowledge. Mootools makes programming in JS so much easier for people that come from other backgrounds like myself. As a PHP developer with my own Object-Oriented framework I wouldn’t call myself lazy or a programming newbe. I usually take the time to thoroughly research something before I ask it. However, if I am not careful my Javascript questions can appear as a show of researching laziness when in fact it is my newness to UI development.

Despite having many of my questions ignored, I have found that you can get great answers from Mootools users if you ask in the right way. For one, proper spelling, grammar, and sentence structure should be used. As accomplished programmers, most users and team members will ignore users that prove they have no potential by the way they speak. After all, who wants to waste time on something with no potential?. Second, you should have already attempted whatever it is you are asking - even if you failed miserably. The fact that you tried shows that you are not just looking for other to do work for you. Finally, you should have some code or examples to make it easy for someone to point out your error - rather than easy for someone to mock you. If you don’t know where to start, then make sure you cover point two very well. Someone who can communicate effectively is someone others will value.

Nevertheless, you and I both know that most people will never change their ways just to use a product. If someone is going to use bad practice and ask dumb questions - then they will look for a community which will allow that. While Mootools has great community members building for it - I don’t think it will survive (let alone thrive) unless they figure out a plan to handle the masses of users looking for simple answers. After all, why do people use windows? Because any moron can start one and questions can be asked and answered anywhere. Therefore, as the mootools team should have figured out by now - jQuery is far ahead because they support the masses. Which means they get the big deals. Which means they will win.

One last example I can point to is the creation of several “windows friendly” versions of Linux. While the proud, arrogant, and experienced laugh at those projects - they are responsible for large waves of users joining the Linux movement. To make it as a project, your users must make it too.

Comments

Rey Bango

Nice post David. Apart from supporting the masses, we go to great lengths to support & nurture our community. It goes beyond just helping people with "hello world". It's being very active with jQuery developers on many mediums as well as being proactive in ensuring that we provide the information, tools & resources necessary for jQuery developers to be successful. And even beyond that, we believe in ensuring that jQuery developers can have a choice of the best options out there which is why we've built the library to work with other frameworks like MooTools or Prototype. We prefer not to lock users into a specific framework because we realize that there are some cool things being built by others who are not jQuery developers.

Our community is our #1 priority, not an afterthought, and we want everyone, even beginners, to realize the power & flexibility of jQuery & be able to do it at a pace that they're comfortable with.

Rey jQuery Team

David

Thank you for you comment Rey, it shows my point. Just over an hour after publishing this you have already found my post on some random blog who-knows-where on the internet. How you found this page is beyond me - but the point is that you show how the development team is out there on the web looking for and interacting with other users.

I would now say that half my JavaScript Development time is spent with jQuery solely on the fact that the community is growing so much faster than Mootools. While I would love to keep on with Mootools - I know that one day it will die out if it doesn't change paths.

Users aren't interested in products - that aren't interested in them.

Aaron Newton

Thanks for sharing your thoughts about the MooTools community, David. As one of the people who has written about and thought about the MooTools community for several years, it's interesting to see the perspective of someone who has to deal with it as a member of it.

Before I share a few of my own thoughts, I think I need to take a moment to rebut some of the things you've written above.

Luckily for the Mootools authors, they have an awesome framework.

It's not luck. It takes a lot of work and time to make the framework as good as it is. It means focusing on why we do it and not adding everything that we can imagine. Part of our goal with MooTools is to make it as elegant as possible, and that means focusing on the details. It is not luck.

If someone is going to use bad practice and ask dumb questions - then they will look for a community which will allow that.

And they should. MooTools is not designed for people who don't know how to program. If you know how to write HTML and CSS and use Photoshop (all fine skills!) but not how to write JavaScript and you want an image gallery on your site, MooTools is just not for you. MooTools is a great framework to learn how to program, but it's a terrible framework if you aren't interested in doing that. You're better off with other frameworks that are more focused on wide adoption who make using the framework easy. MooTools is focused on making programming easy and efficient.

While Mootools has great community members building for it - I don’t think it will survive (let alone thrive) unless they figure out a plan to handle the masses of users looking for simple answers.

I disagree with this statement. You are equating survival (as if that is dictated by some market force - it exists because we use it and write it; it does not need a business model, only our interest and our time) with popularity. If you measure the value of the technology by it's adoption rate, then you can easily argue that MooTools is "loosing" or "not succeeding" but there's a cost to focusing on such things. We prefer to focus on the code itself and on making a good programming environment, not on making it easy for people who don't know how to program to use it.

Don't get me wrong, these are admirable goals. Making technology simple for people to use empowers people and I'm all for it. Wordpress is a great example. It's awesome software that makes it super easy for people to administrate their own blogs. Most people who use it know little if any php. Wordpress makes the world better by giving people a platform to share ideas.

For JavaScript, jQuery in particular has made it easier for lots of people to make things interactive and animated. People who don't know JavaScript can add some functionality - a slideshow or a date picker for example - to a page without having to learn JavaScript. Saying that MooTools is loosing with that audience is like saying that Toyota is loosing out against Harley Davidson. The two are not competing.

But your post, in general, was that the MooTools community is rather difficult. I agree with this assessment. The users there are less tolerant of people who don't know how to program and, even less tolerant of people who demonstrate a lack of effort. People who post "Accordion doesn't work for me. WTF?" are not going to get a good response here any more than if you showed up on the development mailing list for Ubuntu and said "Firefox won't load for me. WTF?" The people who work on Ubuntu know Firefox works fine. It's possible that there is a bug and that this user has found one, but the message isn't at all informative or useful.

In general, we (the core MooTools team) ignore such posts. If you look at the users who are most active on the MooTools forum:

groups.google.com/gr...ols-users/about

You'll see that I'm at the top of the list. In addition to being very active and helpful in our community I blog about it (www.clientcide.com), manage our main tutorial (www.mootorial.com) and I authored the book on our framework. I and the rest of the team spend a LOT of time providing resources to our users to find their answers and answering their calls for help. But we tend not to be responsive to people who don't post requests that demonstrate that they have tried. People who post code, links to pages that demonstrate the problem, or reference demos and documentation tend to get answers. People who just post "WTF?" posts tend not to.

We don't mean this to be ugly, it's just that we have a lot of other things to do, and answering questions from people who don't try isn't one of them. For people who feel that MooTools isn't easy enough to use, we are happy to refer to them to other frameworks. It's not that we think they are better or that their communities are better equipped, it's that we recognize that people who can't program or don't want to learn to are not going to find MooTools is right for them anyway.

I'll end with one last comment. We aim to be helpful, professional, people. Our community is made up of numerous types of people that we don't control, but our development team lives by the general rule, "If you can't say anything nice, help someone else."

David

Thank you for that long description of where you believe the team stands. I have the utmost respect for you Aaron because of all of the hard work you have put into helping others with Mootools. If I sounded hard on the whole community I'm not - there have been several people like yourself that have been quick to support users like myself. So thank you.

It's not luck. It takes a lot of work and time to make the framework as good as it is.

I apologize for not choosing my words better. I didn't mean to take anything away from the hard work that has been put into Mootools. After all, that is the reason I use it.

If you know how to write HTML and CSS and use Photoshop (all fine skills!) but not how to write JavaScript and you want an image gallery on your site, MooTools is just not for you.

Now back to the heart of the post. This is the one thing that I want to see Mootools change it's mind about. On a competing market the products that don't invest large amounts of time into their community (however dumb the end users may act) eventually disappear or fade into groups to small to matter. The point I am trying to make is that I don't want to lose Mootools. I am not trying to find problems with the Framework - as I already said I would rather use it because of the quality of the system. But I want to do my part to make sure that mootools never dies because of the perceived "harsh elitist community" that has no room to tolerate beginners. Again, I know that a lot has been invested into the documentation, support, and general community upkeep. But not enough to top other more "friendly" projects like jQuery. Please Mootools, change this before something happens.

I disagree with this statement. You are equating survival (as if that is dictated by some market force - it exists because we use it and write it; it does not need a business model, only our interest and our time) with popularity.

I know that sometimes it is easy to decide that even if the whole world leaves for some other framework and only the developers keep using Mootools it will be alright. However, I don't want that for Mootools. I can't stand seeing good projects held back by anything. And yes, survival is equal to market share. Look at the Postgre Database, it is in many ways superior to MySQL - but it failed to capture users and a community of regular users in the early days. Now it has paid years of struggling to get back to competing with MySQL. It wrote off users that it considered not worth the time and catered only to high level DBA's. If it had only known how important getting a community behind it would have been - I am sure they would have altered their stance a little more.

So what does this mean for Mootools? Should they dumb down the code to make it easier? No (actually I don't think it could be any easier to use). Should they waste time answering "Mootools Doesn't Work!" questions? No. Both of those points are often what people suggest - but I don't think that is what is needed. As busy people you don't need to waste your time with pointless posts - or sacrifice your code to make it more jQuery/Dojo/Proto/etc like.

The main thing that is needed is an official forum where users are ABLE to post dumb questions (whether they are answered is not the point) and replies should NOT given to users if they are defacing. That is what people look for in a project. If there is a forum there is a place of easy interaction and sharing. Personally, I think the google groups is a joke of a discussion area. I don't know what Google was thinking but it is a pain to use from a usability/accessibility perspective. I say that from experience being apart of many google groups right now and using/browsing just about every type other of chat/mail list there is.

Second, a larger documentation collection would be great but understandably is a lot of work - that is where the community comes in. Google shows about 1,230 pages in the jQuery docs section while mootorial is only about 93 pages. Where do you think they got all those pages? As they encouraged the community to grow - users contribute more thereby freeing the main team from even having to deal with it. Take a look at the Drupal node growth from the community they have foundered. Do you think Dries Buytaert wrote over 120,000 nodes by himself?

Mootools doesn't have to encourage dumb user actions - but trying to deny them and remove those users from the community is dangerous to any project. This is the one point that jQuery gets while mootools doesn't - and sadly that is holding Mootools back.

If the lead project manager or start-up CEO can't ask a dumb question - then he will never allow his (better trained) team to use the system.

Aaron Newton

Side note: it would be nice if your blog could let people subscribe to comments and get emailed when new replies show up. I would have probably not come back to check this thread if you hadn't pinged me...

The main thing that is needed is an official forum where users are ABLE to post dumb questions (whether they are answered is not the point) and replies should NOT given to users if they are defacing. That is what people look for in a project.

I think this is actually the case. The thing is, on the MooTools forums, we were constantly battling the few people who were there who were, frankly, ugly people. They were mean spirited and loved to argue. Trolls. We banned people and then fought the backlash of doing so. We locked threads and then played whack-a-mole trying to shut down the new ones that popped up about that action. We, the developers, ended up spending a LOT of time trying to make our community friendlier and it was just not worth it.

When we moved to the Google Group, it got better. The trolls are just not as active or even present. But the important thing is that we let the community be what it wants to be. It's a reflection of our users and not of us, the developers. Again, we try to be nice, friendly, helpful people, but we can't control everyone. But I look at almost all the posts on the Google Group and I'll say that nearly all the posts there are helpful and friendly.

I think that part of that is that the people who aren't putting any effort in (the "WTF?" posts) just don't post as much. But those who do tend to get helped more often than not.

Personally, I think the google groups is a joke of a discussion area. I don't know what Google was thinking but it is a pain to use from a usability/accessibility perspective.

There's a Nabble version of the forum that's far friendlier if you're used to traditional forums:

n2.nabble.com/MooToo...rs-f660466.html

Second, a larger documentation collection would be great but understandably is a lot of work - that is where the community comes in. Google shows about 1,230 pages in the jQuery docs section while mootorial is only about 93 pages.

Well, the MooTorial is a wiki - anyone can edit it. The MooTools documentation is on github; anyone can make a change and send a pull request. I agree, however, that we could benefit from engaging our community more to help them help themselves with demos and whatnot.

If the lead project manager or start-up CEO can't ask a dumb question - then he will never allow his (better trained) team to use the system.

ANYONE who wants to ask a question - dumb or not - can ask it. If they ask a question that has been answered (a dozen times) before or they ask a question that clearly implies that they aren't looking for an answer first (why doesn't accordion work? what makes MooTools better than X framework? why doesn't MooTools do X like Y framework does?), they aren't going to get a helpful answer if they get one at all.

But I have a hard time believing that a project manager or a CEO would show up in our group and ask such a stupid question. The people who ask questions that imply a lack of effort usually are the people that we can't help anyway. MooTools just isn't going to work for them if they don't want to learn it.

For what it's worth, I think MooTools should be and could be a much more popular framework and for a long time I tried to make it into one with my personal efforts (the tutorials, the book, my blog, my code releases, etc), but I've come to realize that there's greater reward in just getting involved and contributing to the framework and making it better. People who switch to MooTools find it's elegance and powerful interface refreshing, and the people who leave to use another framework probably find it's structures too complicated. I don't morn their leaving and I wish them well. Choosing a JS framework is about choosing one that's best for you. MooTools isn't the right choice for people; it's not for beginners. I'm ok with that.

David
The thing is, on the MooTools forums, we were constantly battling the few people who were there who were, frankly, ugly people. They were mean spirited and loved to argue. Trolls. We banned people and then fought the backlash of doing so.

Yes, I can't blame the actions that the mootools team took. I too felt they were justified in following that course. However, lately I have wondered if there isn't a better way to have handled it. After all, there is always a better way to do everything.

Take this site, when a comment is submitted I A) check with Akismet to see if it looks like spam - if it does I B) ask the user to complete a captcha. Most blogs either make all users answer a captcha or forgo the captcha and just mark comments that look like spam for the author to have to deal with. While both methods are widely used, I didn't want to have to deal with comments - yet I didn't want to scare off users with captcha images when they weren't needed. I found how to make this work for everyone.

Some how every large project has found a way to make a forum work. From PHPFreaks to jQuery admins are able to deal with the trolls that always show up. My suggestion to the Mootools team is that you are handling comments incorrectly. While this may or may not be correct it might be something to think about. Perhaps use a forum that has a report feature to allow the community to moderate itself. Then when users post absurd posts they won't feel like the admins are out to get them when one of the team members is forced to close a topic. After 12 people or so rate a post as useless then it could just "disappear" or something with ample notice of this system in the forum readme.

I don't know if that is a good idea - but I have seen it used before. Again, the point is that if others have figured out a solution to this problem - I know you guys can too.

On a side note, I plan on doing my part to help the mootools community sometime this summer (maybe fall) when I get my other projects out of the way. Mootools syntax just makes sense and I think it is time I did some videos on it.

Add Your Insight

Please keep your comments clean and helpful. Those cool images you see next to people are their gravatars. You can use obvious HTML. Wrap Code with <code> and </code> (PHP needs the opening an closing tags too!). No substitutions, extensions, or refunds. Void where IE is used. Cash not accepted. I make the rules. Se habla espanol, marko numeral uno.