Ember.js’ strength as a framework is second only to its power as a community. Over the past two days at Ember Conf
I’ve had a chance to interact with some of the top minds in the Javascript world who are shaping the future of the web.
Brian Cardarella did an excellent job summarizing
the mood of the conference – “Ember.js picks up where Rails left off.” Years ago I remember attending my very first Mountain West Ruby conference
and leaving with a similar impression. That same year we attended Rails Conf 2007 in Portland and via a serendipitious conversation with
David Heinemeier Hansson I came to understand
the counter-culture, rockstar, ninja facade was a carefully engineered marketing play by 37 Signals. That effort worked out very well for them. The press asked for rebels
and DHH and company happily complied. I still have the image of DHH’s leather jacket embroidered with a dragon emblazed on my memory.
Rails was very much 37 Signals and their energy and popularity raised an army of brilliant contributors who turned Ruby on Rails into an industrial strength application framework.
Ember.js has a distinctly different feel. Yehuda Katz and Tom Dale
are two brilliant and influencial developers, but more importantly they are both very nice guys. The culture of an open source project feeds from it’s founders and as a result
the Ember.js community is also very open and welcoming. Open source needs to be “open”. That seems like an obvious statement. However, just opening your source code isn’t enough anymore.
You must be open in the sense that everyone is welcome to the party. I like that the Ember.js accepts as ‘core’ contributors those who write documentation and plan conferences.
Ember.js may have been founded by a couple of really smart guys but their vision has allowed a code base to grow to a movement now owned by a world wide community of individuals
with diverse backgrounds and perspectives. That’s powerful.
When I started writing software many years ago I was isolated. Open source software was still a new concept. I was writing code using expensive Microsoft tools
(php didn’t even exist then), and I felt like I had to solve all my problems on my own. All of my fellow developers were focused on desktop applications. I could read the
source html of any page I found interesting, but the server code remained an enigma. Javascript was still a toy used to write cats that chased your mouse around
the screen. Microsoft’s documentation provided examples but they were limited. Source code was money and so very few companies permited their developers to share it.
We all lived on our own little islands. It was a software dark age where ideas weren’t free.
I spent my nights and weekends navigating the nuances of this new thing we called the ‘web’. My first foray into the world of web development was lonely.
Even today, I find myself falling into the trap of unwittingly isolating myself and even our team as we try to solve complex problems. We worry about performance. We worry about architecture.
We worry about long term maintainability of our projects. We worry about best practices for organizing and deploying our code.
We forget that everyone else is worrying about the same problems.
The Ember.js community has chosen to combine efforts and worry about these problems as a group.
The result is that we can solve the big problems once,
commit the solution to code and share it – openly. Ember.js provides not only a convention for
writing and organizing our code but also a framework around which we can unify our discussion about the bigger problems the development community faces.
We’ve spend the past year buidling Ember application for a diverse group of clients many of who are smaller organizations and startups. They look to us to make the right
technology choices for them. They can’t afford the wrong choices – they don’t have the money to re-implement the solution. Wrong choices put them out of business.
I’m glad to say that we’ve made the right choice.