This repository has been archived by the owner. It is now read-only.

What should we build? #1

Open
ProLoser opened this Issue Sep 1, 2013 · 67 comments

Comments

Projects
None yet
@ProLoser
Member

ProLoser commented Sep 1, 2013

https://plus.google.com/115485431256936261338/posts/C5DFPnHk9mk

A lot of us are becoming alarmed at the quality of posts, projects and resources popping up in the AngularJS community. The bottom line is the core team is too swamped to push 'Best Practices' or moderate anymore, and there is no officially documented best practices. It would be nice if there was a way to ensure / improve the quality of posts and projects that arise in the community through a centralized system.

Ideas that have been discussed:

  • An official blog
  • An official newsletter / internet magazine
  • Pro reviewed-quality control
  • A directory
  • A voting and feedback system (StackOverflow-esque)
  • A submission-for-review service
  • Democratically run project (no 'you write for me' or 'i write for you' ownership)

Mix and match. We wouldn't want to discourage bloggers, and we know some of the best devs don't have the time to go to each blog and provide feedback (or blog themself).

CakePHP has the 'Bakery' service (although it lacks voting)

I personally have been actively working to provide a 'Best Practices' repository in the AngularJS wiki (instead of blogging) and the new book by @pkozlowski-opensource and @petebacondarwin is probably the closest thing we have now.

@maciejjankowski

This comment has been minimized.

Show comment
Hide comment
@maciejjankowski

maciejjankowski Sep 2, 2013

  1. I think the best idea would be a combination of blog posts turned "lessons".
  2. Blog has this great feature of "reminding" people there is a new content, while sites like John Lindquist vids offer a benefit of starting where you please.
  3. It must be kept up to date, because Angular is evolving so fast many examples out there are outdated.
  4. Voting is a great idea too, but I think it will push some of the material outside of reach.
    p.s. Democracy doesn't work - there a dictator needed.
  5. I think it might be a good idea to set an Angular "Best practices" badge bloggers could use (they should opt in and have their code reviewed) this way they could be maintained because it would be the bloggers who'd want to participate, not you chasing them to write good code :)

maciejjankowski commented Sep 2, 2013

  1. I think the best idea would be a combination of blog posts turned "lessons".
  2. Blog has this great feature of "reminding" people there is a new content, while sites like John Lindquist vids offer a benefit of starting where you please.
  3. It must be kept up to date, because Angular is evolving so fast many examples out there are outdated.
  4. Voting is a great idea too, but I think it will push some of the material outside of reach.
    p.s. Democracy doesn't work - there a dictator needed.
  5. I think it might be a good idea to set an Angular "Best practices" badge bloggers could use (they should opt in and have their code reviewed) this way they could be maintained because it would be the bloggers who'd want to participate, not you chasing them to write good code :)
@ProLoser

This comment has been minimized.

Show comment
Hide comment
@ProLoser

ProLoser Sep 2, 2013

Member

@maciejjankowski keep in mind a few things:

  1. Lots of blogs, tutorials and feeds already exist
    1. They are labeled as 'tips' or 'best practice' but contain many bad practices
    2. They are privately run
      1. This discourages others to join their project, so they start their own instead
      2. If the owners become busy, the resource becomes outdated
      3. There is no review process for their posts
  2. AngularUI is entirely democratic. I serve more the role of coordinator. UI-Router is an excellent example of just such endeavor
  3. StackOverflow and StackExchange are considered good resources and give voting to the community
  4. Egghead could add an RSS if he wanted. It's also completely run by 1 person.
  5. Solutions such as the G+ page, Brad's postings, twitter, and other crap is just a collection of 'whoever decides to spam this week' instead of a directory with best content pushed to the top
  6. People may not want to be forced into writing on our platform as they may want to keep their own blogs/whatever

Honestly, there's something to be said about ngmodules.org (in fact @jimrhoskins was added to UI when we started discussing this same exact thing almost a year ago) but it's broken, in disuse, and only covers repos.

I'm thinking that it would be best to have a directory cover these primary items:

  1. Blog Posts
  2. Repos (projects)
  3. Resources (all the rest?)

I was thinking it would be nice to have voting & pros/cons in bulleted format, so people can +1 a bullet. This way feedback is constructive (instead of comments like "it sucks") and authors can improve their work and have ratings adjusted accordingly. This was one idea anyway.

Example might be:

Resource: mean.io
Votes: +23 / -3
Pros:

  • Covers full stack integration +4
  • Boilerplates with good tools (ui-bootstrap)

Cons:

  • Improper module structure
  • Long introduction tutorial (use this resource instead)

Related:

Member

ProLoser commented Sep 2, 2013

@maciejjankowski keep in mind a few things:

  1. Lots of blogs, tutorials and feeds already exist
    1. They are labeled as 'tips' or 'best practice' but contain many bad practices
    2. They are privately run
      1. This discourages others to join their project, so they start their own instead
      2. If the owners become busy, the resource becomes outdated
      3. There is no review process for their posts
  2. AngularUI is entirely democratic. I serve more the role of coordinator. UI-Router is an excellent example of just such endeavor
  3. StackOverflow and StackExchange are considered good resources and give voting to the community
  4. Egghead could add an RSS if he wanted. It's also completely run by 1 person.
  5. Solutions such as the G+ page, Brad's postings, twitter, and other crap is just a collection of 'whoever decides to spam this week' instead of a directory with best content pushed to the top
  6. People may not want to be forced into writing on our platform as they may want to keep their own blogs/whatever

Honestly, there's something to be said about ngmodules.org (in fact @jimrhoskins was added to UI when we started discussing this same exact thing almost a year ago) but it's broken, in disuse, and only covers repos.

I'm thinking that it would be best to have a directory cover these primary items:

  1. Blog Posts
  2. Repos (projects)
  3. Resources (all the rest?)

I was thinking it would be nice to have voting & pros/cons in bulleted format, so people can +1 a bullet. This way feedback is constructive (instead of comments like "it sucks") and authors can improve their work and have ratings adjusted accordingly. This was one idea anyway.

Example might be:

Resource: mean.io
Votes: +23 / -3
Pros:

  • Covers full stack integration +4
  • Boilerplates with good tools (ui-bootstrap)

Cons:

  • Improper module structure
  • Long introduction tutorial (use this resource instead)

Related:

@PascalPrecht

This comment has been minimized.

Show comment
Hide comment
@PascalPrecht

PascalPrecht Sep 2, 2013

Member

Thanks @ProLoser for pushing this forward. One question: The example you showed above goes pretty much in a stackoverflow directino (which already has been discussed). For me, its still unclear where would be the resource itself? So there are votes, pros and cons and a "related" section (which is all very awesome). But what about the resource it itself? Is it still hosted "somewhere", so peeps are able to submit links to resources (kinda like Hacker News) or will they land in the directory?

Member

PascalPrecht commented Sep 2, 2013

Thanks @ProLoser for pushing this forward. One question: The example you showed above goes pretty much in a stackoverflow directino (which already has been discussed). For me, its still unclear where would be the resource itself? So there are votes, pros and cons and a "related" section (which is all very awesome). But what about the resource it itself? Is it still hosted "somewhere", so peeps are able to submit links to resources (kinda like Hacker News) or will they land in the directory?

@ProLoser

This comment has been minimized.

Show comment
Hide comment
@ProLoser

ProLoser Sep 2, 2013

Member

I am not sure I follow your question. I figured that the site would be
built with firebase or something and hosted on gh pages and maybe get
linked to from the official website. I thought it would be cool to have an
official ng Internet magazine but a lot of people are already trying to do
that and may not like the idea, even if it is democratically run. Are you
like suggesting that we create some code snippet people place directly onto
their blog or repo (like those 3rd party commenting services)?

Member

ProLoser commented Sep 2, 2013

I am not sure I follow your question. I figured that the site would be
built with firebase or something and hosted on gh pages and maybe get
linked to from the official website. I thought it would be cool to have an
official ng Internet magazine but a lot of people are already trying to do
that and may not like the idea, even if it is democratically run. Are you
like suggesting that we create some code snippet people place directly onto
their blog or repo (like those 3rd party commenting services)?

@ProLoser

This comment has been minimized.

Show comment
Hide comment
@ProLoser

ProLoser Sep 2, 2013

Member

Or follow the bakery example and host the blog posts on this service. The
difference would be we would still show posts on other blogs but unlike all
other services anyone can post immediately, no "you must be illuminati"
crap. Better to encourage people to write or post and then provide feedback
and improve the post than to create more barriers of entry.

Member

ProLoser commented Sep 2, 2013

Or follow the bakery example and host the blog posts on this service. The
difference would be we would still show posts on other blogs but unlike all
other services anyone can post immediately, no "you must be illuminati"
crap. Better to encourage people to write or post and then provide feedback
and improve the post than to create more barriers of entry.

@PascalPrecht

This comment has been minimized.

Show comment
Hide comment
@PascalPrecht

PascalPrecht Sep 2, 2013

Member

@ProLoser Using firebase for that would be awesome 👍 So, no I was just wondering, how submitted resources would be handled at all. So for example, how to submit a resource? Who is able to submit a resource, only "Members" or everybody? How does a submission look like? Does somebody just submit a link to a blogpost in the internet, or will the posts land in the directory somehow?

In short: would that more look like a Hacker News for Angular resources, or will the resources hosted by this whatEverItWillBecome-Site?

Member

PascalPrecht commented Sep 2, 2013

@ProLoser Using firebase for that would be awesome 👍 So, no I was just wondering, how submitted resources would be handled at all. So for example, how to submit a resource? Who is able to submit a resource, only "Members" or everybody? How does a submission look like? Does somebody just submit a link to a blogpost in the internet, or will the posts land in the directory somehow?

In short: would that more look like a Hacker News for Angular resources, or will the resources hosted by this whatEverItWillBecome-Site?

@ProLoser

This comment has been minimized.

Show comment
Hide comment
@ProLoser

ProLoser Sep 2, 2013

Member

I thought it would be cool if we had a mix. Posts made directly to the
service would get the benefit of having more gurus review and provide
feedback, but linking off site would be supported too.

The only membership requirement would be that you have a Github account,
but we would have moderators who are just people willing to spend the time
doing cleanup.

I have found that I prefer the ask for forgiveness than permission approach
in general.

Member

ProLoser commented Sep 2, 2013

I thought it would be cool if we had a mix. Posts made directly to the
service would get the benefit of having more gurus review and provide
feedback, but linking off site would be supported too.

The only membership requirement would be that you have a Github account,
but we would have moderators who are just people willing to spend the time
doing cleanup.

I have found that I prefer the ask for forgiveness than permission approach
in general.

@PascalPrecht

This comment has been minimized.

Show comment
Hide comment
@PascalPrecht

PascalPrecht Sep 2, 2013

Member

In addition, I like the idea of voting resources very much! Much better then comments, although I think there should be a way to comment on resources (maybe only for voters) to have a chance to clarify, why somebody voted down or up (which is probably already covered by pros/cons).

But who will be able to vote? Everybody? Wouldn't actually make sense, since everybody could vote good things down and bad things up. So it seems that it only makes sense if "members" are able to vote. Then there's the next question, how to become a member? And also, if everybody is able to become a member, voting could be open to everyone, where we have the same problems as before.

Member

PascalPrecht commented Sep 2, 2013

In addition, I like the idea of voting resources very much! Much better then comments, although I think there should be a way to comment on resources (maybe only for voters) to have a chance to clarify, why somebody voted down or up (which is probably already covered by pros/cons).

But who will be able to vote? Everybody? Wouldn't actually make sense, since everybody could vote good things down and bad things up. So it seems that it only makes sense if "members" are able to vote. Then there's the next question, how to become a member? And also, if everybody is able to become a member, voting could be open to everyone, where we have the same problems as before.

@PascalPrecht

This comment has been minimized.

Show comment
Hide comment
@PascalPrecht

PascalPrecht Sep 2, 2013

Member

@ProLoser A mix SGTM.

Member

PascalPrecht commented Sep 2, 2013

@ProLoser A mix SGTM.

@Foxandxss

This comment has been minimized.

Show comment
Hide comment
@Foxandxss

Foxandxss Sep 2, 2013

Member

First, thanks for that "tips" and bad practices sentences, sounds for me ¬¬.

I don't think that everyone can vote. People tends to vote up everything they see. Just look to any reddit page with an angular article associated, it always have 3-4 times more positive votes even if they are not that good.

Also I think that people can blog all they want to, if they are bad, they won't get any visit. I don't feel my knowledge getting worse reading bad things, I just keep the best ideas :P

Member

Foxandxss commented Sep 2, 2013

First, thanks for that "tips" and bad practices sentences, sounds for me ¬¬.

I don't think that everyone can vote. People tends to vote up everything they see. Just look to any reddit page with an angular article associated, it always have 3-4 times more positive votes even if they are not that good.

Also I think that people can blog all they want to, if they are bad, they won't get any visit. I don't feel my knowledge getting worse reading bad things, I just keep the best ideas :P

@pearlchen

This comment has been minimized.

Show comment
Hide comment
@pearlchen

pearlchen Sep 2, 2013

So I'm not too sure what the best approach would be at this very moment but, off the cuff:

  1. It should try to work alongside official Angular documentation.

I see the official documentation as a way to get deeper into one specific API, especially to just double-check what the signature of a method is (what parameters it accepts). I wish these pages would be more brief but with more concise and straight forward examples. Very in-and-out!

But for someone looking for more information or context, official documentation could then link out to tutorials from this project so people can see how it fits into a bigger picture.

  1. The organization of tutorials/articles should be based on what people are continually asking questions about. (Maybe people can share their Google Analytics keywords so we can compile together what some of these real questions are.)

Examples:

  • How do I make a directive?
  • How does scope work in a directive?
  • Why shouldn't I have DOM manipulation in my controllers?
  • etc, etc.

Once we have a wide set of questions to work from, I think the best approach would be to find a good base to answer this question (whether it exists already in the official documentation or as a blog article) and then "wiki-fy" it. By wiki-fy, I mean that someone does a code/readability review on it and supplies edits. As time progresses, this article can be continually improved to reflect the latest APIs and include clearer examples.

Just some initial thoughts. I've got more ideas.

pearlchen commented Sep 2, 2013

So I'm not too sure what the best approach would be at this very moment but, off the cuff:

  1. It should try to work alongside official Angular documentation.

I see the official documentation as a way to get deeper into one specific API, especially to just double-check what the signature of a method is (what parameters it accepts). I wish these pages would be more brief but with more concise and straight forward examples. Very in-and-out!

But for someone looking for more information or context, official documentation could then link out to tutorials from this project so people can see how it fits into a bigger picture.

  1. The organization of tutorials/articles should be based on what people are continually asking questions about. (Maybe people can share their Google Analytics keywords so we can compile together what some of these real questions are.)

Examples:

  • How do I make a directive?
  • How does scope work in a directive?
  • Why shouldn't I have DOM manipulation in my controllers?
  • etc, etc.

Once we have a wide set of questions to work from, I think the best approach would be to find a good base to answer this question (whether it exists already in the official documentation or as a blog article) and then "wiki-fy" it. By wiki-fy, I mean that someone does a code/readability review on it and supplies edits. As time progresses, this article can be continually improved to reflect the latest APIs and include clearer examples.

Just some initial thoughts. I've got more ideas.

@ProLoser

This comment has been minimized.

Show comment
Hide comment
@ProLoser

ProLoser Sep 2, 2013

Member

Pinging @angular-ui on this thread.

Member

ProLoser commented Sep 2, 2013

Pinging @angular-ui on this thread.

@ProLoser

This comment has been minimized.

Show comment
Hide comment
@ProLoser

ProLoser Sep 2, 2013

Member

@Foxandxss it wasn't directed at you, there's a LOT of solutions that share that name. Also, I don't know if 'they just up vote everything' is accurate. But most importantly, I'm not saying people shouldn't blog, I'm saying their visitors won't know better. They will usually have no idea about the mistakes in their work, and rather than having people go around to every blog post out there, it would be nice if we had a centralized feedback solution.

This could theoretically become an innovative solution for more than just AngularJS if executed properly.

Member

ProLoser commented Sep 2, 2013

@Foxandxss it wasn't directed at you, there's a LOT of solutions that share that name. Also, I don't know if 'they just up vote everything' is accurate. But most importantly, I'm not saying people shouldn't blog, I'm saying their visitors won't know better. They will usually have no idea about the mistakes in their work, and rather than having people go around to every blog post out there, it would be nice if we had a centralized feedback solution.

This could theoretically become an innovative solution for more than just AngularJS if executed properly.

@ProLoser

This comment has been minimized.

Show comment
Hide comment
@ProLoser

ProLoser Sep 2, 2013

Member

@pchen I am not sure that the resource being the originator of content is the biggest priority. There is an issue of time / energy people are willing to expend to produce such material, and the bottom line is they are either more interested in having their own blog with their info, or they should push back to the docs/wiki. What you are describing is what I've already tried doing on the AngularJS Wiki.

I do think it would be an interesting point to get direct linking between articles and documentation.

Member

ProLoser commented Sep 2, 2013

@pchen I am not sure that the resource being the originator of content is the biggest priority. There is an issue of time / energy people are willing to expend to produce such material, and the bottom line is they are either more interested in having their own blog with their info, or they should push back to the docs/wiki. What you are describing is what I've already tried doing on the AngularJS Wiki.

I do think it would be an interesting point to get direct linking between articles and documentation.

@ProLoser

This comment has been minimized.

Show comment
Hide comment
@ProLoser

ProLoser Sep 2, 2013

Member

Would be nice to get feedback from the @angular team

Member

ProLoser commented Sep 2, 2013

Would be nice to get feedback from the @angular team

@PascalPrecht

This comment has been minimized.

Show comment
Hide comment
@PascalPrecht

PascalPrecht Sep 2, 2013

Member

@ProLoser A general feedback solution that not only works for angular resources. I'm sure this could become a big thing. And yea having feedback from the core team would would be nice.

Member

PascalPrecht commented Sep 2, 2013

@ProLoser A general feedback solution that not only works for angular resources. I'm sure this could become a big thing. And yea having feedback from the core team would would be nice.

@jimrhoskins

This comment has been minimized.

Show comment
Hide comment
@jimrhoskins

jimrhoskins Sep 2, 2013

I like the initiative @ProLoser

I had a lot of the same motivations when building up ngmodules.org. Sadly as is often the case work and personal stuff got in the way of me being able to maintain it as much as I would have liked. It's already open sourced, but I'd happily contribute the database and domain name(s) to this project if people think it could be a good resource.

jimrhoskins commented Sep 2, 2013

I like the initiative @ProLoser

I had a lot of the same motivations when building up ngmodules.org. Sadly as is often the case work and personal stuff got in the way of me being able to maintain it as much as I would have liked. It's already open sourced, but I'd happily contribute the database and domain name(s) to this project if people think it could be a good resource.

@adamnemecek

This comment has been minimized.

Show comment
Hide comment
@adamnemecek

adamnemecek Sep 2, 2013

I feel like what's missing is some sort of larger scale demo application where angular's strengths and best practices could be shown. I'm thinking of some sort of twitter clone to follow Rails Tutorial's suit. I'm aware of builtwith.angularjs.com but none of the open source projects there (or at least the ones I've seen) both a.) are larger scale and b.) follow best practices. Like articles about best practices are all good and dandy but at the end of the day, it's code that matters.

adamnemecek commented Sep 2, 2013

I feel like what's missing is some sort of larger scale demo application where angular's strengths and best practices could be shown. I'm thinking of some sort of twitter clone to follow Rails Tutorial's suit. I'm aware of builtwith.angularjs.com but none of the open source projects there (or at least the ones I've seen) both a.) are larger scale and b.) follow best practices. Like articles about best practices are all good and dandy but at the end of the day, it's code that matters.

@richardcrichardc

This comment has been minimized.

Show comment
Hide comment
@richardcrichardc

richardcrichardc Sep 2, 2013

Lead by example. Provide a clear standard and people will follow.

Get someone in the the core team who's job is to write articles/examples/documentation etc posting on the official Angular blog. They will be close enough to the core developers to be in the loop and get feedback before posting etc.

If you find good posts up to the 'standard', link to them from the main blog.

This person will also have time to ensure communication from the core team about key issues is clear and concise. I've been confused about when 1.2 was coming out, , I thought it was about 3 months ago. There was that big announcement and video, then it never turned up, I'm pretty sure I'm not the only one.

richardcrichardc commented Sep 2, 2013

Lead by example. Provide a clear standard and people will follow.

Get someone in the the core team who's job is to write articles/examples/documentation etc posting on the official Angular blog. They will be close enough to the core developers to be in the loop and get feedback before posting etc.

If you find good posts up to the 'standard', link to them from the main blog.

This person will also have time to ensure communication from the core team about key issues is clear and concise. I've been confused about when 1.2 was coming out, , I thought it was about 3 months ago. There was that big announcement and video, then it never turned up, I'm pretty sure I'm not the only one.

@Omnipresent

This comment has been minimized.

Show comment
Hide comment
@Omnipresent

Omnipresent Sep 2, 2013

I concur. I think what is required is a real world application built with AngularJS. New features could be added to this application as AngularJS improves or people could send pull requests to improve how a certain feature has been implemented. I came across this very detailed AngularJS tutorial http://www.thinkster.io/AngularTutorial . I think there is a lot of value in something like this being backed by Angular officially.

Omnipresent commented Sep 2, 2013

I concur. I think what is required is a real world application built with AngularJS. New features could be added to this application as AngularJS improves or people could send pull requests to improve how a certain feature has been implemented. I came across this very detailed AngularJS tutorial http://www.thinkster.io/AngularTutorial . I think there is a lot of value in something like this being backed by Angular officially.

@dylang

This comment has been minimized.

Show comment
Hide comment
@dylang

dylang Sep 2, 2013

I'd like to see some kind of jslint/jshint/eslint tool that I can run via grunt as I'm working and it can help me when I'm not following best practices. nglint?

dylang commented Sep 2, 2013

I'd like to see some kind of jslint/jshint/eslint tool that I can run via grunt as I'm working and it can help me when I'm not following best practices. nglint?

@saada

This comment has been minimized.

Show comment
Hide comment
@saada

saada Sep 2, 2013

Screencasts + Collaborative projects.... In my opinion what the Angular community lacks is provision of complex projects with screencasts to tutor viewers... What if we all worked together on sample apps. Not just TODOMVC... Something bigger... To show the real power of Angular directives, and all its features!

saada commented Sep 2, 2013

Screencasts + Collaborative projects.... In my opinion what the Angular community lacks is provision of complex projects with screencasts to tutor viewers... What if we all worked together on sample apps. Not just TODOMVC... Something bigger... To show the real power of Angular directives, and all its features!

@EricSimons

This comment has been minimized.

Show comment
Hide comment
@EricSimons

EricSimons Sep 2, 2013

Member

Hey all - so a lot of this is pretty much in line with what we're doing at Thinkster.io. I see a few folks in previous comments have linked to our tutorial & AngularJS curriculum, so a few of you are familiar with our format. If not, take a look at http://www.thinkster.io and poke around. Basically, we've built an awesome curriculum & tutorial that not only teaches you the concepts behind AngularJS but also how to use them in a real world application.

Within the next few weeks we're going to be opening up our author tools to a few key folks in the AngularJS community, and we've come up with some ways to only allow quality posts to be surfaced. Since we're already working on this full time and have a lot of traffic, it might make sense for this initiative to be tested on the upcoming release of our platform. We'd be more than happy to give author privileges to everyone in this group.

Member

EricSimons commented Sep 2, 2013

Hey all - so a lot of this is pretty much in line with what we're doing at Thinkster.io. I see a few folks in previous comments have linked to our tutorial & AngularJS curriculum, so a few of you are familiar with our format. If not, take a look at http://www.thinkster.io and poke around. Basically, we've built an awesome curriculum & tutorial that not only teaches you the concepts behind AngularJS but also how to use them in a real world application.

Within the next few weeks we're going to be opening up our author tools to a few key folks in the AngularJS community, and we've come up with some ways to only allow quality posts to be surfaced. Since we're already working on this full time and have a lot of traffic, it might make sense for this initiative to be tested on the upcoming release of our platform. We'd be more than happy to give author privileges to everyone in this group.

@Foxandxss

This comment has been minimized.

Show comment
Hide comment
@Foxandxss

Foxandxss Sep 2, 2013

Member

Thanks but I still wants to run my own blog, with or without bad practices :P

Member

Foxandxss commented Sep 2, 2013

Thanks but I still wants to run my own blog, with or without bad practices :P

@EricSimons

This comment has been minimized.

Show comment
Hide comment
@EricSimons

EricSimons Sep 2, 2013

Member

That's totally fine - we're more like Medium.com than Wordpress. The collaborative & networked nature is what we find particularly appealing in this approach, as creating exceptionally good content is always done with the help of others.

Member

EricSimons commented Sep 2, 2013

That's totally fine - we're more like Medium.com than Wordpress. The collaborative & networked nature is what we find particularly appealing in this approach, as creating exceptionally good content is always done with the help of others.

@martindale

This comment has been minimized.

Show comment
Hide comment
@martindale

martindale Sep 2, 2013

Maybe this isn't quite the right place for this, but I think this might be the perfect fit my startup, @coursefork. We're trying to build a series of "best practices" walkthroughs for common tech, like Angular. This is especially interesting to us because we're evaluating Angular, but have been having our own problems finding guidance on how to do Angular "right"...

@EricSimons maybe we can start with your [impressively well-built!] content; would you be willing to open-license the material, and maybe work together with us to figure out what a open-content Thinkster looks like?

tl;dr: open-source all the things, knowledge & education firstly.

martindale commented Sep 2, 2013

Maybe this isn't quite the right place for this, but I think this might be the perfect fit my startup, @coursefork. We're trying to build a series of "best practices" walkthroughs for common tech, like Angular. This is especially interesting to us because we're evaluating Angular, but have been having our own problems finding guidance on how to do Angular "right"...

@EricSimons maybe we can start with your [impressively well-built!] content; would you be willing to open-license the material, and maybe work together with us to figure out what a open-content Thinkster looks like?

tl;dr: open-source all the things, knowledge & education firstly.

@EricSimons

This comment has been minimized.

Show comment
Hide comment
@EricSimons

EricSimons Sep 3, 2013

Member

Coursefork! I got introduced to one of your founders a few months ago but was so busy with Thinkster that I never got a time to chat lined up. Anyway, we should chat about all of this. We're pretty focused on continuing the development of Thinkster, but we haven't ruled out open sourcing the curriculum we've made.

Member

EricSimons commented Sep 3, 2013

Coursefork! I got introduced to one of your founders a few months ago but was so busy with Thinkster that I never got a time to chat lined up. Anyway, we should chat about all of this. We're pretty focused on continuing the development of Thinkster, but we haven't ruled out open sourcing the curriculum we've made.

@brianfryer

This comment has been minimized.

Show comment
Hide comment
@brianfryer

brianfryer Sep 3, 2013

I'm surprised that pineapple.io hasn't been mentioned:

A central hub of Tutorials, Tools and Assets for developers and designers

There's already an Angular #tag in use, too.

brianfryer commented Sep 3, 2013

I'm surprised that pineapple.io hasn't been mentioned:

A central hub of Tutorials, Tools and Assets for developers and designers

There's already an Angular #tag in use, too.

@pearlchen

This comment has been minimized.

Show comment
Hide comment
@pearlchen

pearlchen Sep 3, 2013

@martindale I don't know how I missed your launch of coursefork. I started development of codehuddle.org late last year but started a new FT job earlier this year that didn't leave much time for side projects.

Open Educational Resources has been growing in non-technical edu for a while. Nice to see it trending in tech training now too.

pearlchen commented Sep 3, 2013

@martindale I don't know how I missed your launch of coursefork. I started development of codehuddle.org late last year but started a new FT job earlier this year that didn't leave much time for side projects.

Open Educational Resources has been growing in non-technical edu for a while. Nice to see it trending in tech training now too.

@logicbomb

This comment has been minimized.

Show comment
Hide comment
@logicbomb

logicbomb Sep 3, 2013

We could use http://codereview.stackexchange.com with a specific tag (such as ng-community-review) to vet code before posting it to a blog. Blog posts could then link to the question on codereview so readers can see what the angular community thinks of the code being posted. Noone has to spend any money or any time to set this up (except to create the tag), there is no bottleneck in that no single person (or group) is responsible for vetting code, someone motivated enough could probably create a widget that bloggers could add to their site using Stack Exchange's API (http://api.stackexchange.com/docs).

We could start with my submission for a codereview: http://codereview.stackexchange.com/questions/30543/my-first-oss-software-angularjs-drag-drop-please-review-code-and-documentation

logicbomb commented Sep 3, 2013

We could use http://codereview.stackexchange.com with a specific tag (such as ng-community-review) to vet code before posting it to a blog. Blog posts could then link to the question on codereview so readers can see what the angular community thinks of the code being posted. Noone has to spend any money or any time to set this up (except to create the tag), there is no bottleneck in that no single person (or group) is responsible for vetting code, someone motivated enough could probably create a widget that bloggers could add to their site using Stack Exchange's API (http://api.stackexchange.com/docs).

We could start with my submission for a codereview: http://codereview.stackexchange.com/questions/30543/my-first-oss-software-angularjs-drag-drop-please-review-code-and-documentation

@EricSimons

This comment has been minimized.

Show comment
Hide comment
@EricSimons

EricSimons Sep 3, 2013

Member

@ProLoser I said in my previous comment that we're opening up the Thinkster authoring tools to the public, so it's going to be democratic. That said, what you're describing is probably not a good fit for what we're doing. I appreciate you inviting us to this discussion and we'd love to help in any way we can. Also, we welcome any criticism to our content, especially if it's paired with constructive feedback that will make our learning resources better. We all want to make learning AngularJS better, so it's worth pointing out that we're all playing for the same team.

@martindale Will do - looking forward to chatting :)

Member

EricSimons commented Sep 3, 2013

@ProLoser I said in my previous comment that we're opening up the Thinkster authoring tools to the public, so it's going to be democratic. That said, what you're describing is probably not a good fit for what we're doing. I appreciate you inviting us to this discussion and we'd love to help in any way we can. Also, we welcome any criticism to our content, especially if it's paired with constructive feedback that will make our learning resources better. We all want to make learning AngularJS better, so it's worth pointing out that we're all playing for the same team.

@martindale Will do - looking forward to chatting :)

@jmstout

This comment has been minimized.

Show comment
Hide comment
@jmstout

jmstout Sep 3, 2013

I'm really glad this discussion is being had. From my perspective, it seems that there is somewhat of a consensus about the need for two things:

  • An authoritative central directory of links, discussions, and resources including a more practical guide / api.
  • A more complex real-world example project / case study, ideally utilizing some of the angular-ui components.

Wouldn't it be best to try for two birds with one stone?

I wouldn't expect the angular-ui team to take this on, as I imagine time is already precious.

Perhaps a group of more intermediate angular developers could spearhead this, striving to utilize the good resources that are, and continue to become, available: best practices, wiki, the new book, etc.

I agree with @ProLoser in his thinking that the resulting website / resource should be as democratic as possible, with the exception of allowing experienced devs promote content they feel is worthy, à la Hacker News.

Also the guide / api and case study should be a community effort, created on github. This way contributions are made via pull request so proper deliberation can occur over standards, best practices, and recommendations.

Then there's the doing it part.

What do you guys think, is a new effort needed?
Or should utilizing options that are already available be the priority?

jmstout commented Sep 3, 2013

I'm really glad this discussion is being had. From my perspective, it seems that there is somewhat of a consensus about the need for two things:

  • An authoritative central directory of links, discussions, and resources including a more practical guide / api.
  • A more complex real-world example project / case study, ideally utilizing some of the angular-ui components.

Wouldn't it be best to try for two birds with one stone?

I wouldn't expect the angular-ui team to take this on, as I imagine time is already precious.

Perhaps a group of more intermediate angular developers could spearhead this, striving to utilize the good resources that are, and continue to become, available: best practices, wiki, the new book, etc.

I agree with @ProLoser in his thinking that the resulting website / resource should be as democratic as possible, with the exception of allowing experienced devs promote content they feel is worthy, à la Hacker News.

Also the guide / api and case study should be a community effort, created on github. This way contributions are made via pull request so proper deliberation can occur over standards, best practices, and recommendations.

Then there's the doing it part.

What do you guys think, is a new effort needed?
Or should utilizing options that are already available be the priority?

@ProLoser

This comment has been minimized.

Show comment
Hide comment
@ProLoser

ProLoser Sep 3, 2013

Member

@jimrhoskins so what's the situation with ngmodules? It seems like a start of a directory. Pineapple is very cool, but would that be a good 'defacto' directory compared to just having an official angular one?

Member

ProLoser commented Sep 3, 2013

@jimrhoskins so what's the situation with ngmodules? It seems like a start of a directory. Pineapple is very cool, but would that be a good 'defacto' directory compared to just having an official angular one?

@clouddueling

This comment has been minimized.

Show comment
Hide comment
@clouddueling

clouddueling Sep 4, 2013

After reading some of the links posted here and comparing with my work I just realized (being new to angularjs) how many bad practices I've picked up from searching google and stackoverflow.

From the time I started AngularJS and now the number of tutorials have almost tripled, which is fantastic but the quality is not there because I don't think there is a "standard" for AngularJS.

The best comparison I could make is the way that (Laravel and PHP-FIG) is to PHP. With those two resources I can develop "good" PHP applications fairly quickly. This doesn't exist for Angular but does for jQuery. I think that's partly due to code maturity. 1.20 just came out and has a whole host of changes in it, but I still can't go somewhere like:

jQuery: http://www.lynda.com/jQuery-tutorials/essential-training/48370-2.html
Javascript: http://teamtreehouse.com/library/websites/javascript-foundations
Laravel4: http://net.tutsplus.com/tutorials/php/laravel-4-mastery/

And get a good knowledge of the subject.

I think Egghead is the closest to creating what Angular really needs: http://egghead.io/lessons
He should get on Gittip so we can invest in him or another project with similar goals.

clouddueling commented Sep 4, 2013

After reading some of the links posted here and comparing with my work I just realized (being new to angularjs) how many bad practices I've picked up from searching google and stackoverflow.

From the time I started AngularJS and now the number of tutorials have almost tripled, which is fantastic but the quality is not there because I don't think there is a "standard" for AngularJS.

The best comparison I could make is the way that (Laravel and PHP-FIG) is to PHP. With those two resources I can develop "good" PHP applications fairly quickly. This doesn't exist for Angular but does for jQuery. I think that's partly due to code maturity. 1.20 just came out and has a whole host of changes in it, but I still can't go somewhere like:

jQuery: http://www.lynda.com/jQuery-tutorials/essential-training/48370-2.html
Javascript: http://teamtreehouse.com/library/websites/javascript-foundations
Laravel4: http://net.tutsplus.com/tutorials/php/laravel-4-mastery/

And get a good knowledge of the subject.

I think Egghead is the closest to creating what Angular really needs: http://egghead.io/lessons
He should get on Gittip so we can invest in him or another project with similar goals.

@ProLoser

This comment has been minimized.

Show comment
Hide comment
@ProLoser

ProLoser Sep 4, 2013

Member

There ARE best practices. People don't read them. The best practices are in
the wiki, on egghead, the best practice meetup, and in the new AngularJS
book.

Period.
On Sep 4, 2013 11:08 AM, "CloudDueling.com" notifications@github.com
wrote:

After reading some of the links posted here and comparing with my work I
just realized (being new to angularjs) how many bad practices I've picked
up from searching google and stackoverflow.

From the time I started AngularJS and now the number of tutorials have
almost tripled, which is fantastic but the quality is not there because I
don't think there is a "standard" for AngularJS.

The best comparison I could make is the way that (Laravel and PHP-FIG) is
to PHP. With those two resources I can develop "good" PHP applications
fairly quickly. This doesn't exist for Angular but does for jQuery. I think
that's partly due to code maturity. 1.20 just came out and has a whole host
of changes in it, but I still can't go somewhere like:

jQuery:
http://www.lynda.com/jQuery-tutorials/essential-training/48370-2.html
Javascript:
http://teamtreehouse.com/library/websites/javascript-foundations
Laravel4: http://net.tutsplus.com/tutorials/php/laravel-4-mastery/

And get a good knowledge of the subject.

I think Egghead is the closest to creating what Angular really needs:
http://egghead.io/lessons
He should get on Gittip so we can invest in him or another project with
similar goals.


Reply to this email directly or view it on GitHubhttps://github.com//issues/1#issuecomment-23810930
.

Member

ProLoser commented Sep 4, 2013

There ARE best practices. People don't read them. The best practices are in
the wiki, on egghead, the best practice meetup, and in the new AngularJS
book.

Period.
On Sep 4, 2013 11:08 AM, "CloudDueling.com" notifications@github.com
wrote:

After reading some of the links posted here and comparing with my work I
just realized (being new to angularjs) how many bad practices I've picked
up from searching google and stackoverflow.

From the time I started AngularJS and now the number of tutorials have
almost tripled, which is fantastic but the quality is not there because I
don't think there is a "standard" for AngularJS.

The best comparison I could make is the way that (Laravel and PHP-FIG) is
to PHP. With those two resources I can develop "good" PHP applications
fairly quickly. This doesn't exist for Angular but does for jQuery. I think
that's partly due to code maturity. 1.20 just came out and has a whole host
of changes in it, but I still can't go somewhere like:

jQuery:
http://www.lynda.com/jQuery-tutorials/essential-training/48370-2.html
Javascript:
http://teamtreehouse.com/library/websites/javascript-foundations
Laravel4: http://net.tutsplus.com/tutorials/php/laravel-4-mastery/

And get a good knowledge of the subject.

I think Egghead is the closest to creating what Angular really needs:
http://egghead.io/lessons
He should get on Gittip so we can invest in him or another project with
similar goals.


Reply to this email directly or view it on GitHubhttps://github.com//issues/1#issuecomment-23810930
.

@logicbomb

This comment has been minimized.

Show comment
Hide comment
@logicbomb

logicbomb Sep 4, 2013

@ProLoser what do you want to accomplish with this thread? When I first read it, I thought you were soliciting ideas for how to encourage the dissemination of best practices, but it seems that every time someone offers up an idea you shoot it down saying a similar resource already exists. What are you looking to get out of this thread, and what are you asking from those of us that an expressed an interest in contributing?

logicbomb commented Sep 4, 2013

@ProLoser what do you want to accomplish with this thread? When I first read it, I thought you were soliciting ideas for how to encourage the dissemination of best practices, but it seems that every time someone offers up an idea you shoot it down saying a similar resource already exists. What are you looking to get out of this thread, and what are you asking from those of us that an expressed an interest in contributing?

@joemaddalone

This comment has been minimized.

Show comment
Hide comment
@joemaddalone

joemaddalone Sep 5, 2013

Well - I personally hate to see things left on that note. @logicbomb , I think @ProLoser was pretty clear when he said "We need a CENTRAL DIRECTORY where people can discover and review other content distributors."

joemaddalone commented Sep 5, 2013

Well - I personally hate to see things left on that note. @logicbomb , I think @ProLoser was pretty clear when he said "We need a CENTRAL DIRECTORY where people can discover and review other content distributors."

@revolunet

This comment has been minimized.

Show comment
Hide comment
@revolunet

revolunet Sep 5, 2013

Thanks @ProLoser for the great initiative and all for comments.

There's indeed many AngularJS ressources on the net, with various quality level, and it would be very useful to have a central place where we can vote, comment, and correct or enhance these entries.

The authors could then understand their mistakes, improve their knowledge, and fix their content accordingly and stop spreading bad practices if any.

The "best practices" exists for sure, but pointing out bad practices by example, then explaining why its bad and how to fix it is very pedagogical to me.

Unfortunately there's no way yet to vote on issues on github, but GH issues could be an easy tool to list, group and comment on various ressources. We can try with one of my "tips and tricks" blog post that for sure needs elite feedback ? Once fixed and approved, a ressource could then unlock the "best practice" label :)

Angular community rocks !

revolunet commented Sep 5, 2013

Thanks @ProLoser for the great initiative and all for comments.

There's indeed many AngularJS ressources on the net, with various quality level, and it would be very useful to have a central place where we can vote, comment, and correct or enhance these entries.

The authors could then understand their mistakes, improve their knowledge, and fix their content accordingly and stop spreading bad practices if any.

The "best practices" exists for sure, but pointing out bad practices by example, then explaining why its bad and how to fix it is very pedagogical to me.

Unfortunately there's no way yet to vote on issues on github, but GH issues could be an easy tool to list, group and comment on various ressources. We can try with one of my "tips and tricks" blog post that for sure needs elite feedback ? Once fixed and approved, a ressource could then unlock the "best practice" label :)

Angular community rocks !

@PascalPrecht

This comment has been minimized.

Show comment
Hide comment
@PascalPrecht

PascalPrecht Sep 5, 2013

Member

Unfortunately there's no way yet to vote on issues on github, but GH issues

@revolunet And there will never be a way. Voting on GH issues was implemented a long time ago and wasn't really used by people so they put it out again. :(

Member

PascalPrecht commented Sep 5, 2013

Unfortunately there's no way yet to vote on issues on github, but GH issues

@revolunet And there will never be a way. Voting on GH issues was implemented a long time ago and wasn't really used by people so they put it out again. :(

@revolunet

This comment has been minimized.

Show comment
Hide comment
@revolunet

revolunet Sep 5, 2013

how sh** i was dreaming of that feature in a next release. sounded useful to me; /cc @holman

revolunet commented Sep 5, 2013

how sh** i was dreaming of that feature in a next release. sounded useful to me; /cc @holman

@ProLoser

This comment has been minimized.

Show comment
Hide comment
@ProLoser

ProLoser Sep 5, 2013

Member

@logicbomb sorry, yeah my last message probably left a wrong impression.

The conversation has been wavering between 2 major topics:

  • Creating content (that is of best-practice quality)
  • Discovering content

I don't think simply creating another 'best practice tutorials' site is the answer. Most of the current UI team and I don't have time to write, so this would mean getting content-creators to close shop and come write for/with us instead and I doubt creators like @Foxandxss or @johnlindquist are interested in that.
It would be cool for the tool to ALSO have on-site official posts/content, but it should not be the primary focus.

@PascalPrecht @revolunet actually, we started working on adding it back: https://github.com/ksheedlo/firebase-hackathon but I've been the only active person lately. It adds a layer of metadata (of any kind) to github issues, and I was going to create a chrome extension to go alongside it.

The status so far

I am going to be meeting with @EricSimons and his team friday to discuss Thinkster. I'd like to hear back from @jimrhoskins because I think we could leverage all of his work so far on ngmodules. I've even tried to talk to content-creators like @Foxandxss and @johnlindquist so that they won't feel like their content will be ignored, overshadowed, or like they would be forced to give up their domain and Intellectual Property.

Member

ProLoser commented Sep 5, 2013

@logicbomb sorry, yeah my last message probably left a wrong impression.

The conversation has been wavering between 2 major topics:

  • Creating content (that is of best-practice quality)
  • Discovering content

I don't think simply creating another 'best practice tutorials' site is the answer. Most of the current UI team and I don't have time to write, so this would mean getting content-creators to close shop and come write for/with us instead and I doubt creators like @Foxandxss or @johnlindquist are interested in that.
It would be cool for the tool to ALSO have on-site official posts/content, but it should not be the primary focus.

@PascalPrecht @revolunet actually, we started working on adding it back: https://github.com/ksheedlo/firebase-hackathon but I've been the only active person lately. It adds a layer of metadata (of any kind) to github issues, and I was going to create a chrome extension to go alongside it.

The status so far

I am going to be meeting with @EricSimons and his team friday to discuss Thinkster. I'd like to hear back from @jimrhoskins because I think we could leverage all of his work so far on ngmodules. I've even tried to talk to content-creators like @Foxandxss and @johnlindquist so that they won't feel like their content will be ignored, overshadowed, or like they would be forced to give up their domain and Intellectual Property.

@PascalPrecht

This comment has been minimized.

Show comment
Hide comment
@PascalPrecht

PascalPrecht Sep 5, 2013

Member

@ProLoser This looks pretty interesting!

Member

PascalPrecht commented Sep 5, 2013

@ProLoser This looks pretty interesting!

@clouddueling

This comment has been minimized.

Show comment
Hide comment
@clouddueling

clouddueling Sep 5, 2013

Something worth noting in the Laravel PHP world at this very moment. Jeffrey Way (similar role as John Lindquist) is in the middle of building up http://laracasts.com/forum/ and is building up a central area of learning material and community.

The Laravel community is flocking to him, the guy's good so I don't blame them. He's also charging $7 per month so he can maintain motivation to continue building that community.

clouddueling commented Sep 5, 2013

Something worth noting in the Laravel PHP world at this very moment. Jeffrey Way (similar role as John Lindquist) is in the middle of building up http://laracasts.com/forum/ and is building up a central area of learning material and community.

The Laravel community is flocking to him, the guy's good so I don't blame them. He's also charging $7 per month so he can maintain motivation to continue building that community.

@jhanink

This comment has been minimized.

Show comment
Hide comment
@jhanink

jhanink Sep 6, 2013

@ProLoser Is there really a one-size fits all set of authoritative best-practices?

In Misko's Best Practices presentation, he starts off saying that the idea of best practices is helpful but that he'd rather offer various options for the purpose of considering the tradeoffs relative to one's needs instead of making global statements that something is always good or bad. He says only you can make the decision as to which is best for your case.

If the goal is to educate newcomers and serve as a discovery resource, then there may be new options cropping up all the time, such as core animation in 1.2. And if this is true, then this project is going to be an always changing target. Rather than settling into locked entries like Wikipedia, it should reflect "what is the best option for what conditions for what version". Perhaps some concepts are unchanging, but I suspect such ideas would not necessarily be angular specific.

I think the concern is that we want to see a good separation between the short list of "good resources" and "the rest". How that is controlled, presented, and maintained is important to the successful longevity of this project.

If curation is to have more than just a highly opinionated nature, wouldn't it be beneficial to assign a structure to all entries that describes what problem is being solved, what assumptions it makes, what tradeoff directions it takes, etc. That way, excellent guides and examples can remain excellent but still give way to newer ideas for more current approaches.

Just thinking out loud.

jhanink commented Sep 6, 2013

@ProLoser Is there really a one-size fits all set of authoritative best-practices?

In Misko's Best Practices presentation, he starts off saying that the idea of best practices is helpful but that he'd rather offer various options for the purpose of considering the tradeoffs relative to one's needs instead of making global statements that something is always good or bad. He says only you can make the decision as to which is best for your case.

If the goal is to educate newcomers and serve as a discovery resource, then there may be new options cropping up all the time, such as core animation in 1.2. And if this is true, then this project is going to be an always changing target. Rather than settling into locked entries like Wikipedia, it should reflect "what is the best option for what conditions for what version". Perhaps some concepts are unchanging, but I suspect such ideas would not necessarily be angular specific.

I think the concern is that we want to see a good separation between the short list of "good resources" and "the rest". How that is controlled, presented, and maintained is important to the successful longevity of this project.

If curation is to have more than just a highly opinionated nature, wouldn't it be beneficial to assign a structure to all entries that describes what problem is being solved, what assumptions it makes, what tradeoff directions it takes, etc. That way, excellent guides and examples can remain excellent but still give way to newer ideas for more current approaches.

Just thinking out loud.

@ProLoser

This comment has been minimized.

Show comment
Hide comment
@ProLoser

ProLoser Sep 6, 2013

Member

@zergworld actually that is exactly what I want to do with the directory. Since people are going to always be developing new techniques I want to have a central location that indexes them all and compares and contrasts them, both in quality and in nature.

Member

ProLoser commented Sep 6, 2013

@zergworld actually that is exactly what I want to do with the directory. Since people are going to always be developing new techniques I want to have a central location that indexes them all and compares and contrasts them, both in quality and in nature.

@jhanink

This comment has been minimized.

Show comment
Hide comment
@jhanink

jhanink Sep 6, 2013

@ProLoser I think the need for good information goes beyond best practices. To help people find what they are looking for, what top level organization are you thinking of?

How about -

  1. Supplementary reference documentation
    • elaborates on or explains material in the official docs that is either sparsely treated or hard to understand.
  2. "pro guides" from the obvious recognized members of the community
  3. modules
    • recommended libraries for various concerns
  4. tools
    • IDEs, plugins
  5. tips/tricks
    • smaller but no less valuable nuggets
  6. anti-patterns / bad examples
  7. info
    • the rest
    • blogs, projects, musings
    • maybe this is presented differently, e.g. just links or medium.com style

jhanink commented Sep 6, 2013

@ProLoser I think the need for good information goes beyond best practices. To help people find what they are looking for, what top level organization are you thinking of?

How about -

  1. Supplementary reference documentation
    • elaborates on or explains material in the official docs that is either sparsely treated or hard to understand.
  2. "pro guides" from the obvious recognized members of the community
  3. modules
    • recommended libraries for various concerns
  4. tools
    • IDEs, plugins
  5. tips/tricks
    • smaller but no less valuable nuggets
  6. anti-patterns / bad examples
  7. info
    • the rest
    • blogs, projects, musings
    • maybe this is presented differently, e.g. just links or medium.com style
@johnlindquist

This comment has been minimized.

Show comment
Hide comment
@johnlindquist

johnlindquist Sep 6, 2013

I would invert the approach.

Gather bad examples and suggest alternatives.

IMHO, the AngularJS community isn't ready for an Ivory Tower/High Council
until the community, as a whole, fully understands the paradigm shift to
"declarative HTML". Then the "thought leaders" (or whatever you want to
call them) will emerge because the community will recognize the quality of
their work.

TL;DR
Teach, don't preach.

On Fri, Sep 6, 2013 at 11:48 AM, zergworld notifications@github.com wrote:

I think the need for good information goes beyond best practices. To help
people find what they are looking for, what top level organization are you
thinking of?

How about -

  1. Supplementary reference documentation
    • elaborates on or explains material in the official docs that is
      either sparsely treated or hard to understand.
      1. "pro guides" from the obvious recognized members of the community
    • e.g. @johnlindquist https://github.com/johnlindquist
      1. modules
    • recommended libraries for various concerns
      1. tools
    • IDEs, plugins
      1. tips/tricks
    • smaller but no less valuable nuggets
      1. info
    • the rest
    • blogs, projects, musings
    • maybe this is presented differently, e.g. just links or medium.comstyle


Reply to this email directly or view it on GitHubhttps://github.com//issues/1#issuecomment-23957353
.

johnlindquist commented Sep 6, 2013

I would invert the approach.

Gather bad examples and suggest alternatives.

IMHO, the AngularJS community isn't ready for an Ivory Tower/High Council
until the community, as a whole, fully understands the paradigm shift to
"declarative HTML". Then the "thought leaders" (or whatever you want to
call them) will emerge because the community will recognize the quality of
their work.

TL;DR
Teach, don't preach.

On Fri, Sep 6, 2013 at 11:48 AM, zergworld notifications@github.com wrote:

I think the need for good information goes beyond best practices. To help
people find what they are looking for, what top level organization are you
thinking of?

How about -

  1. Supplementary reference documentation
    • elaborates on or explains material in the official docs that is
      either sparsely treated or hard to understand.
      1. "pro guides" from the obvious recognized members of the community
    • e.g. @johnlindquist https://github.com/johnlindquist
      1. modules
    • recommended libraries for various concerns
      1. tools
    • IDEs, plugins
      1. tips/tricks
    • smaller but no less valuable nuggets
      1. info
    • the rest
    • blogs, projects, musings
    • maybe this is presented differently, e.g. just links or medium.comstyle


Reply to this email directly or view it on GitHubhttps://github.com//issues/1#issuecomment-23957353
.

@AydinSakar

This comment has been minimized.

Show comment
Hide comment
@AydinSakar

AydinSakar Sep 6, 2013

@ProLoser can you point out the anti-patterns you see in Thinkster tutorials?

AydinSakar commented Sep 6, 2013

@ProLoser can you point out the anti-patterns you see in Thinkster tutorials?

@AydinSakar

This comment has been minimized.

Show comment
Hide comment
@AydinSakar

AydinSakar commented Sep 6, 2013

@jjperezaguinaga

This comment has been minimized.

Show comment
Hide comment
@jjperezaguinaga

jjperezaguinaga Sep 7, 2013

@johnlindquist I'm not sure that's the best approach... Not everyone is so open about critique and it might turn into just a shaming gallery.

My suggestion is a gallery of good projects, that are not To-Do lists, are complex enough to provide some learning, but not too complex to overwhelm the audience. I'm thinking about maybe something like (n)KB competitions (where n can be the number of your choice) with a good set of metrics that help us see how well done is the code. I would highly favor test coverage as a requirement, because that's also a skill I see lacking in the javascript world and could really help new developers.

jjperezaguinaga commented Sep 7, 2013

@johnlindquist I'm not sure that's the best approach... Not everyone is so open about critique and it might turn into just a shaming gallery.

My suggestion is a gallery of good projects, that are not To-Do lists, are complex enough to provide some learning, but not too complex to overwhelm the audience. I'm thinking about maybe something like (n)KB competitions (where n can be the number of your choice) with a good set of metrics that help us see how well done is the code. I would highly favor test coverage as a requirement, because that's also a skill I see lacking in the javascript world and could really help new developers.

@rudolfolah

This comment has been minimized.

Show comment
Hide comment
@rudolfolah

rudolfolah Sep 7, 2013

@johnlindquist actually this is the perfect time for a technical Working Group to be formed. Hell one of their goals could be to produce a proper introduction to declarative HTML. The technical experts are already emerging.

for others in case they're unfamiliar with working groups:

Some people join, they list their qualifications and what the goals of the working group are. In this case it would be to produce a directory of best practices or projects/examples/tutorials/books that use best practices and to define what those best practices are.

Anything produced by the working group is of course only a recommendation that other people can choose to follow which is why it's important that members of the working group have the experience and education that other developers will pay attention to. For example, I'm a newbie to AngularJS and wouldn't be qualified to be part of a working group to define best practices. However, after a recommendation is put out by the working group, me and everyone else are free to criticize and demand revisions. This makes it open to the public and lets peer review happen.

rudolfolah commented Sep 7, 2013

@johnlindquist actually this is the perfect time for a technical Working Group to be formed. Hell one of their goals could be to produce a proper introduction to declarative HTML. The technical experts are already emerging.

for others in case they're unfamiliar with working groups:

Some people join, they list their qualifications and what the goals of the working group are. In this case it would be to produce a directory of best practices or projects/examples/tutorials/books that use best practices and to define what those best practices are.

Anything produced by the working group is of course only a recommendation that other people can choose to follow which is why it's important that members of the working group have the experience and education that other developers will pay attention to. For example, I'm a newbie to AngularJS and wouldn't be qualified to be part of a working group to define best practices. However, after a recommendation is put out by the working group, me and everyone else are free to criticize and demand revisions. This makes it open to the public and lets peer review happen.

@ProLoser

This comment has been minimized.

Show comment
Hide comment
@ProLoser

ProLoser Sep 8, 2013

Member

@AydinSakar I actually spoke with @EricSimons and his team (and the mean.io team @linnovate) about the issues.

I have to agree with @omouse and @jjperezaguinaga responses. @johnlindquist I would think almost all of AngularUI and Egghead.io is what you stated?

Member

ProLoser commented Sep 8, 2013

@AydinSakar I actually spoke with @EricSimons and his team (and the mean.io team @linnovate) about the issues.

I have to agree with @omouse and @jjperezaguinaga responses. @johnlindquist I would think almost all of AngularUI and Egghead.io is what you stated?

@AydinSakar

This comment has been minimized.

Show comment
Hide comment
@AydinSakar

AydinSakar Sep 8, 2013

I would love to learn the issues about Thinkster tutorials and mean.io and hope you or them explain/discuss the problems you see.

AydinSakar commented Sep 8, 2013

I would love to learn the issues about Thinkster tutorials and mean.io and hope you or them explain/discuss the problems you see.

@ProLoser

This comment has been minimized.

Show comment
Hide comment
@ProLoser

ProLoser Sep 9, 2013

Member

@AydinSakar perhaps in another discussion. I don't want to derail this discussion.

Member

ProLoser commented Sep 9, 2013

@AydinSakar perhaps in another discussion. I don't want to derail this discussion.

@auser

This comment has been minimized.

Show comment
Hide comment
@auser

auser Sep 11, 2013

I'm a bit late to this discussion, thanks for the invite @ProLoser. Hopefully I'm not repeating or suggesting thoughts that have been said before as I've been heads down writing a book...

@johnlindquist I think looking at the bad examples side-by-side with the 'right' approach can be explicit and really effective in showing "why" things are bad vs. good.

@omouse I agree that a gallery of good sample projects is a good approach, but we could extract those out into lower-level implementation of the code and then people could check those repos for "good" sample application/implementation.

I think that we can get pretty far with providing a "get things done" set of resources 'cause afterall... that's mostly why people write code; to do things, right?

auser commented Sep 11, 2013

I'm a bit late to this discussion, thanks for the invite @ProLoser. Hopefully I'm not repeating or suggesting thoughts that have been said before as I've been heads down writing a book...

@johnlindquist I think looking at the bad examples side-by-side with the 'right' approach can be explicit and really effective in showing "why" things are bad vs. good.

@omouse I agree that a gallery of good sample projects is a good approach, but we could extract those out into lower-level implementation of the code and then people could check those repos for "good" sample application/implementation.

I think that we can get pretty far with providing a "get things done" set of resources 'cause afterall... that's mostly why people write code; to do things, right?

@revolunet

This comment has been minimized.

Show comment
Hide comment
@revolunet

revolunet Sep 11, 2013

Gathering bad practices, and explaning why its bad and how to achieve the same result with more reliable, testable, performant or maintenable code is another very educative approach which complements very well the various "best practices" articles and videos.

  1. Pickup bad practice example
  2. Explain why this is bad practice because of X, Y, Z
  3. Propose alternative(s) and note the benefits

revolunet commented Sep 11, 2013

Gathering bad practices, and explaning why its bad and how to achieve the same result with more reliable, testable, performant or maintenable code is another very educative approach which complements very well the various "best practices" articles and videos.

  1. Pickup bad practice example
  2. Explain why this is bad practice because of X, Y, Z
  3. Propose alternative(s) and note the benefits
@auser

This comment has been minimized.

Show comment
Hide comment
@auser

auser Sep 11, 2013

We shouldn't call out where we find the bad practice, we should just show the bad practice, IMHO

Ari Lerner
520-360-9215
$ curl -iL http://ari.io

On Wednesday, September 11, 2013 at 12:36 AM, Julien Bouquillon wrote:

Gathering bad practices, and explaning why its bad and how to achieve the same result with more reliable, testable, performant or maintenable code is another very educative approach which complements very well the various "best practices" articles and videos.

  1. Pickup bad practice example
  2. Explain why this is bad practice because of X, Y, Z
  3. Propose alternative(s) and note the benefits


Reply to this email directly or view it on GitHub (#1 (comment)).

auser commented Sep 11, 2013

We shouldn't call out where we find the bad practice, we should just show the bad practice, IMHO

Ari Lerner
520-360-9215
$ curl -iL http://ari.io

On Wednesday, September 11, 2013 at 12:36 AM, Julien Bouquillon wrote:

Gathering bad practices, and explaning why its bad and how to achieve the same result with more reliable, testable, performant or maintenable code is another very educative approach which complements very well the various "best practices" articles and videos.

  1. Pickup bad practice example
  2. Explain why this is bad practice because of X, Y, Z
  3. Propose alternative(s) and note the benefits


Reply to this email directly or view it on GitHub (#1 (comment)).

@PascalPrecht

This comment has been minimized.

Show comment
Hide comment
@PascalPrecht

PascalPrecht Sep 11, 2013

Member

Pinging @cburgdorf on this thread.

Member

PascalPrecht commented Sep 11, 2013

Pinging @cburgdorf on this thread.

@PascalPrecht

This comment has been minimized.

Show comment
Hide comment
@PascalPrecht

PascalPrecht Sep 11, 2013

Member

I think we should start to decide what we actually want when thinking about a kinda platform (or directory). Is it possible to list some facts we can rely on to get a bit more concrete about what we will do and build?

Member

PascalPrecht commented Sep 11, 2013

I think we should start to decide what we actually want when thinking about a kinda platform (or directory). Is it possible to list some facts we can rely on to get a bit more concrete about what we will do and build?

@ProLoser

This comment has been minimized.

Show comment
Hide comment
@ProLoser

ProLoser Sep 11, 2013

Member

I'm going to throw @EricSimons under the bus here, lol. Our meeting was delayed until next week. I didn't want to get into what we had discussed yet before anything was confirmed.

If working with thinkster to pivot might fit the bill it would give us a good base to start with, otherwise we can outline and begin developing a new platform from scratch.

Eric: how critical is it for us to wait for Matt for just the initial discussion?

Member

ProLoser commented Sep 11, 2013

I'm going to throw @EricSimons under the bus here, lol. Our meeting was delayed until next week. I didn't want to get into what we had discussed yet before anything was confirmed.

If working with thinkster to pivot might fit the bill it would give us a good base to start with, otherwise we can outline and begin developing a new platform from scratch.

Eric: how critical is it for us to wait for Matt for just the initial discussion?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.