Cross-Pollinating Communities: We all Win

Cross-Pollinating Communities: We all Win

You may have heard the quote, "Good artists copy, great artists steal."

Ember's origins were inspired by Cocoa. Ember has taken many cues from Rails, the biggest coming in the form of strong framework conventions. In 1.13, Ember's rendering engine was rewritten based on concepts pioneered by React. Instead of writing their own cli from the ground up, Angular has embraced ember-cli.

Let's examine past and future benefits of sharing ideas, and what it means for our favorite framework and our industry as a whole.

6254dc2b7e4f26b2ab5d05c560834671?s=128

Chris Ball

March 29, 2016
Tweet

Transcript

  1. Cross-Pollinating Communities: We All Win cball_

  2. cball_ “Good artists copy; great artists steal.”

  3. cball_

  4. cball_ “I mean, Picasso had a saying. He said good

    artists copy; great artists steal. And we have always been shameless about stealing great ideas.” Steve Jobs Apple
  5. cball_ “Good artists copy; great artists steal.” Pablo Picasso Painter

  6. cball_ So if Picasso didn’t say it, who did?

  7. cball_ “A good composer does not imitate; he steals.” Igor

    Stravinsky Composer
  8. cball_

  9. cball_ “Immature artists copy, great artists steal.” William Faulkner Author

  10. cball_ “Knowing what and when to steal is very much

    a part of the designer’s self- education.” William Faulkner Author
  11. cball_ What does this mean?!?

  12. cball_ Wait! these names sound familiar…

  13. cball_ We are influenced by what has come before us.

  14. cball_ Steal good ideas and make them your own.

  15. Chris Ball

  16. has “stolen” from 1. Communities 2. Communities that have “stolen”

    from is helping shape our industry 3. How
  17. has “stolen” from 1. Communities 2. Communities that have “stolen”

    from is helping shape our industry 3. How
  18. cball_

  19. cball_

  20. cball_ Brought desktop-style MVC architecture

  21. cball_ Brought desktop-style MVC architecture Component Template Route

  22. cball_ KVO (key-value-observers)

  23. cball_ get() and set()

  24. cball_ Computed Properties!

  25. cball_

  26. cball_ 2011 - Rework of Sproutcore to support auto-updating templates.

  27. cball_ 2.0

  28. cball_ "After a lot of soul-searching, we decided to start

    from scratch with SproutCore 2.0, taking with us the best, core ideas of SproutCore, but leaving the large, somewhat sprawling codebase behind."
  29. cball_ 2.0 Amber.js

  30. cball_

  31. cball_ http://yehudakatz.com/2011/12/08/ announcing-amber-js/

  32. cball_

  33. cball_ Convention over Configuration

  34. cball_ Powerful Tooling

  35. cball_ The Router

  36. cball_ "Happy Developer" functions

  37. cball_

  38. cball_ One-way bindings

  39. cball_ Data down, Actions Up.

  40. cball_ Virtual DOM, DOM Diffing

  41. cball_

  42. cball_

  43. cball_ Lightweight Framework = lightweight functions.

  44. cball_ modelForRoute modelDidLoad componentDidRender

  45. cball_ model afterModel didRender

  46. cball_ "With Ember.js, we've spent a lot of time borrowing

    liberally from concepts introduced by native application frameworks like Cocoa."
  47. cball_ "When we felt those concepts were more hindrance than

    help - or didn't fit within the unique constraints of the web - we turned to other popular open source projects like Ruby on Rails and Backbone.js for inspiration."
  48. has “stolen” from 1. Communities 2. Communities that have “stolen”

    from is helping shape our industry 3. How
  49. has “stolen” from 1. Communities 2. Communities that have “stolen”

    from is helping shape our industry 3. How
  50. cball_

  51. cball_ React Router

  52. cball_

  53. cball_

  54. cball_

  55. cball_

  56. cball_ Likely others, not all projects state these things explicitly.

  57. has “stolen” from 1. Communities 2. Communities that have “stolen”

    from is helping shape our industry 3. How
  58. has “stolen” from 1. Communities 2. Communities that have “stolen”

    from is helping shape our industry 3. How
  59. cball_ Promises

  60. cball_ Web Components

  61. cball_

  62. cball_

  63. cball_ TC39

  64. cball_ Don't just create framework features; help out everyone.

  65. cball_ Why does this matter?

  66. cball_ Successful communities toggle between 2 modes on the path

    to greatness.
  67. cball_ Mode 1: Experimentation aka “open mode”

  68. cball_ Mode 2: Shared Solutions aka “closed mode”

  69. cball_ Successful communities toggle between 2 modes on the path

    to greatness.
  70. cball_ Successful communities toggle between 2 modes on the path

    to greatness. companies products developers designers etc
  71. cball_ continues to innovate and iterate.

  72. cball_ Um, yeah… I'm going to need you to go

    ahead and stick around for a few more years.
  73. cball_ Build on what has come before you.

  74. cball_ Look at other communities.

  75. cball_ Look at other industries.

  76. cball_ Be shameless about “stealing” good ideas.

  77. cball_ Thanks!

  78. cball_ http://networthhq.com/wp-content/uploads/2014/12/Pablo-Picasso.jpg Image Credits http://img.sxsw.com/2015/films/F52361.jpg https://en.wikipedia.org/wiki/File:Stravinsky_picasso.png http://cp91279.biography.com/ 1000509261001/1000509261001_1313105647001_Bio-Mini-Bio-Writers-Faulkner- SF.jpg https://developer.apple.com/library/mac/documentation/General/Conceptual/

    DevPedia-CocoaCore/Art/model_view_controller_2x.png
  79. cball_ http://www.elementscompiler.com/images/screenshots/Oxygene-Home-Cocoa-Code.png Image Credits http://wisdump.com/wp-content/uploads/2008/06/mobileme.jpg http://7-themes.com/6934143-hammock-under-palms.html https://www.viget.com/uploads/image/blog/wwf-code-small.jpg http://blog.bugsnag.com/img/posts/react-code.png http://www.simingshanghai.com/uploadfile/2011061115464987151.jpg