Of the Web
Let me tell you something: Django may be built for the Web, but CouchDB is built of the Web.–Jacob Kaplan Moss in October of 2007
I remember this quote often. It is what drew me to CouchDB in 2007.
Node.js was of the web. It was written in the language of the web. The degree to which we supported the HTTP spec was a point of pride. The latest web standards, like WebSockets, found their first good home in Node.js. Our community evolved to carry the new Web from spec to experience.
Over the last few years something has changed. What I used to see clearly as a "frontend" community and a "backend" community is now a memory. At first the lines blurred. Now they no longer exist. For most web developers Node.js is something they take for granted as easily as jQuery.
Tools like browserify make Node's module ecosystem directly accessible in the browser. Projects like Grunt use Node to automate the mundane tasks that plague every web developer. These are accessible to every web developer. Web developers move seamlessly through operating system and browser. Each component uses common language and a few standard patterns. Code now blurs the lines between realms and so people do the same.
There is no longer a Node community. Node has become a vertebra in the spine of the Web. People will surely identify with a camp be it Grunt, Node, or Lo-Dash. But we should not confuse identity with community.
I often publish a little module. It may be for a single website to be run in Node.js. I resign those restrictions in the act of publication. The accessibility of npm, the capabilities it gains when connected with other modules, give it more meaning than I did alone. Any developer can use this module in any environment. They consume it with even less effort than it took for me to publish it.
Compatibility increases accessibility. As people join the ecosystem their consumption is a form of collaboration. Collaboration in the absence of coordination. The ensuing growth is more than we can identify as "frontend", "backend", "Node", or "Grunt." We are left with only the identity of "The Web."
Do you remember the first programming conference you ever attended?
It was an OSCON, in Portland. Something like a thousand people attended it.
Looking back it was objectively terrible compared to any of the events I’ve attended in the last year. Hosted in a convention center, terrible food, worse coffee, parallel tracks with no coherent narrative. I remember the party was run by Sun Microsystems, not officially part of the conference, and in the open air parking garage of the DoubleTree. Standing around a keg and talking loudly over the echo of the other attendees none of that mattered. I loved it, it was amazing.
I enjoy the intimate community run conferences around the world I attend now. But when I remember what it was like my first time I have to admit that none of these could have been my first conference.
I didn’t know anyone back then and the anonymity you get by being one in a sea of people was comforting. The intimate setting of a conference like NodeConf, which I’ve run for the last 3 years, would have been terrifying.
I have high hopes for JSFest, and I hope that you’ll join me.