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:

Selectables
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
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.

Drag-and-Drop Shopping Cart with jQuery UI

I had my first article published on DMXzone.com yesterday. I’m going to be writing a couple tutorials a month on there, as well as on DNzone.com. I’ll mostly be focused on writing jQuery UI tutorials. Check it out:

Tutorial: Drag-and-Drop Shopping Cart with jQuery UI

In this article, I’ll introduce jQuery UI Drag-and-Drop and show you how with just a few lines of code, you can make a richly interactive shopping cart that is functional and fun to use. To get right into it, I’m going to assume that you’re at least familiar with jQuery (the base of jQuery UI). You should have a working (latest) copy of jQuery installed and be comfortable with the jQuery syntax and basic selectors.

It’s published in the Premium Content section, which means it’s not free. You can either pay a few dollars, or if you like the whole site (lots of great content, as well as an online magazine), they’ve got annual subscription options for unlimited access.

I’ve got a few more articles in the works including: dialog, theming, selectables. Leave a comment if you’ve got other ideas for articles.

The Rest of My Ajax Experience

Happy Belated Birthday! That’s how I feel writing this post. “I was just making it last longer.” The rest of my week at The Ajax Experience in Boston was great. So great, in fact that I had absolutely no time to write while I was there (after the zero’th day). Between talks and in the evenings I spent lots of time with the jQuery team and others that I was meeting for the first time. It was great.

This started as a huge mega-catch-up-post, but at the rate it was going, it wasn’t going to be published in time for next year’s conference! So this’ll have to do, to unclog my blog:

The conference was excellent. I can’t recommend it highly enough. I’m really hoping I can go again next year. It was awesome to meet the rest of the jQuery team (nearly all were there), and other jQuery (and non-jQuery) folks.

TAE Day 0 - Early Registration, Tutorials

Update: Added link to John’s presentation slides

I’m counting today as Day 0 of The Ajax Experience since it’s sort of an extra day. Originally the week was to be Wed-Fri and they added Tue to have early registration and three 90-minute tutorials. Cool.

I got into Boston at about 10:30am. I couldn’t check into my hotel until 3pm, so I went straight to the Seaport Hotel. They were nice enough to check my suitcase there and directed me across the street to the World Trade Center, the location of The Ajax Experience.

I arrived at about 11. Early registration wasn’t until 12:30, so I that gave me a bit of time to catch up on email and situate my backpack. I had this idea to bring along a surge protector and keep it in my backpack with everything plugged into it: cell phone charger, laptop power cord, camera battery charger. It worked marvelously. And when it came time to stand up and walk away, I just had one thing to unplug. The other end stayed in my bag with all my wall warts and cables. Beauty.

I walked over to the registration desk at 12:30. A line of about 20 people had beat me by waiting around for a bit before then. I got my badge, lanyard, and conference proceedings/packet and made my way to the room where the tutorials would be. There was ample seating, which I was glad to see. There was a podium, two large projector screens, and a big camera on the speaker. Each seat had a pad of paper and a pen, a drinking glass, and there was a pitcher of water every three seats or so.

What was missing? Outlets. Nowhere in sight to plug in. So I had my laptop on (unplugged) for about 10 minutes before the first tutorial. It remained off the rest of the day. Don’t know if this is to encourage people to pay more direct attention to the speaker, or if it was just the specifics of this room. Either way, I hope there are plenty of places to “plug-in” at later session rooms during the week. Ok, let’s get to the tutorials:

Tutorial #1: Introduction to Ajax, Ben Galbraith

The schedule had Ben and Dion. Ben mentioned that Dion couldn’t make it until this evening. So it was just Ben. But just Ben is just fine. He started out by having a raise of hands of who was brand new to AJAX. About 50% in attendance raised their hands. Perhaps fitting since this was an introduction tutorial. I looked around to get a rough idea, but didn’t count. I’d guess there were between 80-120 people there. A good group.

This was my first time seeing Ben speak and I really enjoyed it. It was easy to watch him for 90 minutes. He followed a good outline, fit in everything he needed/wanted, and explained things clearly. I was also impressed with his tenacity in doing a live demo from scratch during the presentation (with very few errors ;) )

Here’s a few choice quotes:

Ajax is a catch-all marketing term that means we can do cool things in a web browser

let’s web pages do a lot more than they’ve ever done before

the fundamental technique behind Ajax - browsers can contact server using JavaScript

XHR can be done synchronously. I guess that would be SJAX or something

I’m no UI guru, but I think hanging the browser is not a good UI experience

often with Ajax, what looks super complex is somewhat simple

Tutorial #2: JavaScript Library Overview, John Resig

John started out by saying that the Ajaxian Conference organizers must think he can do a decent job at remaining objective in giving an overview of JavaScript libraries, despite being an author and maintainer of a popular one, since this is not the first time he’s done this presentation.

Fortunately I don’t have to be as objective as John. So here I go: John Rocks. jQuery Rocks. Ok there, I said it. Now on to what John said:

Update: Here’s a link to John’s slides/presentation

Here’s a few choice quotes/excerpts:

When choosing a JavaScript Library, the first question you want to ask yourself is, “How you do want to write JavaScript?”

Libraries make JavaScript bearable

Prototype sets out to improve the usability of the JavaScript language, adding “missing” features

jQuery focuses on the interaction between HTML and JavaScript

YUI is an attempt to standardize internal JavaScript at Yahoo

Dojo focuses on providing everything needed for building web applications

A JavaScript library should provide (at a minimum): DOM functions (traversal, manipulation), Events, Ajax, Animations (simple)

For UI Widgets - Prototype has Scriptaculous, jQuery has jQuery UI, Dojo has Dijits, YUI has included

Dojo is taking a solid lead in accessibility for widgets (ARIA - Accessible Rich Internet Applications)

All 4 libraries (Proto, jQuery, YUI, Dojo) have liberal licenses - In short: Don’t remove the copyright line, Don’t sue us

I didn’t make it to the third tutorial this afternoon (Designing for Ajax, David Verba). John and I got to talking as this is the first time we’ve met in person (a pleasure). I also was happy to (quickly) meet tonight:
Jörn Zaefferer
Marc Grabanski
Karl Swedberg
Jonathan Chaffer

Benjamin Sterling and I missed each other by about 10 minutes, so we’ll meet in the morning.

Day 0 overall was quite good. Everything ran smoothly. The location is great, and everything is top-notch. The questions from the audience were quite good, and it was obvious people were getting a lot from attending. I’m looking forward to Day 1.

My Ajax Experience

Woo hoo! I’m going to be attending The Ajax Experience in Boston next week. I’ll be providing coverage right here on my blog. If you’re going to be there, I look forward to meeting you. If you’re not able to make it, then read my blog and you’ll feel like you’re there, I’m sure.

So TAE is Tue through Fri. Then on Saturday is jQuery Camp 07. I am definitely excited about meeting almost the whole jQuery Team in person. As well as about 60 other people that are surely as into jQuery as I am. They’ve got to be - jQuery Rocks.

It’s gonna be an awesome week. I’m sure I’ll keep busy helping with the next release of jQuery UI, and hopefully squeezing in a few minutes to finish some effects I’ve been working on.

jQuery Rocks

jQuery rocks so hard. It is one of the coolest things I know. I found jQuery about 5 months ago and was completely hooked in minutes. I joined the mailing list, started hanging out in IRC (freenode: #jquery), and lately I’ve been getting involved with some contributions.

Ben Nadel posted an awesome description of what using jQuery is like, and just one of the many reasons jQuery rocks. Here’s an excerpt:

How is it possible that I’m still surprised as to how little jQuery code is required to make some really awesome stuff. It’s just bananas. When I code in jQuery I am overwhelmed with this feeling that things are just falling into place. It’s not like an adrenaline rush or anything - I’m trying to think of how to explain it… more

Thanks Ben, for putting nicely into words what I have been feeling since I found this awesome library.

But jQuery is more than just an awesome set of code. jQuery is a fantastic (and large and growing) community of skilled, genius, helpful, creative, respectful, and talented gurus. It really is a joy to be a part of. That’s why I’ve decided to write a series of articles: jQuery Rocks. This is the first one.

Let’s Tango

The Tango Desktop Project

exists to help create a consistent graphical user interface experience for free and Open Source software.

It provides (among other things) a standard set of icons under an open source license. All are available as SVG, as well as being optimized for standard sizes. Beautiful stuff.

I’m also a big fan of the Tango Color Palette, which is Public Domain. This weekend I started making use of it to do a Tango Theme for jQuery UI.