Saturday, July 9*
GothamJS was held in the NYIT auditorium. The theater worked out well for the presentations, although the lobby area got a little cramped at times. I don’t know if it was intended to serve as a primary social space.
The first talk was one of the things that attracted me to GothamJS, The Once and Future Scriptloader by Kyle Simpson (aka Gettify). I dabbled with my own loader once, but lost interest when it got to the hard parts – browser testing and file optimization. Since then I’ve gone in with the RequireJS/AMD camp. Kyle actually promotes pure loaders – no dependency management (that might be a separate component) He broke down the challenges of loading (different scripts for different pages, caching, and parallel loading), called for the death of
document.write, and laid out his personal perfect loader – any script, from any browser, at least as good as script-tags, without hacks or special cases. He also pointed out some challenges I hadn’t run into, as well as some techniques I never used – IE has a way to separate loading and execution, and
async=false can also force execution in order. He is working on [http://pickaloader.com], which was not released as of the conference.
Robert Nyman talked about HTML5 APIs. I’ve been around long enough to hear about most of the technologies. I did lear a few things, such as online/offline events – although their are still several browser kinks, and the file reader API. I mostly learned about interesting services: vid.ly video transcoding, popcorn.js for live video sidebar, Google Body – a searchable 3d model, and Mozilla DevDerby, although unlike the page he showed that seemed to be a monthly challenge, the actual web site appeared to be a less frequent event.
Anton Kovalyov talked about JSHint, an alternate to JSLint that tries to be less opinionated than Douglas Crockford (e.g. a dictator). It also checks for implied globals.
Rebecca Murphey presented Lessons from a Rewrite, that took a body of real-world experience and distilled it down a series of guidelines, backed by her actual experience.
Seb Lee-Delisle wowed everyone with CreativeJS Visual Effects. It was basically sprite graphics on canvas, and a few people said he could have actually gone beyond the really basic techniques. He still got some very nice effects with simple systems, and it’s good to see people who take these ideas and make them exciting. I got over the gee-wiz factor back in the BASIC days, so we need people to keep it fresh.
Yehuda Katz closed out with “The Fallacy of Microlibs”. As a developer of SproutCore, Yehuda can’t be called unbiased in the argument, but he argues well, and one presumes he’s working on SproutCore because he believes it the way to go. The basic argument seems to be that while microlibs (as promoted at [http://microjs.com/]) are great for experimentation, the lack of coherency makes things more difficult for people trying to use them (“Integration eliminates cognitive overhead”). He points out the much-promoted UNIX philosophy of using small tools with pipes took ten years to develop – we probably don’t as good a common paradigm yet. Meanwhile, JS apps are competing with Cocoa (e.g. iOS), which is fairly consistent and well-documented.
After a missing the first time, I finally found the specified bar. However, this crowd is so new to me that I didn’t recognize anywhere there. Given that I’m not really a bar person myself, I didn’t hang out.