gruntjs / grunt

Grunt: The JavaScript Task Runner
http://gruntjs.com/
Other
12.27k stars 1.5k forks source link

Promoting Grunt? #926

Closed cowboy closed 8 years ago

cowboy commented 11 years ago

How can we better promote Grunt?

I, along with @sindresorhus and @kahlil, who emailed us recently, have a few ideas.

We should:

What else?

kahlil commented 11 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:

cowboy commented 11 years ago

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.

sindresorhus commented 11 years ago

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?

cowboy commented 11 years ago

RT http://twitter.com/gruntjs/status/385064878660395008

bevacqua commented 11 years ago

How about a newsletter?

sindresorhus commented 11 years ago

@bevacqua if we go for a weekly digest post it could be both. But, we need someone willing to maintain it.

Sequoia commented 11 years ago

case studies, i.e. "so-and-so is using grunt to do XYZ- here's how"

pfulton commented 11 years ago

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.

creativeaura commented 11 years ago

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.

thomasboyt commented 11 years ago

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 :)

mattdsteele commented 11 years ago

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.

isimmons commented 11 years ago

"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.

davidjgoss commented 11 years ago

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.

bevacqua commented 11 years ago

@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

addyosmani commented 11 years ago

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.

popkinj commented 11 years ago

I first heard about Grunt at a conference. Now I use it every day.

As far as developers go... It's hard to beat the amount of exposure you get then at a massive event. I would think more talks or courses at html5dev or jsconf would greatly improve popularity.

geekdave commented 11 years ago

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?

artyomtrityak commented 11 years ago

Predefined configs will add more developers. They will be able to start with them and then customize

poeticninja commented 11 years ago

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.

isimmons commented 11 years ago

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

artyomtrityak commented 11 years ago

off-topic, deleted by @cowboy

cowboy commented 11 years ago

@isimmons what you wrote is helpful, but only partly. Can you propose a solution to the problem?

Sharondio commented 11 years ago

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.

joefiorini commented 11 years ago

Better discoverability of plugins. I was thinking about changing the plugins page to show popular and new plugins, kind like sindresorhus.com/bower-components/.

isimmons commented 11 years ago

@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.

kahlil commented 11 years ago

The Grand Grunt Master Promo Plan

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.

Tweet more consistently.

Here is what can be done:

Publish regular blog posts highlighting favorite plugins, tutorials, releases, etc.

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.

Create our own tutorials, screencasts, guides.

Now this is the most interesting part to me. This is where most of the feedback in this issue comes in.

Adjust docs to address community questions or misunderstandings.

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.

Respond to StackOverflow questions tagged gruntjs.

I love this idea.

Also:

Respond to relevant community comments, in general.

Depending on what the community comments are about:

:boar:

kud commented 11 years ago

Being more active on IRC? O:)

cowboy commented 11 years ago

@kud yes, please!

kahlil commented 11 years ago

@kud yes!

dylang commented 11 years ago

grunt-conf

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.

kahlil commented 11 years ago

Haha @dylang I would SO go to :boar:-conf

:smiley:

ben-eb commented 11 years ago

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!

kud commented 11 years ago

A grunt-news task which displays you at all ends of compilation the latest news of Grunt in your shell :D

bevacqua commented 11 years ago

:boar:-powered chat?

kud commented 11 years ago

grunt-help a task to start an irc client in shell to have help on #grunt channel. ^^

grayghostvisuals commented 11 years ago

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

julienma commented 11 years ago

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!

sindresorhus commented 11 years ago

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

sindresorhus commented 11 years ago

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

sindresorhus commented 11 years ago

Huge :+1: to @kahlil's comment.

To be able to achieve this we need more people involved.

sindresorhus commented 11 years ago

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

isimmons commented 11 years ago

I just wanted to make that :boar: . Cute little fellar :-)

kahlil commented 11 years ago

Action Plan! :heart:

@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.

Starting Points

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:

Who Does What?

Is there anybody who would like to work on something specific here?

Holler!

These are the things I would like to help with:

:boar:

bevacqua commented 11 years ago

@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.

kahlil commented 11 years ago

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.

bevacqua commented 11 years ago

I'm fine with that. Just let me know where to start

kahlil commented 11 years ago

I'm fine with that. Just let me know where to start

@bevacqua noted! :+1:

kahlil commented 11 years ago

Content Roadmap For Tutorials/Screencasts (A Draft)

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.

Suggestions welcome!

:boar:

PS: on Twitter somebody suggested doing a grunt-podcast. I like that idea aswell.

kahlil commented 11 years ago

The Perfect StackOverflow Question

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:

bevacqua commented 11 years ago

@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?