Category jQuery Boston

jQuery Boston 2010

Updated 10/20: The official event schedule now has links to slides!
Link to this post at goos.es/jqueryboston.

Slides, Abstracts, and SpeakerRate links for each session:

Day 1

10:05 Keynote - jQuery Core & jQuery Mobile

By John Resig

View the slides for this talk (slideshare)

I also have notes on the presentation
Rate this talk on Speaker Rate

Abstract

The jQuery team has been working hard over the past few months to bring you some brand new code: The first alpha release of jQuery Mobile and jQuery 1.4.3. In this keynote we're going to look at both of these releases and see how your applications will benefit.

11:00 Sponsor Spotlight: Voxeo PhonoSDK

By Jose de Castro of Tropo

View the slides for this talk (slideshare)

I also have notes on the presentation

11:30 Mobile UI

By Filament Group

View the slides for this talk (slideshare)

I also have notes on the presentation
Rate this talk on Speaker Rate

Abstract

The jQuery Mobile framework is a unified interface system, based on jQuery and jQuery UI and built with progressive enhancement, that will be designed and tested to work across all popular smartphone and tablet platforms. Todd Parker and Scott Jehl will present an in-depth walkthrough of the current state of the jQuery Mobile project, including an overview of the layouts, widgets and utilities included in the alpha release. We'll cover the basics of using the jQuery Mobile system, demo real-world examples to illustrate how to build mobile-optimized web sites and applications that work on a wide range of devices, discuss the all-new CSS theme framework optimized for greater control and flexibility, and preview the upcoming version of the ThemeRoller tool.

11:30 jQuery('#knowledge').appendTo('#you');

By Mike Hostetler

View the slides for this talk (slideshare)

Rate this talk on Speaker Rate

Abstract

This talk will a quick but thorough introduction to the jQuery Javascript Library. If you have zero experience with jQuery, this is the talk to start with. We will cover jQuery and its history. We'll then start by introducing basic jQuery concepts and principles. Finally, we'll conclude by building a basic jQuery plugin.

The content of this talk will be much different then the jQuery training offered prior to the conference. Because of the available time, the training will be diving deep into jQuery concepts. This talk will cover some of the same topics, but will only cover them briefly.

13:30 OOCSS for JavaScript Pirates

By John Hann & Brian Cavalier

View the slides for this talk (slideshare)

Rate this talk on Speaker Rate

Abstract

At first glance, Object-Oriented CSS looks like yet another rehash of CSS "best practices". Maybe the OO part caught your attention briefly before you dismissed it as a gimmick. Who cares about CSS anyways? I'm a JavaScript Pirate! CSS is for lollygaggers and deck scrubbers! That's what this JavaScript Pirate thought, too, at first. But now that I'm skilled in the arcane art of OOCSS, I've come to realize that it not only helps me write better CSS, but it also helps me write much better JavaScript! You too will be able to create kick-ass web apps that are engineering marvels -- able to withstand high seas and hurricane-force winds -- er... or at least unreasonable customer demands. First, we'll review the basics of OOCSS. Then, we'll delve deeper. Way deeper.

13:30 Introduction to jQuery UI

By Elijah Manor

View the slides for this talk (html5)
Rate this talk on Speaker Rate

Abstract

This talk is an intro of the jQuery UI (build on top of jQuery) that provides a extensive set of interactions and widgets to help you build Rich Internet Applications. Some of these interactions and widgets include drag-and-drop, resizing, mouse-sorting, mouse-selecting, autocomplete, button, datepicker, dialog, progressbar, slider, and tabs. These components where written with a consistent API, design, behavior, and theming mechanism, which makes it an easy library to learn, setup, and immediately use. We will spend considerable time showing the components, examining how you can manipulate their default options, and revealing how you can easily change their theme cross your website.

14:30 Is these a bug?, or how to contribute to the jQuery project through better bug reporting

By Mike Taylor

No slides are currently available
Rate this talk on Speaker Rate

Relevant Links: http://bugs.jquery.com/report and http://bugs.jquery.com/timeline

Abstract

In this talk we'll discuss the fundamentals of creating and reporting bugs (whether perceived or real) for the jQuery project. While this may seem an obvious task at first glance, there are a number of critical skills required to create a bug report in such a way as to ensure your problems receive appropriate attention in the proper channels. Furthermore, we'll talk about how to submit proposed workarounds or fixes that address the problem.

14:30 TDD your jQuery Plugins

By Paul Elliott

No slides are currently available
Rate this talk on Speaker Rate

See the code from this presentation on github

Abstract

The quality of every jQuery plugin reflects on the entire community. As responsible software craftsmen it is critical that we certify our work as best we can. A very effective way to do that is by test driving the development of your plugin and maintaining a comprehensive test suite covering every feature. In this talk, I explain the process of test driven development and how it can be applied to your new and existing projects. I will demonstrate how to use modern tools to test your plugins from the outside in and significantly improve the quality of the code you write. I will walk you step by step from the idea for a feature all the way through its testing and implementation. Following this methodology will give you confidence in your releases and in all future changes to your code. An added bonus is that these concepts extend beyond your jQuery development and into every aspect of the applications you write, regardless of the platform!

15:15 Inaugural State of HTML 5

By Paul Irish

View the slides for this talk (HTML5)

I have posted a number of links that were discussed during Paul's talk here. (caution: no organization yet!)
Rate this talk on Speaker Rate

Abstract

HTML5 and friends have been getting implemented in browsers at an impressively quick pace. But that leaves us as web developers wondering, "Great, but how am I supposed to build cross-browser applications with these features when I still have to support IE". We'll take a look at what the landscape of implementable features are, detailing best practices of implementation and fallback solutions where appropriate. For example, how do you pair WebSockets with a standard comet stack and what do you have to watch out for. We'll also review your available feature set if you're only targeting webkit mobile, or if you've already given IE6 the boot. The data will be up-to-the-day accurate, covering all major browsers and filled with best practices from topic experts.

15:15 A Crash Course in JavaScript Application Testing with FuncUnit

By Brian Moschel

View the slides for this talk (slideshare)
Rate this talk on Speaker Rate

Abstract

Hate testing, but love the feeling of a bug free application? Then this is the talk for you! In under 30 minutes we’re going to change the way you view testing. JavaScript application testing has a well-earned reputation for being a giant pain in the ass. Existing solutions suffer from complex setup, difficult APIs, lack of automation, or expensive licensing fees. But there’s no denying that solid testing is the key to a better quality, more maintainable app. And that’s where FuncUnit comes in. FuncUnit is a free, open source JavaScript web application testing framework that’s powered by jQuery, Selenium, QUnit, and Envjs. It provides:
-Functional testing. Simulates clicks, keypresses, and drags to test event handling and UI changes.
-Easy syntax. It’s jQuery and QUnit syntax, natural for any jQuery developer.
-Run with just a browser. Developers run tests as they work to prevent regressions.
-Run the same test automated. QA can run nightly scripts that test every supported browser
-Simple set up. All you need is a browser.

Come join us as we cover these features and more in a live demo. We'll walk through setting up, writing, and running tests on a complex, AJAX heavy jQuery application. Come learn how to be a master of application testing!

15:15 Breakout Session: Wijmo

16:15 jQuery UI and HTML5 Video Play Nice

By Brian Crescimanno

View the slides for this talk (html5)
Rate this talk on Speaker Rate

Abstract

With mobile device usage skyrocketing and Flash Player 10.1 failing to provide a "silver bullet" for developers even on the range of devices that do support it, working effectively with HTML5 video is becoming more critical every day. In this session, we will walk through the basics of creating a jQueryUI-based interface for an HTML5 video player complete with ThemeRoller support. With support for HTML5 video on mobile devices incomplete in many cases, we'll also talk about the nuances of HTML5 video element support on mobile devices including how to properly prepare your content for mobile delivery and common "gotchas" when deploying to these devices.

You can access a sample jQuery UI video widget and a wrapper for injecting an HTML5 video into a page via Brian's GitHub.

16:15 Rapid testing, rapid development - Increase your development speed by reducing your feedback loops

By Menno Van Slooten

View the slides for this talk (slideshare)
Rate this talk on Speaker Rate

Abstract

Development speed is all about the "feedback loop" between coding and testing the result. As any jQuery project grows more complex the developer's feedback loop grows bigger. It goes from "save, reload, check result" to "save, reload, log in, enter data, submit, check result" and sometimes much worse. This talk is about jQuery plugins and general tips that will help you reduce that feedback loop and reclaim that time to make development faster, less tedious and more fun. This talk will show how jQuery plugins like Mockjax can speed up development by reducing dependencies on the backend and preventing conflicts with other developers. It will also show how you can use jQuery testing frameworks like QUnit and UITest to not only test your code but to help you quickly automate the tedious parts of your feedback loops. Additionally, regardless of whether or not you use jQuery, it will provide some general pointers on speeding up front end development. You may not walk away from this talk as a better developer, but you will know how to become a faster developer.

16:15 Breakout Session: BlackBerry Development with jQuery

notes to follow

17:15 Beyond the DOM: Functionality-Focused Code Organization

By Rebecca Murphey

View the slides for this talk (slideshare)
Rate this talk on Speaker Rate

Abstract

The magic of jQuery's CSS-based selection makes it easy to think about our code in terms of the DOM, and sometimes that approach is exactly right. Other times, though, what we're trying to accomplish is only tangentially related to our nodes, and opting for an approach where we think in terms of functionality -- not how that functionality is manifested on our page -- can pay big dividends in terms of flexibility. In this talk, we'll look at a small sample application where the DOM takes a back seat to functionality-focused modules, and see how the approach can change the way we write and organize our code.

17:15 Contextual jQuery

By Doug Neiner

View the slides for this talk (slideshare)
Rate this talk on Speaker Rate

Abstract

The enemy of maintainable code is extensive configuration. Popular frameworks like Ruby on Rails showed just how much can be accomplished by using convention over configuration. Since so much instructional data is described by the HTML of your site, why should you need to redefine it all again in JavaScript? In this session, learn how to develop clean jQuery code that responds to its context instead of the traditional, define everything, top-down approach. Learn how to develop and use conventions in your web sites to minimize the amount of page specific jQuery that is needed. This session will dive deep into the DOM traversal methods of the jQuery API where you will learn the difference between brittle and fluid traversal methods, strategies for structuring your HTML, and how to leverage some of the more obscure jQuery selectors. As part of learning how to code Contextual jQuery, this session will also cover tips and tricks on using both traditional and live events to write more effective, responsive code.

Day 2

10:00 Keynote - jQuery UI

By Richard D. Worth

No slides are currently available
Rate this talk on Speaker Rate

Abstract

Over the last three years since its 1.0 release, jQuery UI has grown to become the most used JavaScript User Interface library, installed on 6% of the top 10,000 websites on the inter- net. The last two releases of jQuery UI, 1.7 and 1.8, each represent a signficant and unique maturation of the library that has made a dialog as simple as $("<p>hello, world</p>").dialog();

As one of its highest priorities, the jQuery project is committed to ensuring the components that make up jQuery UI are con- tinuously improved and supported. The jQuery UI team does this with the generous and dedi- cated supported of volunteer and sponsored contributors. The next year in the life of jQuery UI will prove to be one of stellar advancement and the team invites all to participate in this great endeavor.

11:00 jQuery's Best Friends

By Alex Sexton

View the slides for this talk (HTML5)

Rate this talk on Speaker Rate

Abstract

During your first interactions as a jQuery user, hide() and show() were all you ever needed. They were the answer to your cross-browser woes, and you were satisfied.

Time would tell that you quickly outgrew your satisfaction, like the first hit of a powerful new drug. Suggestions suddenly needed to be automated, dates suddenly needed to be picked, and JSONs begged to be AJAXed. You were one jQuery year older now, and things made sense again, jQuery still had the answers.

Now you're a big kid, and you know what's up. You've lost your innocence, and you've realized that John Resig used to bully Eddy Stevens in 5th grade, the tooth fairy never existed, and that in some cases, jQuery didn't have all the answers. Yes. You realized that jQuery was a tool. Get out of your dependency-management induced depression and check out what jQuery's best friends have to offer.

jQuery is perfectly suited to work well with other libraries and tools that don't live on the jQuery namespace. This talk will give you some insight on some of the best tools that you should be using alongside jQuery. They aren't necessarily plugins, but they aren't necessarily not plugins, either. They are just my best recollection of jQuery's superhero crime-fighting posse.

Always remember, when there was only one set of DOM nodes in the sand... that's when jQuery was carrying you.

11:00 Exploding the internet with jQuery and Couch DB

By Boaz Sender

View the slides for this talk (HTML5)
Rate this talk on Speaker Rate

Abstract

In this talk we will step through building a jQuery application that interfaces with a CouchDB document store directly from the client. We will look at some of the unique aspects of a new paradigm in which the client can write directly to the document store with zero server side application code. We will also take a look at extending some of the core principles behind CouchDB's architecture to the client using jQuery. CouchDB should be in every jQuery developer's tool belt. Couch is the NoSQL database with a built in REST HTTP interface, powerful state management, views written in JavaScript and robust versioning. The power of the modern browser is increasing everyday. New features that allow JavaScript programmers to write real software are coming out at an alarming pace during this third Browser War and JavaScript in the client is becoming a more viable place to run software. Technologies like CouchDB are one of the key pieces in this process of thickening the JavaScript client.

13:00 Building Distributed JavaScript Widgets with jQuery

By Ben Vinegar

View the slides for this talk (slideshare)
Rate this talk on Speaker Rate

Abstract

jQuery makes browser compatibility a snap, but deploying widgets on remote websites is a different ballgame. In this talk, learn best practices and how-tos for building rock-solid distributed JavaScript widgets. Topics will include cross-domain iframe communication, tricks for setting cookies on remote domains, passing variables to static scripts, security issues, restoring core methods, and more. The talk will feature code examples using jQuery and relevant jQuery plugins.

13:00 Mobile Web Applications with jQuery

By Chad Pytel

No slides are currently available
Rate this talk on Speaker Rate

Abstract

Many web applications today provide a custom mobile web interface. Choosing the right tools and executing an effective mobile application can prove to be a delicate balancing act. This talk will present real world case studies of mobile web applications built using jQuery, pragmatic tips for determining what additional toolkits and plugins to use, and effective strategies for designing effective mobile application that compliment, extend, or replace their traditional desktop counterparts.

13:45 jQuery Effects: Beyond the basics

By Karl Swedberg

View the slides for this talk (slideshare)

There is also a cool post on how Swedberg demonstrated how to break out of $.fn.each() iterations with a return false;.
Rate this talk on Speaker Rate

Abstract

jQuery's core animation methods can seem pretty rudimentary at first glance. Yet lurking beneath their simple exterior is a set of effects with incredible range and flexibility. In this talk, we'll move beyond the basic animations that so many of us rely on. We'll take a closer look at both standard and custom animations and see how they can be used in uncommon ways to create useful and fun effects. We'll also build a couple of our own effects plugins, explore parts of the effects API that are often overlooked, and learn how to avoid common problems when attaching these effects to certain events. Finally, we'll review a few jQuery plugins that make complex animations even easier.

13:45 Theming jQuery UI like an Aristocrat

By Chris Bannon

View the slides for this talk (slideshare)
Rate this talk on Speaker Rate

Abstract

We all know and love ThemeRoller for quickly styling jQuery UI, but we often have to go beyond its capabilities. We will walk through completely building a rich new theme from beginning to end. Recently, 280 North released an Open Source theme called Aristo. It is a really polished an professional looking style that can be applied to many different UI elements. It is also used in the popular Cappuccino web development framework as a built in theme. We are going to take this awesome design concept and build it as a ready-to-use theme for jQuery UI. After we have the core theme in place we can begin customizing each widget’s style while still inheriting from the base CSS. Then we will add some CSS3 magic to make it diamonds!

14:45 Using templates to achieve awesomer architechture

By Garann Means

View the slides for this talk (slideshare)
Rate this talk on Speaker Rate

Abstract

Templates are the best kind of tool: simple to write and implement, but powerful enough to make your architecture slicker and your code leaner. Getting markup out of your Javascript is a huge deal, but templates can help with more than that. They can manage repeated code snippets, allow you to deftly switch states in single page applications, and help keep your code DRY when supporting users with and without Javascript enabled. Using and extending them creatively can make any architecture a little awesomer.

14:45 Moving to jQuery

By Yehuda Katz

No slides are currently available
Rate this talk on Speaker Rate

Abstract

In earlier versions, the SproutCore JavaScript framework used a clone of jQuery called CoreQuery. With the advent of jQuery 1.4 and its myriad performance improvements, SproutCore has taken the plunge and converted its rendering layer over to jQuery. In this talk, Yehuda will talk about how SproutCore keeps its rendering layer so fast, and how jQuery 1.4's performance improvements made it possible to switch over. He will also cover some patterns used in SproutCore that you can use in standalone web applications using jQuery.

15:45 jQuery in the [AOL] Enterprise

By Dave Artz

No slides are currently available
Rate this talk on Speaker Rate

Abstract

Last year, AOL adopted a new content strategy and has positioned itself as a premier destination for original content. Core to this strategy is having reusable, highly efficient and optimized common code and experiences at scale, which is where jQuery comes in. Check in with Dave Artz to see how jQuery has helped his front-end standards team tackle unique challenges like optimizing 3rd party widget performance, overriding global plugin functionality, and managing dependencies and updates across 100+ sites spanning multiple back-end platforms.

15:45 Organizing Code with JavaScriptMVC

By Thomas Reynolds

View the slides for this talk (slideshare)
Rate this talk on Speaker Rate

Abstract

The jQuery community has provided thousands of useful plugins which can be stitched together to create exceptional websites. However, organizing those plugins, tracking their upstream changes and managing dependencies can become a nightmare with a system to help you manage. JavascriptMVC, and specifically its new version 3 release, provides a framework for organizing outside code, integrating it into your workflow and compressing down to a single output javascript file. This talk will focus on taking external plugins such as jQuery Tools or jQuery UI and creating a workflow for building larger applications from these components. I will show how to use the JavascriptMVC “getter” and “pluginify” scripts to pull external resources. With JavascriptMVC 3, css and javascript can be packaged together, creating truly convenient widgets. I will also demonstrate how often-used pieces of functionality can be abstracted into plugins and shared with the general community via Github.

16:30 App in a Browser

By Jonathan Sharp

No slides are currently available
Rate this talk on Speaker Rate

Abstract

It's one thing to know and use jQuery on a website and quite another when building an app. With the flexability of jQuery, there are countless approaches for constructing the front-end of an application. This session focuses on building an app using an event driven approach with the goal of maintaining loose-coupling between the UI and it's cooresponding data. We'll look at the value of being able to integrate with an existing architecture, examine where to separate and draw the lines for roles within a team, and focus on how to bring consistency to the codebase. We'll take some REST services, a few additional components for caching, storage, service abstraction and UI and produce an app that is maintainable and feature rich.

16:30 Building Extensible Widgets

By Scott González

No slides are currently available
Rate this talk on Speaker Rate

Abstract

jQuery's popularity is largely due to its ease of use and elegant API. jQuery makes common tasks dead simple while making difficult and less common tasks much easier than they would normally be. In this talk, we'll show how to build complex, stateful widgets with the same ease of use as jQuery core. We'll cover the philosophies behind jQuery and how to apply them when building reusable widgets. By the end you'll know how to make the right decisions when designing your widget's API and how to use jQuery UI's widget factory to implement an extensible widget.

16:30 Breakout Session: Women & Tech Conferences

Lead by Rebecca Murphey

See Rebecca's post about the session here

17:30 Getting Involved?

By Ralph Whitbeck

No slides are currently available
Rate this talk on Speaker Rate

Abstract

"Are you looking to get more involved in jQuery? Would like to contribute to jQuery but don't know what you can do to help? Not everyone is a John Resig, Brandon Arron, Yehuda Katz, Jörn Zafferer or Scott Gonzalez, but that doesn't mean there isn't something that you can contribute back to the community.

In this talk, we'll explore various options available to jQuery designers and developers to be able to contribute back to the jQuery Community. We'll discuss ways to have a big impact on a great number of people—from offering help on the forum to sharing plugins to writing tutorials. And we'll look at the proper procedures for reporting bugs and submitting patches. This talk is meant for anyone who is interested in jQuery, from the very beginner to the more advanced user who is looking to get more involved with the community.

17:30 Super Awesome Interactions with jQuery

By Matt Kelly

View the slides for this talk (slideshare)
Rate this talk on Speaker Rate

Abstract

jQuery makes it simple to create highly interactive web applications, making it easier then ever to create terrible interactions that send your users running for the hills. Applying basic design tools like sketching, design before implementation, and interaction grids will ensure your users cry with joy, rather then cringe with disgust. Matt will show you how to design *super awesome interactions* for jQuery and jQuery UI the way that ZURB does.

Come prepared for 20% theory, 80% implementation and tons of examples.

18:15 Panel

By the jQuery Team

No slides are currently available


Bold indicates I have uploaded my notes for that talk.

There was an awful lot to digest at jQuery Boston 2010, so I'm going to do this in pieces. I have (as my first excursion into jQuery UI) enclosed a list of the talks by day in accordion widgets above. If I have been able to find a link to the slides it will be listed, as will a link to the presenter's twitter account or blog. I have enclosed the talk abstracts where I do not have personal notes to share. Please let me know if you find any slides for talks I missed, especially the ones on testing!

If you liked the talks, rate the speakers! Public notes on the entire conference are available here.

A special thanks to Alexis Perrier for helping track down some of these presentations!

jQuery Mobile UI

The jQuery Mobile talk was presented by Todd Parker and Scott Jehl of the
Filament Group, who are design leads & corporate sponsor for jQuery UI and have written volumes on both jQuery and Progressive Enhancement. The talk built on John Resig’s keynote announcement of the framework, and delved into some more of the specifics of how a jQuery Mobile app will function in different environments. One complaint at the end of the talk pointed out that their presentation did not give a good sense of how the platform will appear on low-end devices, but you can get a taste for what is to come on the more advanced phones at the jQuery Mobile demo page.

Note: these (and most subsequent) notes have been dumped more or less wholesale from a vim file, so I apologize for the inconsistencies of format.

Voxeo & PhonoSDK

Jose de Castro from Voxeo Labs subsidiary Tropo took the stage after John, to welcome everybody to the conference and to announce a new application they were releasing that morning. Tropo provides an engine for online voice, SMS and twitter communication, and their newest project is called PhonoSDK. Phono is a jQuery plugin that can turn your browser into a JavaScript-based phone, capable of calling another browser or even a landline. The SDK is being provided as a service, and is already powering Facebook Telephone—a blog post about that program is also available on Phono’s site. The forums lit up as soon as the jQuery Boston attendees saw how simple Phono was to set up, and I expect we’re going to see a lot of new Phono apps in the next few weeks. Well launched, Tropo!

(Key) Notes

This is the first of several posts I will be making containing my notes from the jQuery Boston 2010 conference I attended this weekend. The entire conference kicked off with a presentation by the legendary John Resig, and he marked the occasion by announcing the release of both jQuery 1.4.3 (release announcement) and, more significantly, the alpha version of jQuery Mobile. My notes on his keynote presentation are after the jump.

Please note that I cannot vouch for the 100% accuracy of these notes… a lot of material was covered very quickly, and my notes were necessarily sketchy. I have done my best to record things accurately, but check at jQuery.org before you go shouting any momentous news to the world!