Joined Bocoup

I joined the Bocoup Team in April. I couldn’t be more excited about the development work I’ll be doing at Bocoup. There are a ton of other reasons I love this job, but I’ll just mention two right now.

1. Bocoup Training
I’ll continue to develop and deliver open web technology training for today’s beginning, intermediate and advanced level web developers. JavaScript, HTML5, jQuery, Mobile, jQuery UI. The training is available to internal teams at companies large and small. It’s also offered at the Bocoup Loft in Boston.

Rolling Down To Rio
I’m anxious to take Bocoup’s training to other cities, even internationally. My first such opportunity will be in just a few weeks. I’ll deliver a specialized training class to a team of developers at (think Brazil’s in Rio de Janeiro. I’ll already be in Brazil to deliver a jQuery UI keynote at the first ever JavaScript conference in Brazil. As long as I’m in the country, I decided to spend a week in Rio (where I lived just over 10 years ago) and do some training. It will be an intensive 5-day course with each day covering one of 5 key topics: JavaScript, HTML5, jQuery, Mobile, and jQuery UI. Each of these topics typically is treated in a 2-3 day course, so this will be something like mega-workshop. Should be fun.

HTML5 Training at Bocoup June 1-3
My next training will be a 3-day HTML5 course at the Bocoup Loft, June 1-3. Tickets just went on sale a few days ago. Get with me this week and I can get you a discount code.

2. Bocoup <3 Open Source
Bocoup has 25% open source time. What does this mean? I can work up to 10hrs a week on Bocoup’s dime continue to develop and support jQuery and jQuery UI and other quality open source projects. This is google-esquely awesome, especially for such a new and small (by comparison) company. This isn’t just because I was hired on to Bocoup while leading the jQuery UI project. This is they way Bocoup is built. Every employee has built-in 25% time to work on open source projects, and it happens. You want examples? In the jQuery space alone: Rick Waldron, Adam Sontag, Ben Alman. That’s just a few. Oh, as long as I mentioned those names, I’m super excited to be joining them as a fellow Bocoup trainer. Super guys.

JSConf and NodeConf
I’ll be at JSConf and NodeConf this week. Actually a bunch of Bocoup people are. Oh yeah, and Bocoup organized the pre-training for both.

If you’re at either event, find me, I’ve got something for you.

Washington D.C. Area jQuery Meetup, Wed. Apr 28 2010

I’m pleased to announce the first jQuery DC Meetup will be in two weeks, just a couple days after the jQuery San Francisco Bay Area Conference. Thanks to Microsoft and in particular G. Andrew Duthie for helping to make this possible.

Join us for the first jQuery Meetup in the Washington, D.C. metro area on the evening of Wed. April 28. We’ll meet at the Microsoft – DC/Chevy Chase office to talk about what’s new in jQuery UI 1.8 as well as discuss as a group how, how often, and where we want to get together in the future.

Please grab a free RSVP ticket so we know we have enough chairs as well as enough pizza, drinks and dessert. Mmmm – jQuery.


Come for the pizza, stay for the rich web dessert, and get some jQuery in the middle there.

Wednesday Evening, April 28, 2010

  • 6:30 – munch and mingle: pizza & soda
  • 7:00 – presentation: What’s New in jQuery UI 1.8 by Richard D. Worth
  • 8:00 – group discussion: how should jQuery DC meetups work
  • 8:30 – rich web dessert

Speaker: Richard D. Worth

Richard D. Worth is a user interface consultant at Richly Interactive in Washington, D.C. He helped create jQuery UI, making rich web interfaces as refreshingly simple as jQuery has made Ajax. Richard is the jQuery UI Release Manager and helped write the jQuery Cookbook by O’Reilly.

Venue Sponsor: Microsoft

As a strong supporter of the DC area developer community, Microsoft is pleased to host the inaugural jQuery DC Meetup. For more information about local developer happenings in the DC area, and the greater Mid-Atlantic, check out Community Megaphone, an event promotion and discovery site created by local Microsoft Developer Evangelist (and one of your hosts for the inaugural meeting), G. Andrew Duthie.

How to get there

Driving (5404 Wisconsin Ave, Suite 700 – Chevy Chase, MD)

Drive to 5404 Wisconsin Ave, Suite 700 in Chevy Chase, MD. Enter the garage on the Friendship Blvd. side of the building. Upon parking, take the garage elevators up to the lobby level.

Go to the office elevators, and take them to the 7th floor. There’s a reception desk there, where someone will direct you to the rooms where we’ll hold the meeting.

Metro (Friendship Heights, Wisconsin Ave entrance)

Take Metro to Friendship Heights, enter the building via the Wisconsin Avenue entrance, which will put you in the main lobby.

Go to the office elevators, and take them to the 7th floor. There’s a reception desk there, where someone will direct you to the rooms where we’ll hold the meeting.

jQuery, Plugins, and jQuery UI

Someone asked on the jQuery UI Mailing list tonight about the difference between jQuery, jQuery UI, and Plugins. Here was my response.

“jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.”

“jQuery offers a mechanism for adding in methods and functionality, bundled as plugins.”

“jQuery UI provides abstractions for low-level interaction and high-level, themeable widgets, built on top of the jQuery JavaScript Library, that you can use to build highly interactive web applications.”

jQuery ( )

So jQuery is a concise and minimal javascript framework. It covers the basics – DOM Manipulation, Events, Ajax, Animations. It does so quite nicely, and is rather popular.

Plugins ( )

jQuery is extensible. Anyone can write code that gives jQuery more than just the basics functionality. These are packaged as plugins. In addition to including


you might also include a plugin file (that you or someone else wrote), such as

This would typically add a function .foo() which you could call on any jQuery object as if that were a built-in basic capability of jQuery. You can find a huge number of plugins on

as well as elsewhere on the internet. People write and release jQuery plugins all the time, because they’re easy to write and share. They cover things such as menus, rich media (audio/video), data handling, cookies, browser detection, layout, form validation. Anything people want, really.

When a plugin becomes so ubiquitous that nearly everyone is including it on their page with jquery.js, it can be a candidate for inclusion in jQuery core. But only where it is in demand, makes sense, and still keeps the library lightweight, easy to use, etc. That said, jQuery core will never grow beyond it’s fundamentals (hence the name, core). Enter jQuery UI.

jQuery UI ( )

A couple years back there was a set of quite popular jQuery plugins bundled in a package called Interface, written by Stefan Petre. These offered really great interactions, like drag-and-drop, selecting, sorting, resizing; widgets like tooltips, autocomplete, accordion. The 1.2 release of jQuery had some API changes that would’ve required changes to Interface, for it to be compatible, but Interface was never updated.

jQuery UI (started by Paul Bakaus) picked up where Interface left off. Many people are interested in a complete package/library of jQuery plugins with a common/consistent API, complete documentation, testing in all major browsers, with which they can build rich web interfaces and/or RIAs (Rich Internet Applications). Oh yeah, and they should work well together, be easy to use, accessible, extensible, and themeable. Whew.

jQuery UI is a sister-project of jQuery. The 1.0 release of jQuery UI was September 2007. Version 1.5 was released in June 2008. You can get a pretty full history (including what went in to each release, and how it matured) on the jQuery Blog. The latest stable release is 1.5.2 and includes

- Draggables (drag)
- Droppables (and drop)
- Resizables
- Selectables
- Sortables

- Accordion
- Datepicker
- Dialog
- Slider
- Tabs

- blind, bounce, clip, drop down/up/left/right, explode, fold, highlight, pulsate, puff, scale, shake, slide down/up/left/right, transfer
- Color animations
- Class animations (addClass/removeClass/toggleClass w/Interval)

Some other notes:

There is documentation for all of jQuery UI, including how to theme each plugin

jQuery UI is hosted on google’s ajax libraries api

jQuery UI has full theming support for all plugins. The jQuery UI website even has an application for getting started building a theme, called ThemeRoller. It gives you a live preview of your theme applied to all the widgets as you create it.

The jQuery UI website has a Download Builder which allows you to pick and choose just the components you want, and wraps them up (with a bow, er min/pack compression options) in one file.

There are more plugins in the works such as:
- colorpicker
- autocomplete
- progressbar
- spinner
- menu
- toolbar
- panels
- splitters
- tree
- uploader
- grid
- tooltips

You can follow jQuery and jQuery UI on twitter and/or identica:


jQuery UI

(both sites use jQuery :) )


jQuery UI (like jQuery) is dual-licensed MIT and GPL. Meaning you can pick the one that suits you.

Support Groups / Mailing Lists

jQuery has two:

jQuery Main list, for people using jQuery:
jQuery Dev list, for the development of jQuery itself:

and jQuery UI has two as well:

jQuery UI Main list, for people using jQuery UI:
jQuery UI Dev list, for the development of jQuery UI itself:

Conference Talks in September: jQuery and jQuery UI

September is full. I’m giving five talks next month on jQuery and jQuery UI. Here’s my schedule:

Rich Web Experience – East (Washington, D.C. Area) Tag: rwe2008
September 4-6, 2008
Talk 1: jQuery
Talk 2: jQuery UI: Rich Interactivity Simplified

Rich Web Experience – West (San Jose, CA) Tag: rwe2008
September 8-10, 2008
Talk 1: jQuery
Talk 2: jQuery UI: Rich Interactivity Simplified

Library of Congress (Washington, D.C.)
September 18, 2008
A team of developers has invited me to come speak with them. Apparently they’re fans of jQuery (no surprise there) and want to learn more. Awesome. Thanks Ed Summers.

jQuery Conference 2008 (Boston, MA) Tag: jquerycon2008
September 28, 2008
Last year we had a one-day jQuery Camp right after TAE. This year we’ve graduated to a full conference :) . I’ll be doing an introductory talk on jQuery UI.

The Ajax Experience 2008 (Boston, MA) Tag: tae2008
September 29-Oct 1, 2008
Talk: Rich Interactivity, Simplified, with jQuery U
This will be my second Ajax Experience. I had an absolutely awesome time last year meeting almost the entire jQuery Team and jQuery UI Team.

If you’ll be at any of these, I’d love to meet up with you. Contact me on @rdworth.

jQuery UI now in Google’s AJAX Libraries API

Google announced recently that jQuery UI is the latest addition to their hosted AJAX Libraries API:

jQuery UI … is now hosted on our AJAX Libraries API! As usual, your users will get a performance boost when you use JQuery UI through our API, so get started by checking out the docs.

Now you can put one script tag on any page and benefit from cache, min, gzip, and google’s CDN:

<script type="text/javascript" src=""></script>

and you’ve got all jQuery UI plugins and effects. Beauty.

jQuery UI 1.5 Final Release

jQuery UI 1.5

I’m pleased to say that the jQuery UI 1.5 release is out. Here’s the full blog post for all the info:

jQuery UI v1.5 Released, Focus on Consistent API and Effects

There’s a lot there, so I won’t repeat it all here. However, I do want to mention on of my favorite parts of this release:



Wow! Give a hand to Filament Group for creating Now you can create a custom jQuery UI theme including colors, textures, hover effects, to match any site or app. They’ve got an extensive writeup on their awesome work, and they’ve even got guidelines on how to write jQuery UI plugins so that they’re ThemeRoller-ready.

Thank You

Finally, thanks to all who helped with tests, demos, documentation, feedback, criticism, and encouragement. Keep it coming.

jQuery UI Sprint A Huge Success

The jQuery UI sprint this last weekend was great. In all we had over 35 participants and got a lot of good stuff done.

We worked on demos to showcase all the UI plugins, opened and closed a bunch of tickets, reviewed and updated the documentation, and continued writing unit tests for each UI plugin. We also had some crucial discussions about API consistency, and simplified some of the code dependencies.

We’re not quite ready for the final 1.5 release, but this sprint was a great push toward that goal. I was pleased to see that we attracted some new contributers. They made a real contribution, and we were happy to have some fresh perspective on how we’re doing, and how we can do better. They key now is to keep this good momentum going.

Paul will be doing a more complete summary post on the jQuery blog later today. But I wanted to at least mention here: Thanks to all who made this sprint a success.

jQuery UI Sprint starts tomorrow

I announced the first jQuery UI Sprint on the jQuery blog last Friday. It will take place all day tomorrow and Saturday. Here’s a summary:

The jQuery UI Team is pleased to announce its first Worldwide Sprint, to take place next Friday and Saturday, March 14-15, 2008. Two full days of testing, fixes, documentation, and general getting-stuff-done. Our goal is to get the jQuery UI 1.5 release (alpha, beta) ready for final, and we invite any and all to help. Whether you have an hour, or an afternoon, come and run really fast with us.

I’m really excited about this event. We’ll have a few team members there to help facilitate, and a lot of new contributors as well. So far there are 22 people signed up to participate. If you want to give UI some love, add your name to the list, even if you can’t be there the whole time. We’ve got some exciting stuff planned. See you tomorrow.

jQuery UI 1.5 alpha

We finally got the jQuery UI 1.5 alpha out, along with jQuery 1.2.3:

jQuery 1.2.3: AIR, Namespacing, and UI Alpha

jQuery UI 1.5 alpha
What a road for UI 1.5. Originally it started as 1.0.1 (just bug fixes) following the 1.0 release in September. Then it grew into 1.1 (a little added functionality, a couple API changes). Neither of these actually got released. The closest was a fairly quiet 1.0.1a. In the end, there were so many big changes, especially in the API, but also in a couple plugins that were entirely reworked, that it was promoted to 1.5. Here’s a couple I’ve been spending a bit of time on:

The version of Selectables in the 1.0 release was not what some might call useful. I’m happy to say this is fixed in 1.5.

Dialog has a few fixes (like with multiple dialogs, if you click on one it comes to the top), but the most requested feature (by far) didn’t quite make it into the alpha: modal option. This will be in the beta. Stay tuned.

Dialogs and Theming with jQuery UI

I had my second jQuery UI Article published on DMXzone today:

Tutorial: Dialogs and Theming with jQuery UI

In this article I’ll introduce jQuery UI Dialogs. I’ll also introduce one of the premiere features of jQuery UI: themes, and will show how they can be used to make a consistent and attractive web application. As in my last article, Drag-and-Drop Shopping Cart with jQuery UI, I’ll assume a basic familiarity with jQuery (the base of jQuery UI). You should be comfortable with jQuery syntax and basic selectors.

See my earlier post, Drag-and-Drop Shopping Cart with jQuery UI, for more information on DMXzone Premium Content.