Closed cowboy closed 8 years ago
:boar: :+1:
Having the list above addressed in a thorough way would be a great base to start off of I think.
:heart:
I think a good starting point would be to take each bullet item one-by-one and propose content ideas. Like what tutorials or screencasts should we create? Etc.
Tweet more consistently. Publish regular blog posts highlighting favorite plugins, tutorials, releases, etc.
Maybe some way to allow people to submit suggestions and encourage they doing so.
We could have a weekly/bi-weekly digest post that is a collection of @grunt tweets, community efforts and other things happening.
Adjust docs to address community questions or misunderstandings.
I think the most important thing we can do here is to move all the docs to the grunt-docs repo so people can file tickets/PRs.
Respond to StackOverflow questions tagged gruntjs.
Recommend people following the tag to help out. It's not clear that you can do that. We need more people helping each other out and answering questions.
// @cowboy can you tweet about this ticket from @gruntjs
?
How about a newsletter?
@bevacqua if we go for a weekly digest post it could be both. But, we need someone willing to maintain it.
case studies, i.e. "so-and-so is using grunt to do XYZ- here's how"
I would love to see more tutorials and blog posts about how Grunt benefits the "common" front-end dev. Perhaps a "why would I use this?" series.
I think a weekly digest with new trick and tips with useful tasks will be very helpful to developers. Or a live coding session on Hangout to show the best way to use it.
How about Railscast-style screencasts (with text tutorials, if it's not too much extra work) that spotlight different Grunt tasks? Definitely want to show off the giant ecosystem :)
Maybe evangelism swag? I'd love to have a Grunt sticker on my laptop; so when someone asks about it I can tell them the good news.
"Create our own tutorials, screencasts, guides" <-- this I'm not ashamed to say that "yes I want someone to hold my hand and walk me through the entire process" :-) Of course hand holding is not a requirement. I'll learn to use it anyway. But it definitely increases peoples willingness to dig in and then they start advocating for it.
To expand on what @pfulton said, there's a feeling among many front-end developers and designers who are not so technically hardcore that tools like Grunt are over the top, cleverness for its own sake etc. This is a shame, and perhaps some content could be targeted at these people to encourage them to give it a try.
@mattdsteele stickers :+1:
I agree screencasts would be very helpful.
Also, how about decoupling ourselves from Node? That would allow us to reach people who aren't using Node. I'm just talking about providing a stand-alone bundle, or something along those lines, for non-noders
Publish regular blog posts highlighting favorite plugins, tutorials, releases, etc
The common things I see front-enders new to Grunt trying to do include:
It would be nice to see a set of tutorials or docs cover these. You'd be surprised at how often people simply don't read the READMEs nor grasp how easy it is to get some of this stuff setup. Complimentary screencasts showing each of these steps in a short, but clear way could also be helpful.
For more advanced users, cover how you can improve build performance/times. Things like how to concurrently run tasks, only run those tasks where files have changed (grunt-newer) etc.
Big plus one on more tweets. When it comes to recommending what tasks to tweet include some context. Why is this something you might want to use? How does it help? etc.
I'm more than happy to try helping with some of this.
It would be great to have a "popularity" metric on the Grunt Plugins page. Oftentimes, there are many competing plugins that all claim to solve the same problem.
The last modified date already helps to weed out abandoned plugins. But perhaps a popularity metric based on "Github Stars" would help, as well. Projects with more stars could rise to the top.
I do realize that not all plugins are hosted on Github, so maybe this would unfairly penalize such projects. Maybe there's a way to infer popularity from several different sources?
Predefined configs will add more developers. They will be able to start with them and then customize
I agree with @addyosmani on the individual items Grunt can do. When I started with Grunt I was finding really large Grunt files, go through the whole thing, and understanding what was going on just to take only one piece. I think if there was a Github repo for each item, showing the Grunt file and folder structure it would help really simplify peoples understanding of how it works.
The other thing would be a tips newsletter or blog. Showing something cool someone did. Maybe even categories based on skill level. Becuase Grunt "can" be easy, but it can also be very complex when you get good at it.
Though reading the docs is the best way this outlines a good reason for in depth explanations of even the simple things. https://gist.github.com/isimmons/6781336
off-topic, deleted by @cowboy
@isimmons what you wrote is helpful, but only partly. Can you propose a solution to the problem?
I like the idea of "Use Case" based tutorials...with Grunt used to solve only one or two specific problems at a time. I think newbies get overwhelmed when they see huge gruntFiles and Grunt secretly running the federal government via plug-ins...oh wait....
Seriously though, I believe the target audience is someone lower level than most docs/tutorials assume. All the "wicked smaht and cool" kids are already using Grunt, or they have good reasons to be using something else. There is a lot of potential growth from the segment new to JS and even automated workflow processes.
Also, by making tutorials much smaller and more narrowly focused, it's easier for people to squeeze in a 3-7 minute screencast to answer a specific problem and move on with their day than try to find time to watch and absorb a 40-90 minute video covering end to end. Egghead.io is using this tactic to great success with teaching Angular.
Better discoverability of plugins. I was thinking about changing the plugins page to show popular and new plugins, kind like sindresorhus.com/bower-components/.
@cowboy People like @addyosmani advocating/evangelizing and writing tutorials is the best way in my opinion. A while back there was a course on nettuts which I bet doesn't work any more http://net.tutsplus.com/tutorials/javascript-ajax/meeting-grunt-the-build-tool-for-javascript/
Since changes in how grunt, grunt-cli, and individual contribs work in recent months, I think a session on nettuts, or full course on tutsplus would do a lot to promote Grunt and who ever is willing to put in the work could get paid as a nettuts/tutsplus author. Consider how Laravel blew up in popularity because of people like Jeffrey Way showing people how to use it.
Basically the list by @addyosmani above outlines the main things newbs and designers are trying to do with grunt.
As @thomasboyt mentioned above, a rails-casts like site would work too. I'd pay a fee for advanced topics if the basics were free.
But most important IMHO to newby understanding is full build walk throughs with explanations of each part.
Wow, so cool! All this input is very helpful in order to paint a picture of where the actual pain points are concerning Grunt documentation and learning.
There seems to be a great need to document Grunt from a very basic level upwards.
Here is what I think we need to do/can do broken down point by point using @benalmans initial list up top as a guide.
Here is what can be done:
I think there should definitely be regular "highlight-type" posts about interesting gruntplugins and third-party documentation of Grunt.
@sindresorhus suggestion of the weekly or biweekly digest in form of a blog post & newsletter would be a great addition to that and also a good way to summarize the highlight-posts.
MailChimp has a plugin that can send out weekly newsletters comprised from an RSS feed.
Now this is the most interesting part to me. This is where most of the feedback in this issue comes in.
I like @sindresorhus suggestion to make the docs PRable.
On top of that careful consideration could be given to community suggestions to address certain misunderstandings.
Maybe documentation should be rethought and reorganized with a lower skill-level assumed.
I love this idea.
Also:
Depending on what the community comments are about:
:boar:
Being more active on IRC? O:)
@kud yes, please!
@kud yes!
I think hosting a conference shows that this is a serious project with a lot of invested minds on it.
I've interviewed lot of smart successful JS engineers who have heard of Grunt, but haven't given it a try. This might convince them that it's become "mainstream" enough that it's worth at least trying.
Haha @dylang I would SO go to :boar:-conf
:smiley:
Would it be possible to provide less templating when initializing a README.md
for a new gruntplugin? A lot of the time I'll see published plugins that just have the default README (https://npmjs.org/package/grunt-wrapper | https://npmjs.org/package/grunt-md5versions | https://npmjs.org/package/grunt-bower-commands | https://npmjs.org/package/grunt-source-wrap just to name a few) - sure, a lot of newcomers to Grunt will perhaps start with the grunt-contrib-x
type plugins but surely having plugins out there that don't provide clear, proper documentation aren't helping.
I shouldn't have to look through the tasks directory just to find out what a plugin does!
A grunt-news
task which displays you at all ends of compilation the latest news of Grunt in your shell :D
:boar:-powered chat?
grunt-help
a task to start an irc client in shell to have help on #grunt channel. ^^
I started a repo that consists of a few devs Gruntfiles -specifically for authors new to Grunt see how other devs approach their workflow with the tool. We just don't have a clear course with it yet. Still kind of hazy. I've experienced newbs to Grunt always battling the setup. What do I use? How do I make it work in my Gruntfile? etc. https://github.com/Gruntfiles/gruntfiles.github.io
Yo guys, Just weighing in on what @pfulton and @davidjgoss wrote.
I am not a tech-guy, but I still really want to use grunt. However, as a non-dev guy, good starting resources for grunt are scarce. I had to stay really motivated for multiple days to find and try many different usage scenarios and tutorials, before understanding what is grunt, how it can help me, how can I change its behavior to fit my needs, etc.
My main feeling was: hell, it's gonna be a pain to learn. Is it worth the time?
After a friend of mine gave me the exact same feedback few weeks later, we were motivated to act. We've now begin to write help resources, targeted more specifically to beginners, casual front-end guys, or even designers/PMs who occasionally need to get their hands dirty.
So, just saying that we're more than interested by this topic, and are willing to help popularizing this tool, cuz it's freaking awesome!
I think if there was a Github repo for each item, showing the Grunt file and folder structure it would help really simplify peoples understanding of how it works.
@poeticninja I started working on something like that: https://github.com/sindresorhus/grunt-examples
Better discoverability of plugins. I was thinking about changing the plugins page to show popular and new plugins, kind like sindresorhus.com/bower-components/.
@joefiorini @geekdave would love some help on this. Ticket: https://github.com/gruntjs/gruntjs.com/issues/68
Huge :+1: to @kahlil's comment.
To be able to achieve this we need more people involved.
As per multiple comments, a lot of newbies/designers/etc are using grunt and it would be awesome to have some kind of interactive learning tutorial. Maybe something web based like the Knockout tutorial: http://learn.knockoutjs.com/ Or maybe right in the Terminal, like the LearnYouNode: https://github.com/rvagg/learnyounode#learn-you-the-nodejs-for-much-win
I just wanted to make that :boar: . Cute little fellar :-)
@sindresorhus is right. In order to execute the things that need to be done we need a bunch of people working on this.
I don't think everything needs to be addressed from the beginning but we could define some starting points, assign people or teams to it and then go from there. Build it out.
Now what are the right starting points and the low-hanging fruit?
Low-Hanging :cherries: :green_apple: :lemon:
The first two points would do a lot to promote Grunt quickly and consistantly I think.
Now on to the high-hanging :pineapple: :peach: :grapes: that should be adressed right away.
These two points should or could also be addressed in those tutorials/screencasts:
I think those are the most important points that should be addressed first.
The icing on the cake at the beginning or the aspects that could be built out later are:
Is there anybody who would like to work on something specific here?
Holler!
These are the things I would like to help with:
:boar:
@kahlil nice summary write-up
On the low-level tutorials aspect (and I'm not sure if this is :boar:-promotion :person_with_blond_hair:-promotion), I'm writing a book where I discuss build processes in JavaScript (using Grunt for the examples), and I'm also covering deployments, application architecture (again, in JS), and I'm providing examples along the way, as well as an entire part (some 4 chapters) dedicated to a fully working application that includes a build process and does something useful.
I'm hoping this could be a solid starting point for people not that familiar with Grunt and even Node (think a front-end developer who wants to go full-stack).
The one thing we could / should get started right away on is the newsletter. I could take up on that grunt task. Also, I might give short screencasts a shot. I'm thinking of something like what egghead did on angular.
The one thing we could / should get started right away on is the newsletter. I could take up on that grunt task. Also, I might give short screencasts a shot. I'm thinking of something like what egghead did on angular.
@bevacqua so this would entail creating the weekly or bi-weekly digest for blog and newsletter, grunt-news roundup so to speak.
I'm fine with that. Just let me know where to start
I'm fine with that. Just let me know where to start
@bevacqua noted! :+1:
Document all the things!
@addyosmani's list is very helpful here. I am using it as a guide and drill into some of the points.
npm init
grunt-init
or generator-gruntfile
grunt-init
or generator-gruntplugin
Suggestions welcome!
:boar:
PS: on Twitter somebody suggested doing a grunt-podcast. I like that idea aswell.
I think it would be helpful if we define a certain standard set of information every Stackoverflow question should contain, put that online and send people there to improve their questions.
For instance wouldn't it be helpful if each of the questions would include:
What else?
:boar:
@kahlil you got me thinking something else. how about posting "perfect" question-answer pairs to SO, detailing what grunt is, how to use it for simple scenarios, and where to get more information?
How can we better promote Grunt?
I, along with @sindresorhus and @kahlil, who emailed us recently, have a few ideas.
We should:
gruntjs
.What else?