jQuery Dashboard Widget

Posted on by

jQuery Widget

Ryan Dunphey has just released a brand new jQuery Dashboard Widget that you can use to browse the jQuery API, even when you’re not connected to the Internet. You can download the, sharply designed, widget from jQuery SVN.

If you’re interested in doing some dashboard development (and especially widget development using jQuery), you can learn from this widget, as the full source code of it is in the jQuery SVN repository.

This fantastic work (and the subsequent open source release of the widget) was sponsored by Ryan’s employer, Medallia. Incidentally, if you’re interested in getting paid to do some jQuery coding, Medallia has a Front-End Developer position open.

Servers, servers, and donations

Posted on by

The jQuery services are mostly back to normal now, John has since moved the jQuery SVN to Google Code and is working to move the remaining mailing lists to Google Groups. So, the most important parts have weathered the recent server move, no problem.

Of course, moving providers when a dedicated server is required usually brings with it a significant investment of capital. With that, we wanted to thank the jQuery community for springing to life and donating generously to help with the transition. In fact, the donations completely cover the initial cost of the new server.

Obviously, we don’t really push for donations around here, so it’s great to see so many lend a helping hand. Thank you all.

And now for some extra-good news!

MT hearts jQuery

Media Temple has stepped up to donate a great hosting package, to jQuery, complete with the industry-recognized support reputation preceding them. We anticipate being fully up-and-running on their hardware in the coming months, and welcome this new partnership and the benefits it will bring the jQuery community.

Help Test jQuery 1.1.3

Posted on by

A test build of the upcoming 1.1.3 release is ready for everyone to try. We need to be super-sure that there haven’t been any regressions in this release, and in order to do that we’d like you to download this alpha release and try it in place of jQuery 1.1.2 (wherever you may be using it).

Download the test release:

Here’s what you can do to help:

  1. Download the test release of jQuery 1.1.3
  2. Temporarily replace your copy of jQuery 1.1.2 with this test release in some of your web pages
  3. If something is now broken, please submit a ticket letting us know what happened. The more specific you can be, the better (demos or test cases are highly desired).

Note Pay special attention to Events, Selectors, and Animations; significant changes happened in all three of those areas, so if there’s any place where a regression is possible, it would be more likely to occur in there.

Once we’re confident that there’s no new bugs, we’ll be releasing jQuery 1.1.3 fully (hopefully some time this week).

jQuery Session at RailsConf

Posted on by

RailsConf 2007

I’m happy to announce that my proposal for a Birds of a Feather session about “jQuery on Rails” at RailsConf has been accepted!

If you’re at RailsConf, please come by room c125 on Thursday night at 9:30pm and join in the discussion. I’ll be chatting about my ongoing work on jQuery on Rails, and should have some code to demo if anyone would be interested.

If you’re interested in hearing about how others have solved problems regarding the integration of jQuery with Rails, or just want to share something cool you’ve done, swing on by. See you there!

More Details

Yehuda has just posted more details on how jQuery on Rails works:

Since I last publicly discussed jQuery on Rails, I’ve gone down a lot of avenues, and written a lot of code, and came to some conclusions:

  • jQuery and Unobtrusive JavaScript are fundamentally incompatible with an attempt to describe behavior inside markup, as Rails does via “JavaScript helpers.”
  • Attempts to fix the problem, specifically UJS for Rails, still require that you include your JS behaviors in your views, which are then marshalled into JavaScript files on the fly (and cached as appropriate). If you wanted to include the same JS behavior in multiple pages, you’d need to create custom helpers and call out to them.
  • jQuery is already the perfect mechanism for unobtrusive JavaScript, baked right into the library
  • The biggest problem faced by jQuery developers is not simplicity (which, again, you get for free in the library), but difficulty in including the correct jQuery “modules” in the Rails views that require them.

The most common problem with using jQuery with Rails in an app of moderate or higher complexity is the trade-off between including everything in a single application.js (which can lead to serious slowdowns in larger apps) and having multiple, modular files (which are a serious pain to include correctly as needed).

This is a problem for jQuery users who want to use Rails more than Rails users who are used to Prototype helpers and want to be able to use the jQuery library as a drop-in replacement. In the first release of jQuery on Rails, I will be targeting jQuery developers who want to work with Rails. In other words, jQuery on Rails is for you if you know jQuery or are willing to use jQuery.

This release of jQuery is not for you if you don’t want to learn jQuery, and want to program purely in Ruby. There will be a future release that will include some features for pure-Ruby developers, but I maintain that Unobtrusive JavaScript is fundamentally incompatible with that mode of thinking.

With all that said, what does jQuery on Rails actually do?

First up, it’s a Rails plugin, which you activate by adding <%= include_jquery %> in your application.rhtml. When your server is started, it’ll parse all of your JavaScript files, and identify selectors in those files. When include_jquery is called in your layout, it’ll get the rendered HTML and use Hpricot (which shares syntax with jQuery) to determine whether any instances of the selectors identified on server startup are present.

The JavaScript files that have selectors that are also present in your HTML will be loaded, and run as expected.

So in short:

  • Create your JavaScript files, using selectors as usual
  • Use include_jquery in your layout
  • You’re done

Fisheye Dock Menu

Posted on by

Fisheye Dock Menu

With a little bit of nice theming, the Fisheye component from Interface has been adapted to build a beautiful “CSS dock menu“. It’s currently making all the rounds on design blogs and on Digg.

Some more information about what this menu was designed for can be found on the developer’s site:

If you are a big Mac fan, you will love this CSS dock menu that I designed. It is using jQuery JavaScript library and Fisheye component from Interface and some of my icons. It comes with two dock styles – top and bottom. This CSS dock menu is perfect to add on to my WordPress iTheme. Here I will show you how to implement it to your web page.