Blog

The Official jQuery Podcast – Episode 14 – Phil Haack

Posted March 5th, 2010 by Ralph Whitbeck

This week Elijah and Ralph sit down and talk with Microsoft’s Phil Haack, Senior Program Manager on the ASP.NET team, currently working on the new ASP.NET MVC Framework. We discuss their recent decisions to include jQuery into several of their products what ASP.NET MVC is and how jQuery is integrated into the project.

You can subscribe to the show in iTunes or via the raw RSS feed or you can download the MP3.

Here are the show notes for this episode:

Read the rest of this entry »

The Official jQuery Podcast – Episode 13 – David Walsh

Posted February 26th, 2010 by Ralph Whitbeck

The Official jQuery PodcastIn this episode we sat down and talked with David Walsh, a developer for the MooTools JavaScript framework. We spent time comparing jQuery with MooTools and talked about how each community can help each other.

You can subscribe to the show in iTunes or via the raw RSS feed or you can download the MP3.

Here are the show notes for this episode:

Read the rest of this entry »

jQuery 1.4.2 Released

Posted February 19th, 2010 by John Resig

jQuery 1.4.2 is now out! This is the second minor release on top of jQuery 1.4, fixing some outstanding bugs from the 1.4 release and landing some nice improvements.

I would like to thank the following people that provided patches for this release: Ben Alman, Justin Meyer, Neeraj Singh, and Noah Sloan.

Downloading

As usual, we provide two copies of jQuery, one minified (we now use the Google Closure Compiler as the default minifier) and one uncompressed (for debugging or reading).

You can feel free to include the above URLs directly into your site and you will get the full performance benefits of a quickly-loading jQuery.

Additionally you can also load the URLs directly from either Google or Microsoft’s CDNs:

New Features

A full list of the API changes can be found in the 1.4.2 category on the jQuery API site.

In this release we’ve added two new methods: .delegate() and .undelegate(). These methods serve as complements to the existing .live() and .die() methods in jQuery. They simplify the process of watching for specific events from a certain root within the document.

For example:

$("table").delegate("td", "hover", function(){
	$(this).toggleClass("hover");
});

This is equivalent to the following code written using .live():

$("table").each(function(){
	$("td", this).live("hover", function(){
		$(this).toggleClass("hover");
	});
});

Additionally, .live() is roughly equivalent to the following .delegate() code.

$(document).delegate("td", "hover", function(){
	$(this).toggleClass("hover");
});

What’s Changed?

There has been some large code rewrites within this release, both for performance and for fixing long-standing issues.

Performance Improvements

As is the case with virtually every release of jQuery: We’ve worked hard to continue to improve the performance of the code base, making sure that you’re provided with the best performing JavaScript code possible.

According to the numbers presented by the Taskspeed benchmark we’ve improved the performance of jQuery about 2x compared to jQuery 1.4.1 and about 3x compared to jQuery 1.3.2.

jQuery Taskspeed Results (Feb 14, 2010)

Specifically we’ve improved the performance of 4 areas within jQuery:

While comprehensive benchmarks like Taskspeed can be interesting if deconstructed into individual sub-tests for further study, as a project we tend to stay away from using them as an accurate measure of true, overall, library performance. Considering how many aspects make up a library, not to mention the different techniques that they offer, cumulative results rarely reflect how an actual user may use a library.

For example, we saw significant overall performance speed-ups in Taskspeed simply by optimizing the $("body") selector because it’s called hundreds of times within the tests. Additionally we saw large gains by optimizing .bind() and .unbind() by a fraction of a millisecond – an inconsequential amount – especially considering that any cases where you would bind hundreds of events you would likely want to use .live() or .delegate() instead.

We’ve collected some results from the other major libraries as well but are less interested in those results and far more interested in the performance improvements that we’ve made relative to older versions of jQuery itself.

We will continue to work on optimizing the jQuery code base – indefinitely. It’s always a major concern for us to try and provide the fastest JavaScript/DOM-development experience possible. And yes, there will likely always be ways to gain additional performance – either through internal optimizations or by pushing critical functionality off into browser-land for standardization.

Event Rewrite

The largest internal changes have come through a much-needed structural rewrite of the events module. Many quirky issues related to event binding have been resolved with these fixes.

Namely event handlers are no longer stored as object properties in jQuery’s internal object store (with metadata attached to the handlers). Instead they’re now stored within an internal array of objects.

If you’ve ever had the opportunity to play around with .data("events") on a jQuery element you would find that it returns an object with all the event types currently bound, within it.

To enumerate some of the changes that have occurred during this rewrite:

  • It’s now possible to bind identical handlers with different data, namespaces, and event types universally.
  • Execution of event handlers will continue after one handler removes itself (or its sibling handlers).
  • We no longer attach data/namespace information directly to the event handlers (only a unique tracking ID).
  • We no longer use proxy functions, internally, to try and encapsulate handlers.
  • Execution order of events is now guaranteed in all browsers. Google Chrome had a long-standing error in their object-looping logic that has been routed around.

As a side-effect of these changes we had to change the newly-exposed special add/special remove APIs in order to accommodate the new event data objects. Ben Alman is in the process of writing up a large tutorial on jQuery’s special event system and we will be making additional announcements when that occurs.

Bug Fixes

There were a total of 40 tickets closed in this minor release. Some relating to differences between jQuery 1.3.2 and jQuery 1.4.x, some fixing long-standing issues (like in the case of the event module rewrite).

Raw Data

This is the raw data that we collected to generate the aforementioned charts.

	jQuery 1.3.2	jQuery 1.4.1	jQuery 1.4.2	Prototype 1.6.1	MooTools 1.2.4	Dojo 1.4.1	YUI 3.0.0
FF 3.5	2182	806	 565	 2156	 1073	 575	 1885
FF 3.6	1352	677	 519	 2067	 857	 750	 1494
Opera	983	697	 222	 793	 678	 218	 1201
Safari	610	435	 252	 315	 235	 238	 612
Chrome	1591	703	 293	 271	 312	 222	 745
IE 8	2470	1937	 1141	 3045	 4749	 1420	 2922
IE 7	4468	3470	 1705	 9863	 10034	 1737	 5830
IE 6	6517	4468	 2110	 13499	 11453	 2202	 7295

The Official jQuery Podcast – Episode 12 – Rey Bomb 1

Posted February 19th, 2010 by Ralph Whitbeck

The Official jQuery PodcastThis week Elijah Manor is attending the MVP Summit at Microsoft so Ralph Whitbeck sits down with fellow Developer Relation members Rey Bango, Cody Lindley and Karl Swedberg. Additionally, we had Doug Neiner of Fuel Your Coding on to talk about everything jQuery.

We discuss the reactions to 14 Days of jQuery, Pros and Cons of the new API site, jQuery UI as well as many other topics. We also answered a listener question.

You can subscribe to the show in iTunes or via the raw RSS feed or you can download the MP3.

Here are the show notes for this episode:

Read the rest of this entry »

The Official jQuery Podcast – Episode 11 – Yehuda Katz

Posted February 15th, 2010 by Ralph Whitbeck

The Official jQuery PodcastIn our final episode from the 14 Days of jQuery recordings in Washington, DC, Ralph and Elijah sat down with Yehuda Katz, core team member of the Rails and jQuery teams. We discuss the new hooks that are coming in Ruby on Rails that allow it to use jQuery natively.

Note: Since we’ve recorded this episode Ruby on Rails 3 Beta has been released.

You can subscribe to the show in iTunes or via the raw RSS feed or you can download the MP3.

Here are the show notes for this episode:

Read the rest of this entry »

The Official jQuery Podcast – Episode 10 – appendTo, LLC

Posted February 14th, 2010 by Ralph Whitbeck

The Official jQuery PodcastDuring the 14 Days of jQuery recordings, Elijah and Ralph sat down with appendTo cofounders Mike Hostetler and Jonathan Sharp. We discuss the company’s mission, services and client experiences.

appendTo, provides training, support and consulting services to programmers and end-user enterprises who adapt jQuery into their front-end web development strategies. We provide world-class service and superior knowledge of jQuery and its uses in creating superior customer experiences.

You can subscribe to the show in iTunes or via the raw RSS feed or you can download the MP3.

Here are the show notes for this episode:

Read the rest of this entry »

The Official jQuery Podcast – Episode 9 – David Artz, Aol.

Posted January 29th, 2010 by Ralph Whitbeck

The Official jQuery Podcast

In this prerecorded episode from Washington DC, we sit down with David Artz, Director of Website Optimization at Aol. David talks to us about the conviences and challenges of using jQuery at the enterprise level.

You can subscribe to the show in iTunes or via the raw RSS feed or you can download the MP3.

Here are the show notes for this episode:

Read the rest of this entry »

14 Days of jQuery Summary: Days 8-14, jQuery 1.4.1 Released

Posted January 29th, 2010 by Ralph Whitbeck

In case you’re not following along with the 14 days of jQuery, here’s a summary of what has been released for days 8-14.

Highlights

On Day 12, the jQuery team released jQuery 1.4.1, the first bug release to jQuery 1.4. jQuery 1.4.1 is now the latest release of jQuery; take a moment to review the 1.4.1 release notes.

On Day 13, the team announced the new jQuery Meetups site. We want to help foster local meetups and eventually try to provide more resources to your groups.

jQuery Meetups

On Day 14, the jQuery UI team released jQuery UI 1.8 Release Candidate 1. The team would love you to test and provide feedback with bugs or comments in the jQuery UI Development forum.

Full Recap

Day 8

  • The jQuery Project
  • jQuery.org

Day 9

  • jQuery Workshop Giveaway
  • jQuery Podcast Episode 8: api.jquery.com
  • jQuery 1.4 Hawtness #3, with Paul Irish
  • jQuery API Key Navigation

Day 10

  • jQuery 1.4 Hawtness #4, with Paul Irish

Day 11

  • Evented Programming with jQuery, Yehuda Katz
  • Behind the 14 Days of jQuery

Day 12

  • jQuery 1.4.1 Released
  • jQuery 1.4 Hawtness #5, with Paul Irish

Day 13

  • jQuery Meetups
  • jQuery 1.4 Hawtness #6, with Paul Irish
  • Paul Irish and Dave Methvin Join the jQuery Team

Day 14

  • jQuery UI 1.8rc1

Sponsors and Donations

Again, events like these are not possible without support from our great sponsors and from you, the jQuery Community. We’d like to thank everyone who has donated during this campaign. We received donations from 653 people, and we are truly grateful to all who contributed. If you missed the campaign, you can still let us know how much jQuery makes your life easier by sending a tax-deductible donation or by showing our sponsors some love for their support.

Netflix

Netflix, Inc. (NASDAQ: NFLX) is the world’s largest online movie rental service, with more than 11 million subscribers. For only $8.99 a month, Netflix members can instantly watch unlimited movies and TV episodes streamed to their TVs and computers and can receive unlimited DVDs delivered quickly to their homes.

JupiterIT

Jupiter provides expert web application development, support services, and training. Committed to open source, Jupiter collected its global experience delivering enterprise JavaScript applications and made it publically available as JavaScriptMVC.

appendTo

appendTo, the jQuery company, delivers industry-leading jQuery training and support services to the web development community and corporations worldwide. Leveraging the power of the Write Less, Do More JavaScript library and the vast experience of jQuery Team Members, appendTo is at the forefront of propelling the jQuery movement into the next generation of open source technology advancements

Oxide Design

Oxide Design Co. is a communications and information design firm. We specialize in corporate identity, brand strategy, packaging, print, and web site design. We clarify ideas to create effective design.

Fusionary

We are Fusionary, an award-winning web and interactive studio. We’ve been creating things online since 1995 and our clients love us.

The team hopes you enjoyed this online conference celebrating the 1.4 release of jQuery. We would love to hear your feedback. Please submit your feedback in this thread on the new jQuery Forum.

The Official jQuery Podcast – Episode 8 – api.jquery.com

Posted January 22nd, 2010 by Ralph Whitbeck

jQuery PodcastIn this episode we are at the Aol. headquarters in Washington DC filming video and releasing jQuery 1.4 for the 14 Days of jQuery. In this episode we talk with Karl Swedberg and Paul Irish about the new api.jquery.com documentation site.

You can subscribe to the show in iTunes via the raw RSS feed or you can download the MP3.

Here are the show notes for this episode:
Read the rest of this entry »

14 Days of jQuery Summary: Days 1 – 7

Posted January 20th, 2010 by Ralph Whitbeck

In case you’re not following along with the 14 days of jQuery, here’s a summary of what has been released thus far.

Pre Release Day 1

  • New jQuery API Site

Pre Release Day 2

  • jQuery 1.4rc1

Day 1

  • jQuery 1.4 Released
  • jQuery 1.4 Live Q&A

Day 2

  • HD version of jQuery 1.4 Q&A
  • Media Temple Giveaway
  • jQuery Podcast episode 7 with John Resig

Day 3

  • Internal Changes in jQuery 1.4, with John Resig

Day 4

  • Getting Involved in the jQuery Community, with Karl Swedberg

Day 5

  • appendTo Training Drawing
  • jQuery 1.4 Hawtness #1, with Paul Irish

Day 6

  • jQuery In The Enterprise

Day 7

  • New jQuery Forum
  • jQuery 1.4 Hawtness #2, with Paul Irish

We still have 7 more days of jQuery 1.4 to come with more video’s and more releases to announce.

Again, events like these are not possible without support from our great sponsors and from you, the jQuery Community. We’d like to thank everyone who has donated so far, and we’d like to remind everyone that you will receive a free ebook with the donation of $20 or more throughout the 14 Days of jQuery.

Media Template Giveaway

Each day during the 14 days of jQuery, a web developer will receive a free (gs) Grid-Service account for one year from the jQuery Project’s web hosting provider, Media Temple. A grand prize winner will receive a 13″ MacBook Pro!

In order to enter the contest, you must submit a link to your coolest use of jQuery. A winner will be chosen each day during the 14 Days of jQuery. The grand prize winner will be announced on Friday, January 29th.

Check the Media Template Giveaway webpage for more details about the contest and to see the announced daily winners. There are only 7 days left, so enter now!

Check out jQuery Enlightenment!

jQuery EnlightenmentjQuery team member Cody Lindley has published the jQuery Enlightenment book, and if you haven’t checked it out yet, you’ll definitely want to. “Each chapter contains concepts essential to becoming a seasoned jQuery developer,”‘” so even if you’ve already got your copy, pick one up for a friend who’s just learning! Even better, a percentage of all sales goes directly back to the jQuery project and helps fund future releases and projects. A big thank you to Cody for his generous donation for the 14 Days of jQuery campaign!