GothamJS 2013

Broadway is the Home of Excellence

Broadway is well-known for performers who are masters at their craft, whether it be singing, dancing, acting, and now of course, JavaScript! In this brand new production, the GothamJS team has assembled a great cast of JavaScript experts preparing some fantastic performances for your entertainment. You won't be disappointed with this lineup!

Friday Schedule

07:00-10:00

Pre-Conference Party

hosted by the Gilt Groupe

Saturday Schedule

08:30-09:15

Registration and Continental Breakfast

09:15-09:30

Welcome and Opening Remarks

09:30-10:10

JavaScript Programming Style and Your Brain

by Douglas Crockford

10:20-11:00

Go to Hell Flash, We Don't Need You Anymore!

by Michal Budzynski

11:00-11:20

Break

11:20-11:50

The Netscape Navigator

by Mike Taylor

12:00-12:40

Modern Development with Backbone Boilerplate

by Tim Branyen

12:40-01:40

Lunch

01:40-02:20

Stop Using Native HTML5

by Kyle Simpson

02:30-03:10

Building Seamless iframe Applications

by Ben Vinegar

03:10-03:30

Break

03:30-04:00

Bridge to Somewhere: Building Front End Infrastructure for the Future

by Eric Shepherd

04:10-04:50

/Reg(exp){2}lained/: Demystifying Regular Expressions

by Lea Verou

05:00-05:40

Re-imagining the Browser with AngularJS

by Igor Minar

05:40-07:30

Post-Conference Party

sponsored by Bloomberg

Opening Talk

by Douglas Crockford

Computer programs are the most complicated things that humans make. They must be perfect, which is hard for us because humans are not perfect. Programming is thought to be a “head” activity, but there is a lot of “gut” involved. Indeed, it may be the gut that gives us the insight necessary for solving hard problems. But gut messes us up when it come to matters of style. The systems in our brains that make us vulnerable to advertising and propaganda also influence our programming styles. This talk looks systematically at the development of a programming style that specifically improves the reliability of programs. The examples are given in JavaScript, a language with an uncommonly large number of bad parts, but the principles are applicable to all programming languages.

Douglas Crockford is a world renowned JavaScript expert, who speaks at software conferences all over the world, including JSConf, CapitolJS, TXJS, and FalsyValues. He is the creator of JSLint, the famous code quality tool that will "hurt your feelings", but make your JavaScript better. He also successfully promoted the use of JSON as a data interchange format, a massive improvement to XML that made life easier for all of us. Douglas is also the author of JavaScript: The Good Parts, an essential book that we have all read, and still refer to regularly.

Stop Using Native HTML5

by Kyle Simpson (@getify)

No, don't stop using HTML5, just stop using the native HTML5 JavaScript API's directly. They're still in flux, there's still bugs that need to be shim'd, etc. Your code needs to use these features, but it needs to be more robust.

What you need is to use in your apps is a thin facade (wrapper API) around those features, so that as things change, bugs come and go, etc, all that needs to change is the internals of your facade, and not your actual app code.

H5API is a project to build these thin facade APIs for the various HTML5 native APIs. We'll examine why we need something like this, and how H5API will help us build more robust HTML5 apps.

Kyle Simpson is a JavaScript Systems Architect from Austin, TX. He focuses on JavaScript, web performance optimization, and "middle-end" application architecture. If something can't be done in JavaScript or web stack technology, he's probably bored by it. He runs several open-source projects, including LABjs, HandlebarJS, and BikechainJS.

The Netscape Navigator

by Mike Taylor (@miketaylr)

This talk explores the past and future of the `navigator` object. We'll discover why certain properties are so broken (e.g., navigator.userAgent, navigator.platform), and what will be possible soon (and right now) via the navigator object (camera access, vibration, content handling, protocol handling, offline events).

Mike Taylor is a Web Opener in the Developer Relations and Tools group at Opera Software. He recently relocated from New York City to Austin, Texas.

Building Seamless iframe Applications

by Ben Vinegar (@bentlegen)

The goal of this talk is to teach attendees how to solve difficult problems associated with developing full-featured JavaScript applications inside iframes. This is important material for authors of third-party widgets and browser extensions.

Topics: - Intro: why rendering inside iframes is good (compatibility, performance, privacy) - Transferring styles from the parent page into the iframe - Efficient iframe resizing w/ DOM update queuing - Communicating events both inside/outside the iframe (mouseclicks, window resize, scrolling, etc) - Scrolling to locations inside iframes - Architecture for managing multiple iframes - Working with mobile browsers

Ben Vinegar is a Front-end Engineer at Disqus, a third-party commenting platform served on over 1 million blogs, online publications, and other web properties, including CNN, Wired, Time.com, and IGN. He is also the co-author of Third-party JavaScript (Manning). Ben has a fever, and the only prescription – is more iframes.

Go to Hell Flash, We Don't Need You Anymore!

by Michal Budzynski (@michalbe)

When back in 1996 Macromedia introduced Flash, no one suspected that this plugin will revolutionize the world of the Internet and move an open, Web-based technologies into the background. Today, after more than 15 years, situation slowly reverses - finally creating interactive websites, games or advertisements is possible without using any browser plugins. But is it enough? Michal will take us on a tour of the world's holy war between Plugins like Flash and HTML, and will attempt to answer this question, preseting poorly known HTML5 features, services and open source tools he is working on now (like http://bly.sk).

Michal Budzynski Michal is an Open Web Alchemist from Warsaw, Poland, responsible for many ridiculous experiments like 'CSS Nyan Cat' (https://developer.mozilla.org/pl/demos/detail/css-nyan-cat) or 'All your gradient are belong to us' (https://demoparty.mozillalabs.com/gallery/43/al-your-gradient-are-belong-to-us). Michal officiates as an HTML5 GameDev trainer in W3C and ran technical workshops and tech-talks in many countries on different continents - in 2011 he spoke for example in Brazil, Nepal, Australia and almost all of the European countries. He recently organized onGameStart, the first HTML5 games conference and safely says that making web a better place is not just his job - it's his lifestyle. That's why he funds BLYSK (http://bly.sk), very first serious web animation tool.

Modern Development with Backbone Boilerplate

by Tim Branyen (@tbranyen)

The Backbone Boilerplate is a popular open source project that I created in order to push the limits of what defines modern web development. With scaffolding and built in build tasks that take care of minification, concatentation, server, template compilation, etc. it is an obvious choice for beginner to advanced developers. It fully integrates the AMD pattern and the RequireJS loader as well as swapping out for an AMD shim during production.

This is by far the most sophisticated client side development platform available today, and while it is not perfect, it will certainly push other developers to create similar packages for Ember.js, Knockout.js, etc.

Tim Branyen is a software engineer working at Bocoup who focuses his time making web application development better. As a core contributor to the Backbone.js project, he is in a unique position to improve the tools web developers use every day.

The experience Tim gained while working on client projects at Bocoup assisted with the creation of the popular Backbone Boilerplate and several other projects, of which he actively maintains.

Bridge to Somewhere: Building Front End Infrastructure for the Future

by Eric Shepherd (@arkitrave)

The past was littered with multiple-repo simultaneous deployments, unholy configs, copy/paste code, and cross-your-fingers dependency management. Learn how Node Package Manager, RequireJS, Rake, Jasmine, JSHint, and friends have helped us create the assets pipeline of the future at Gilt. We can’t predict the future, but we can lay the groundwork for it.

Eric Shepherd leads the UI Architecture team at Gilt, which drives the continual improvement of front end technologies, optimizes asset deployment and front end performance, and builds components and modules for use across all of Gilt’s properties. Eric is a music and architecture expat who likes margherita pizza, Plymouth gin, and European trance music.

Re-imagining the Browser with AngularJS

by Igor Minar (@IgorMinar)

What if you could write modern web apps with dramatically fewer lines of code and improve its readability and expressiveness at the same time? No, there’s no new language to learn. Just familiar old HTML and JavaScript. As a matter of fact, there’s some stuff for you to un-learn.

AngularJS is a client-side JavaScript web development framework where we believe we’ve done something special. We’ve approached the problem let’s say differently from the way any other JavaScript tool has before. Instead of asking what kind of functions we could provide to make writing apps smoother, we asked “what if the browser worked differently in a way that eliminates code and gives structure to apps?”

This talk will take the audience on a tour of what the web platform of the future will look like and how the AngularJS framework can provide many of the powerful capabilities to existing browsers and bridge the path to web components, model driven views and other platform features that are currently being spec-ed.

Igor Minar is a software engineer at Google. He is a co-lead of the AngularJS project that aims to bring simplicity to the development of client-side web development via declarative markup, data-binding, and APIs with testability baked in. In his previous life, Igor was a hardcore server-side developer at Sun Microsystems specializing in test-driven web development with Java, JavaEE, JRuby and Rails.

/Reg(exp){2}lained/: Demystifying Regular Expressions

by Lea Verou (@LeaVerou)

Quick, what does this do: /(\/\*?\\/)|\/\/.*?(\r?\n|$)/g? If you’re like many developers, you just averted your eyes, and your heart is now in your throat. Symptoms included sweaty palms and recurring nightmares involving blood-thirsty ASCII symbols. But don’t worry, this condition doesn’t have to be chronic. A cure is right around the corner.

As with many developers, you’re familiar with the power of regular expressions, but anything beyond the basics scares the crap out of you. Fear no more young padawan! In this talk, we’ll start with the basics and progressively enhance your knowledge until you’re coding regular expressions like a champ. Everything will be demonstrated live with visual examples that ensure maximum comprehension.

Lea Verou has a long-standing passion for open web standards, and has been often called a “CSS guru”. She loves researching new ways to take advantage of modern web technologies and shares her findings through her blog, lea.verou.me. Lea also makes popular tools and libraries that help web developers learn and use these standards. She speaks at a number of well-known international web development conferences and writes for leading industry publications. Lea also co-organized and occasionally lectures the web development course at the Athens University of Economics and Business.