Thanks, Erik. What you wrote mirrors my own sentiment as well. I really feel like the community is the key thing to spark here. Sure, the Core code could use updates from time to time, especially with all the new devices joining the market, but it's pretty mature and has a sensible API. Personally, there isn't a ton I would change about it, though I have a few minor ideas. Really, though, I think that most of the future of MooTools could live on through plugins, which allows anyone to contribute to the ecosystem without needing to make a huge commitment. We all benefit from that. We have a good start with the Forge, but I think we could do even more.
The biggest part to growing and revitalizing the community, in my opinion, is to make it easier for new users to dive in. This is an area where jQuery has excelled. Even though MooTools is currently marketed toward intermediate and advanced JavaScript developers, I think the majority of web developers probably aren't there and simply want to download a plugin to make a neat widget on a page. Do you need to change the API to be more jQuery-like? Not at all. I think we just need to do a little better job of explaining things to developers who have no idea how to use or build out object-oriented classes, why they would want to do that, and how to use MooTools if you just want to include a plugin on your page. Aaron has done a lot of that with the MooTorial and with his jQuery vs MooTools site, but it can't hurt to have more.
Here are some ideas that I'd like to throw out there as a possible roadmap:
- Start with the redesign of the site to start regenerating interest.
- Pay attention to things like SEO and social throughout. Page title and descriptions, good anchor text, no missing content or funny redirects, microdata, etc.
- Rename the forge to plugins to make it more accessible and SEO friendly.
- Add social sharing widgets on the individual plugin pages and blog posts.
- Hook up all of the social media accounts so that they are updated automatically whenever a new blog post or plugin is added. We could even add a mailing list that sends a weekly digest through something like MailChimp.
- Expand the current demo suite with more examples.
- Use jsFiddle to put actual demos in the documentation for each class, with an emphasis on practical examples and best practices.
- Rework the Forge slightly to add a custom download feature. Basically, this would work the same way as a shopping cart: you add which plugins you want to download and when you "checkout", it grabs all of the necessary MooTools Core/More dependencies along with the plugins and packages it all together for you.
- Along with the above, maybe More could be broken up and moved completely to the plugins section to simplify things for new users.
- The plugin instructions are great, but we could also add a plugin template on GitHub that people can just fork whenever they want to create a new plugin.
- Similar to the current Forge, we could create a directory for MooTools resources that anyone could submit to: books, tutorials, videos, and a community showcase.
- Add more beginner tutorials. I'd be willing to write some and I'm sure others would too.
- Watch the MooTools tag on StackOverflow and similar sites and try to help out as much as possible.
- Submit a package to PHP's Composer and get an updated Ruby Gem for the latest builds of MooTools. I'm not familiar with them, but I'm sure Python, Node, and other languages have something similar. It would be great to have an interface in there for plugins as well.
- Personally, I'd love to see more resources develop around testing JavaScript. I know MooTools has a test runner, but I'd love more docs and tutorials on how to adapt that to my own code. If we could make testing more accessible, I think we could draw in a lot more professionals as well.
Obviously, I can't commit to doing all of that on my own, but I thought maybe I could start a discussion and maybe get the ball rolling.