Wednesday, June 05, 2013

JSConf 2013 in Review

JSConf, as several others agree, is a great and important conference. It keeps getting better each of the last five years. This post focuses on this year's presentations and the cumulative effect of the talks. When possible, I'll link to the slide deck. (Videos will come in a few months.) There were too many to review them all.

First, the Web is the platform. JavaScript is the VM. Brendan Eich in his talk, JavaScript Is 18, showed the game "Unreal Tournament" running in the browser without a plugin. Written in C++, the target was ASM.js. Everything will be either written in JavaScript or compiled (built) to JavaScript. Yes, everything! His slides do a nice job of showing how the web stack has grown.

This is not saying that JavaScript replaces C++. As Brendan pointed out, ASM.js is not meant to be hand coded but a target. So if I was writing in another language, I'd want to make sure it could be "compiled" to JavaScript or I'd write it in JavaScript. Note, two days prior he gave the same talk at Fluent which is available on video. "Always bet on JS."

Second, because a build phase is now fairly common JavaScript and CSS are intertwined. For example, you can tweak you JS for performance, but you still have to be concerned with the performance of your CSS. Nicole Sullivan's Creating Living Style Guide reinforced this. She provided hard numbers (60% faster to first byte and 11% increase in page views) for refactoring an existing site's CSS. She suggested using Grep, CSSLint or CSSCSS to look for duplicates. Other talks like Adobe's TopCoat  and Rebecca Murphey's Optimizing for Developer Delight (in her "Build Everything" section) also emphasized this.

Third, there is math. College level stuff like linear algebra and matrix manipulations. Raquel Velez @rockbot rocked the house with her talk AI.js: Robots with Brains. She is now a contributor to the Johnny-Five library for Arduinos and was a leader for the NodeBots day. One of the talks that generated the most buzz during JSConf was Making WebGL Dance by Steven Wittens. I'm just starting to go through the slides because I was in track B during this talk. (jdalton's performance talk also got buzz.)

Fourth, responsive design took some serious hits. For most people it means one code base using media queries to use different parts of the css or js to produce different layouts. Brian Leroux who is working on Topcoat at Adobe emphasized we may never be at the point that serving one set of files provides the best experience. Adobe open sourced their research.  Topcoat has desktop and mobile versions. In DOMkata: The Dark Art of Mobile Web during CSSConf Mike Stamm, WSJ mobile web lead, showed the difficulties determining just browser width.

Angelina Fabbro presented JavaScript Masterclass: How you you go from being a good developer, to a great one? This was one of my favorite talks. I've recently started considering myself a below average JavaScript coder because about 50% of us are. It provides a new perspective. One of the reason's I attend hackaton's is to see how I am doing. She created nice checklists that are useful to figure out how you want to grow as a coder.

Boom! Promises/A+ Was Born: The story of Promises/A+ told by Domenic Denicola was inspiring (liveblog). It was an interesting analysis of the JavaScript community because it shows how to get things done starting as one person. His checklist on "What made the Promises/A+ effort work so well" is a step by step guide for anyone. I especially like how the testing was such a key part.

Angus Croll added seven more authors to his previous literary figures writing JavaScript. Hilarious presentation that forces you to examine one's own writing style.

yayQuery's appearance at JSConf was LOL for nearly a full 30 minutes. Showed Best of Video. Hilarious. In 2010 I had at the pleasure  to sit at the same table as them along with Brendan Eich. As I said then, "Clearly the next generation of javascript and funny." Rebecca Murphy, Paul Irish, Adam Sontag and Alex Sexton all continue to make significant contributions to the JavaScript community.

The day between the talks harkened back to the first JSConfs where the same people sat together all day. This year I was at a table was in the NodeBot event. Every participant (attendee) at JSConf receive an Arduino. Our team built a robot arm that typed "helloworld.js" (second video). My teammates deserve most of the credit: Bryan Hughes, Mike Surowiec and Rahul Ravikumar. Every reason to believe that they will have as much success as my yayQuery tablemates have had. Revived memories of my electrical engineering and breadboarding days. Thanks to Rick Waldron, Raquel Velez, Sarah Chipps and other for leading this.

Other talks were also significant. I missed most of the Track B talks. Also missed several of the CSSConf talks. And a few of the talks were so code heavy that I'll have to sit with the presentations to really understand them like Master the CLI with Node and schema liberation with json and plv8. Thanks to all the presenters who took great efforts to make a presentation.

Finally, thanks to all the people with kind words for my talk on JavaScript Journalism, The New ProfessionSimeon Willbanks, Kevin Old, Kevin Lamping, Mark Gayler, Trevor Landau, Francesco Rizzi, Roger Raymond and many, many others including my Dad. I apologize for not mentioning others by name.  It was an honor be in Track A and thrilling to present a unique perspective on JavaScript.

I am seriously considering leading a JS Journalism Conf in fall 2013. Let me know if you are interested.

Other diaries and comments:
James Long
JSConf Storify by Azat
EndPoints Blog
Bryan Hughes Day 1 (with nice comment on my talk), Day 2 (about our robot), Day 3

You Should Speak At JSConf

My other JSConf posts since 2010.

Monday, June 03, 2013

ToDo After JSConf 2013

After every JSConf I have created a list of things I want to learn. For example, in 2010 nodejs topped the list. Once again this year the list is public:

  1. three.js
  2. BEM naming convention
  3. WebRTC - see Remy Sharp
  4. Casper.js, spooky.js and schoolbus.js for node - if good enough for jeb
  5. vektor.js - for robots
  6. asm.js - actual docs, not articles
  7. topcoat.io
  8. csscss
  9. creative.js
  10. more grunt