Thursday, October 11, 2012

jQueryUI 1.9.0 has been released

jQueryUI Logo
On Monday, October 8th, the fine folks responsible for the jQueryUI project made public release 1.9.0.  This release brings us several API redesigns, better accessibility compliance, and several exciting new widgets.  (original post)

These new widgets are what excite me the most about the new 1.9.0 release.  I'm especially excited by the Menu widget which I've been eagerly waiting to become "real."  True, the 1.8 series included the Menu widget, but it was hidden and, well, I just didn't feel comfortable developing with it yet.  But now, it's gone gold and is ready to rock.

Additional new widgets include Tooltips and Spinners.



jQueryUI's New Widgets


jQueryUI's Menu Widget

In my opinion, the jQuery's new Menu widget is the highlight of the release.  Previously, we've had Tabs and Buttons and Accordians and those were great tools for organizing content in meaningful, useful, and intuitive ways.  However, I found that developing quality user interfaces became challenging without a quality menu-like tool; often times, the results were suboptimal and not very intuitive.  What I really wanted was a Menu.  Now I have it.

I also acknowledge that there are plugins out there for jQuery and other Free / Open-Source Software JavaScript libraries that produce some pretty slick menus.  I've even used some of them.  I've even liked some of them.  However, invariably, something always bites me in the backside and brings me back to jQuery and jQueryUI when I tend to wander astray.  Often times, it's a lack of documentation.  It's incredibly difficult for me to take seriously a tool (including libraries, programs, APIs, etc.) that comes with poor (or non-existent) documentation.  With clear, easy-to-understand docs like those of jQueryUI, I'm pulled back in by a subtle siren song of being-done-right-goodness.  Demos are nice too, but they're no substitute for good documentation.

jQueryUI Menubars

The new release -- 1.9.0 -- includes a Menu widget, but not Menubar widgets yet.  The roadmap (link) suggests that jQueryUI 1.10 may include Menubar support.  I really hope this happens and I hope it happens soon.  I've been waiting for years for this functionality.

jQueryUI's Spinner Widget

I'm not really as hyper about the Spinner as I am about menus.  That's not to say that Spinners aren't great -- they are -- or that they're poorly done -- they're not..  It's just that I don't use Spinners or the kinds of data entry elements (form elements that involve entry of numeric data) as often as I do menus.

I do find Spinners to be extremely useful when you want to help restrict numeric input to a certain range.  For example, if I know that I have 10 fingers, the number of fingers that I'm holding is always between 0 and 10, inclusive.  As a result, I would feel inclined to design an input field that only allowed responses between 0 and 10, inclusive.  Now, there have been ways to detect out-of-range values since the dawn of time, but my preference is to make those boundaries easy to understand and work with without having to throw error messages.  Spinners help me do this easily and intuitively.

jQueryUI's Tooltip Widget

The Tooltip widget is another slick tool that helps build easy to use interfaces.  Generally, I find it appropriate to open a popup window (also known as a Dialog in jQueryUI terms) when the user clicks on a little question mark-type icon somewhere near the field of the field label in question.  The popup (Dialog) would have a line or two of text and/or maybe a simple graphic that would nudge the user in the direction of what I -- the interface designer -- had intended.

Tooltip-like functionality was possible using Dialog widgets before, but now Tooltips are done properly with this new widget.  Combining a Dialog (for more in-depth help) with a Tooltip (for sentence fragment-length help) can better help the interface designer communicate with the user.

jQueryUI API Redesign

Several APIs were redesigned so as to be more similar to other APIs already present in jQueryUI; these include the interfaces for the Accordion widget, the Tabs widget, and the Position utility.

Overall Impressions

I think this is a very solid release with some great new tools that should help simplify and beautify web application user interface design.

Head on over to jQueryUI site (link) and download a copy (link) today.  Also, several CDNs (Content Delivery Networks) have picked up jQueryUI 1.9.0 and have it available for use without your having to install a separate copy.



--

Wes Dean, a Google Apps Certified Deployment Specialist and a Google Apps Trusted Tester, is Principal of KDA Web Technologies, a Google Apps Authorized Reseller.  To learn how Wes and KDA Web Technologies can help you, go to http://www.kdaweb.com/.