Saturday, June 11 2011

Info

Things you'll need to know the day of the conference

...and don't forget about the extra-curricular activities

We can't wait to see you in Austin on June 11. Make sure you get there with enough time to
get registered and have a few breakfast tacos (sponsored by Yammer) before the talks start. There
are quite a few Alamo Drafthouses in Austin, so don't get confused - we are at the Alamo Drafthouse
Ritz on 6th St. in downtown Austin. Street parking is free on the weekends.

You'll have easy access to power (courtesy of nodejitsu) and plentiful Wifi (sponsored by Headspring). Lunch is provided (thanks to Mozilla!). The Alamo Drafthouse has table space for
everyone and you'll have table service at lunch. Also, all day long, if you'd like some local beer,
trade in some drink tickets (sponsored by Strobe) for a pint and responsibly relax while you learn.

Don't forget to join us for a Beer.js drinkup (sponsored by HP/Palm) at The Gingerman
(301 Lavaca St.) from 5-8pm on Friday night before the conference. You'll need to check in at a marked
table to get on the conference tab. Then feel free to go out with friends or get a good night's sleep
so we can get started bright and early on Saturday morning.

After the conference we'll be having a party at Buffalo Billiards (sponsored by Bazaarvoice).
Conference badges will be required. Light snacks will be provided and Texas Beer will be on
the house. The party will start at 7:30 and the bar will be open 'til 10:30 - after that we'll hit the town. Yammer and Mozilla have teamed up to help you learn the city a bit, too. Details at the party.

and more

Schedule

Track A • Theater 1

Track B • Theater 2

8:15 – 9:00

Registration and Breakfast Tacos

Sponsored by Yammer

9:00 – 9:10

Welcome

Alex Sexton

9:20 – 10:10

Douglas Crockford

Styling for Perfection

Computer programs are the most complicated stuff that people make. Computer programs must be perfect, and people are not good at that. JavaScript is one of our least perfect programming languages. But there are positive things that can reduce your error rate and enhance your beauty.

Adam J. Sontag @ajpiano

Fixing These jQuery: A Guide To Debugging

The road to jQuery success is paved with the guts of bugs slain along the way. At "Fixing These jQuery", you'll understand how to approach your jQuery and JavaScript problems methodologically, and we'll cover many of the common caveats that every jQuery user encounters sooner or later. You'll learn what you should do when your code doesn't do what it should. Sure, docs and support can provide a quick leg up when you're in a pinch, but once you arm yourself with the right tools and knowledge, you can traverse the thorniest of thickets!

10:20 – 11:00

Ben Combee @unwiredben

The JavaScript Behind HP webOS: Enyo and Node.js

HP webOS is a platform powering devices as diverse as the world's smallest smartphone, the HP
Veer, to power dual-core HP TouchPad tablet. Underneath it all is WebKit, HTML, and JavaScript,
powering both applications and system services. This talk will highlight our next-generation JS
application framework, Enyo, and also look at how node.js is used to provide system services and
background processing.

Matthew Eernisse @mde

Full-Stack JavaScript Fallacies

With the mainstreaming of server-side JavaScript, the possibility of full-stack
JavaScript development finally seems to be coming to fruition. Writing once, and running
the same code everywhere seems like the obvious big win, along with the ease of writing
complex server-side applications in a simple, flexible language like JavaScript. Actually,
full-stack JS is awesome, but these aren't necessarily the reasons why. This talk will bust
some of the myths about full-stack JS development, and take a realistic look at the real
benefits of 'JS everywhere.'

Justin Pope @ECELonghorn

jQuery Templates

The jQuery Templates plugin is a great way to help you reign in complex DOM updates and flexibly handle HTML returned from countless AJAX requests. I will cover samples of code based on production code used at Headspring and comment on the strengths and weaknesses of using jQuery templates.

Yehuda Katz @wycats

The Road to SproutCore 2.0

As more and more applications are moving into the client-side, developers are looking for new abstractions that help eliminate repeated code and simplify the development of applications.

SproutCore's bindings make it easy to build an application with a focus on data, rather than reverse-engineering application state from the DOM. SproutCore 2.0 makes this possible with a small core library and optional build tools.

In this talk, Yehuda will cover the basics of the SproutCore architecture, and talk about the philosophy behind the radical improvements in SproutCore 2.0.

Divya Manian @nimbuin

Taking presentation out of JavaScript one setInterval at a time

Way too many of today's presentations use JavaScript for needless bling. Use CSS for simple animations and present static content for browsers that do not support them. Let go of your need to control your user's experience pixel by pixel.

I will show a few demos of using CSS animations and how to provide similar non-animated options for browsers that do not support them.

Brian Leroux @brianleroux

Building PhoneGap Based Apps on OS X

Professional automation for PhoneGap based application development. Thats it. I'm going to teach you how to rockstar your next mobile project without hunting around a vendor IDE like a goof.

This will be a code heavy departure from the usual orgy of 4chan images and swearing you have come to expect from Brian. But if you think his talks are expletive laden normally just imagine him writing code!

Ben Vinegar @bentlegen

Modern iFrame Programming

When you first think of iframes, you probably think of embedded YouTube videos and web forms. But iframes can do a lot more than just embed third-party content. As an inline, sandboxed DOM environment, the iframe is a powerful tool for communicating across domains, loading resources asynchronously, securing content, and more. In this talk we'll explore a number of helpful ways to script iframes, both conventional and not. (Mostly not.)

12:40 – 1:40

Lunch

Sponsored by Mozilla

1:40 – 2:20

Rebecca Murphey @rmurphey

Lessons from a Rewrite

In late 2010, Toura Mobile had developed a PhoneGap-based platform for creating content-rich mobile applications, and customers were buying. The problem was that customers were also asking for more and more complex features, and Toura was rapidly discovering that their platform was more of a prototype than a solid base for future development. In this session, I'll talk about the decision to start from scratch, what we did differently the second time around, how we used features of the Dojo Toolkit to smooth the process, and how we designed the new solution with an emphasis on expecting the unexpected.

Joe McCann @joemccann

Choose Your Own Mobile App Framework Adventure

This whole mobile internet thing is probably gonna work out, but you may be asking yourself, with all the various ways of building mobile apps with web technologies, which one is right for me? There are so many choices, how does one choose?!

Don't fret! Like the Hardy Boys, we will choose the right path to end up with the right framework for your design and development style.

The frameworks we'll cover include:

jQuery Mobile

Sencha Touch

Phonegap

Appecelerator / Titanium

We'll cover what's right and what's wrong so that you don't end up getting fired (or shunned and reshunned). There will be some demos and most likely all the code will be given away MIT license style.

2:30 – 3:10

Brendan Eich @brendaneich

Ecma TC39: The Good, The Bad, and The Ugly.

Fresh off the May TC39 meeting, I will give an update on "ES.next", Harmony beyond that, how things are working and
not working. It will be sweaty, bloody, and thrilling. No Ennio Morricone score, though.

Paul Campbell @paulca

The Ingredients of Fine Web Applications

The top chefs in the world are specialists in taking basic ingredients, combining them in new and novel ways, and presenting them in ways that delight and amaze their guests.

As frontend programmers, we can learn a lot learn from these gastronomic figureheads; from their scientific approach to choosing, combining and cooking ingredients, to their obsession over service, senses and overall experience.

This is a talk about the relationship between food and code, between fine dining and web applications and ultimately how we can take inspiration from the masters of cuisine to help us build better software for everyone.

3:20 – 4:00

Andrew Dupont @andrewdupont

The State of Animation in 2011

The idea of animating HTML elements with JavaScript was first proposed centuries ago, even before computers existed, but has only been possible for roughly fifteen years.

Now, in 2011, we've got about nineteen different ways to animate elements. How do they differ? Which approaches are supported in which browsers? What works on mobile devices? And, most importantly: can we abstract away the differences between them and arrive at a solution that Just Works?

Well... it's complicated. I'll be sharing the battle scars I've earned while working on scripty2 and the Gowalla web site. I'll try to explain how (and why) we got here, what works where (both on the desktop and on mobile devices), and what the challenges are for frontend developers who want to do bulletproof animation in web browsers.

Garann Means @garannm

Change your markup, change your life

It doesn't matter whether you write JavaScript for the client, the server, or for both. It doesn't matter what library or framework you use. It doesn't matter what templating engine or node modules you rely on. The end result is HTML. And if your HTML sucks, what was the point? If you've been thinking markup was someone else's concern, guess what, sweetcheeks: it's not - it's yours. We obsess over extra semi-colons but we'll add container element after container element to provide hooks for our jQuery plugins? Uh-uh. If there's no craftsmanship involved in the way you handle HTML, it's time to change that.

4:10 – 4:50

Paul Irish @paul_irish

HTML2 and the DOM

The special relationship between your HTML markup and browsers is one more interesting than you'd think.
In this session we'll cover pedantic differences like "elements" vs "tags" but also get into what it means
that HTML is both markup and a serialization but definitely not the DOM. You'll also learn shortcuts with
HTML that save you time. In the end, you'll have a better understanding of how browsers handle your work.

Alex Russell @slightlylate

CSS & DOM From The Inside Out

What actually happens when you set a property on an element's style? Or when you add a stylesheet? This talk walks you through a bit of how modern web engines think about these sorts of things and how they interact with your JavaScript so you can structure your applications in ways that work with the system, not against it.

Ralph Holzmann @ralphholzmann

Putting the Micro in Micro Framework

Co-author of yepnope.js and developer of Send to Dropbox, I work for GroupCard out of Milwaukee as a front end Software Engineer. Micro frameworks are the new HTML5, and I'll show you how to squeeze as many bytes as possible out of your morbidly obese code so it makes the cut. I'll whet your palette by covering the basic transformations that JavaScript minfiers make, then bring on the main course with techniques for dealing with JavaScript reserved words and object properties. For dessert, I'll serve up a tasty knowledge bomb as to how the gzip algorithm works at a high level and how that affects minifying and gzipping your code. When you're done with this meal you'll be full! However, your code will be so lean and sexy that it will probably leave you, get drunk with ender.js and come home with a microjs.com tattoo in the morning. You've been warned.